我正在尝试将我的开发环境复制到我的构建服务器中,以便调试仅在构建服务器中发生的错误。使用位于C:\ Program Files(x86)\ MSBuild中的msbuild编译相同的解决方案两台机器上的\ 14.0 \ Bin \ MSBuild.exe。
在开发机器中,解决方案在构建服务器中成功编译时失败。
从msbuild读取输出我注意到在两台机器中,构建都是使用不同版本的Microsoft构建引擎完成的
dev machine:14.0.25420.1
构建服务器:14.0.23107.0
为了排除此错误与版本有关 我试图将msbuild从开发机器传递到构建服务器并在那里运行它,然后输出构建服务器版本。
同一个msbuild如何在不同的机器上产生不同的版本?
如何更新构建引擎?
答案 0 :(得分:0)
同一个msbuild如何在不同的机器上产生不同的版本?
根据官方博客MSBuild is now part of Visual Studio!:
从Visual Studio 2013开始,2013版MSBuild将会 作为Visual Studio的一部分而不是.NET Framework。
所以此时,MSBuild.exe拥有相同版本的Visual Studio 2015,您可以查看Visual Studio 2015的版本:
因此,请将构建服务器上的Visual Studio版本更新为具有相同版本的MSBuild.exe。
评论更新:
是否可以在不安装visual studio的情况下更新msbuild?
答案是肯定的,您可以下载Microsoft Build Tools 2015,安装它以更新msbuild.exe而无需安装Visual Studio。
有关详细信息,请参阅文档MSBuild is now part of Visual Studio!:
新Microsoft®BuildTools软件包
MSBuild现在是Visual Studio的一个组件,将随附所有 Visual Studio的SKU,包括团队构建,如果您使用Visual Studio应涵盖所有构建需求。我们理解这一点 您可能想要使用MSBuild的原因有很多 和其他构建工具,而不需要安装Visual Studio,所以我们 正在将这些工具作为一个名为的新独立包提供 Microsoft®构建工具。该软件包包括MSBuild和VB / C# 编译器。可以在MSDN下载中获取新包 中心。
这个独立的软件包非常适合需要很好的构建服务器 谷物控制他们的构建过程。有了这种新方法 不断发展的MSBuild,你可以更好地控制构建行为 不受.NET Framework版本的影响。
希望这有帮助。