我有很多开发人员正在使用Visual Studio 2012,并且我想在两个阶段将它们升级到2015。首先升级到Visual Studio 2015,然后升级到新的MSBuild(编译器)工具集。这很重要,因为我希望在Visual Studio中构建使用与构建脚本中的构建相同的工具集,构建脚本可在开发人员计算机上使用并由构建服务器使用。我想避免选择一天,并告诉每个开发人员安装Visual Studio 2015,同时将更改集推送到我们的存储库/分支以一次更新构建脚本。通过Visual Studio 2015与Visual Studio 2012工具编译
根据我的理解,项目文件中的Project element的ToolsVersion attribute驱动MSBuild版本之间的区别。但是,在Visual Studio 2015中使用ToolsVersion = 4.0构建项目时,我收到以下消息:
使用工具版本“14.0”进行构建。工程文件包含 ToolsVersion =“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工具集?如果是这样,怎么样?构建警告中提到的“政策原因”是什么?