在Project.Build的程序中使用2013 msbuild

时间:2013-11-20 13:57:41

标签: c# msbuild visual-studio-2013

我们的测试使用Microsoft.Build.Evaluation.Project.Build来构建项目。

适用于VS 2010&麻烦在VS 2013中,它从

中获取msbuild
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe

ver 4.0.30319.18408

而非VS 2013

C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe

ver 12.0.21005.1

有没有办法要求它拿起VS 2013 msbuild? 可能在调用构建方法之前添加到.proj文件或设置环境值吗?

2 个答案:

答案 0 :(得分:3)

MSBuild及其工具集现在使用Visual Studio版本

我们计划从现在开始使用每个版本的Visual Studio改进我们的构建工具。每个版本的Micrsoft®BuildTools都将推出新版本的MSBuild,VB / C#编译器和工具集。他们将一起版本。 Visual Studio将独占使用其相应版本的MSBuild。例如,Visual Studio 2013将专门使用MSBuild 2013和ToolsVersion =“12.0”。为了与Visual Studio的版本控制保持一致,我们还将MSBuild的汇编版本从4.0升级到12.0。

还有一个指向visual studio团队页面的链接,还有一些其他默认值可供检查

http://blogs.msdn.com/b/visualstudio/archive/2013/07/24/msbuild-is-now-part-of-visual-studio.aspx

然而4.0和版本12是相同的;重新版本以支持visual studio版本号格式

答案 1 :(得分:0)

从:

http://en.wikipedia.org/wiki/.NET_Framework_version_history#.NET_Framework_4.5

// //引用 .NET Framework 4.5于2012年8月15日发布。[27]此版本中添加了一组新的或改进的功能。[28] .NET Framework 4.5仅在Windows Vista或更高版本上受支持。[29] [30] .NET Framework 4.5使用公共语言运行时4.0,以及一些额外的运行时功能。[31] //结束报价

由于4.5是对4.0库的“升级”.......“C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \”是我希望它能找到它的MsBuild版本的地方。可执行程序。

MSBuild.Exe(你列出的)是不同的吗?

您可以尝试覆盖

 <Message Text=" MSBuildBinPath  = $(MSBuildBinPath)" /> 

属性。