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"