I believe that you are mixing .NET versions.
System.Windows.Threading.Dispatcher has one argument overload of the Invoke method in .NET 4.5. In .NET 4.0 or later, all available overloads take two or more arguments, which then exit the system and give an error message.
Therefore, I assume that the executed devenv is VS2012 beta, while msbuild is something more conditional.
You should be able to resolve the mismatch by adjusting the Path environment variable.
source share