【发布时间】:2015-12-13 17:49:28
【问题描述】:
我有很多开发人员目前使用 Visual Studio 2012,我想分两个阶段将他们升级到 2015。首先升级到 Visual Studio 2015,然后升级到新的 MSBuild(编译器)工具集。这很重要,因为我希望 Visual Studio 中的构建使用与构建脚本中的构建相同的工具集,这些工具集可在开发人员机器上使用并由构建服务器使用。我想避免选择一天并告诉每个开发人员安装 Visual Studio 2015,同时将变更集推送到我们的存储库/分支以一次更新构建脚本。
据我了解,项目文件中Project element 的ToolsVersion attribute 驱动了MSBuild 版本之间的区别。但是,在 Visual Studio 2015 中使用 ToolsVersion=4.0 构建项目时,我收到以下消息:
使用“14.0”版工具构建。
项目文件包含 工具版本=“4.0”。该工具集可能未知或缺失,其中 如果您可以通过安装适当的 MSBuild 的版本,或者构建可能已被强制到特定的 ToolsVersion 出于政策原因。像对待项目一样对待项目 工具版本="14.0"。欲了解更多信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=293424.
除此之外,我可以跟踪构建输出,看到它实际上是使用 Visual Studio 2015 工具集来编译代码。我知道“4.0”工具集没有丢失(我安装了 Visual Studio 2012,以及包含该版本的 MSBuild 的 .NET Framework 版本),所以我假设 Visual Studio 2015 找不到它,或者那里是我不明白的“政策原因”。
根据Standard and Custom Toolset Configurations 的 MSDN 页面,MSBuild 12.0 (Visual Studio 2013) 包括 4.0 工具集。但是我找不到有关 MSBuild 14.0 (Visual Studio 2015) 的任何信息。
是否可以在 Visual Studio 2015 中构建,但使用 Visual Studio 2012 工具集?如果是这样,怎么做?构建警告中提到的“政策原因”是什么?
【问题讨论】:
标签: visual-studio-2012 msbuild visual-studio-2015