How do I pass an equal sign when calling a batch script in Powershell?
I've seen this before and have found a way to trick it out. I wish I could explain what's going on in particular with the '=' but I cannot. In your situation I'm fairly certain the following will work if you want to pass properties to msbuild:
build App Target '"/p:Property=Value"'
When echoed, this produces the following:
msbuild.exe App.msbuild /t:Target "/p:Property=Value"
With PowerShell 3 you can use --% to stop the normal parsing powershell does.
build --% App Target "/p:Property=Value"