我知道MSBuild 工具集 (ToolsVersion)的工作原理和方式,但不明白如果从项目文件或 CLI 更改/使用更低或更高的 ToolVersion 会对我们的项目产生什么影响。
需要知道利弊请...
我知道MSBuild 工具集 (ToolsVersion)的工作原理和方式,但不明白如果从项目文件或 CLI 更改/使用更低或更高的 ToolVersion 会对我们的项目产生什么影响。
需要知道利弊请...
在我们的 .net 项目中更改 MSBuild 工具集 (ToolsVersion) 的缺点是什么?
据我所知,ToolsVersion
指定特定版本的构建机制,实际上,这意味着使用不同版本的 MSBuild 构建项目。请参阅此链接。
如:
VS2019(MSBuild 16.0)ToolsVersion=Current
:,VS2017(MSBuild 15.0)ToolsVersion=15.0
:,VS2015(MSBuild 14.0) :, VS2013 ToolsVersion=14.0
:。ToolsVersion=12.0
但是,每个新版本的 MSBuild 都会有一些新功能和一些可以在proj
文件中使用的特殊任务。因此,MSBuild 支持向下兼容,高版本的 MSBuild 支持编译使用低版本 VS 创建的项目,以及之前低版本的新功能。
例如,如果你在 VS2015 中创建一个新项目,你可以使用 ToolsVersion 14.0
,15.0
并且Current
没有任何错误。
如果您使用较低的 ToolsVersion 来构建您的项目,它会变成一些错误,例如Could not find the assembly reference xxxxxxx
或缺少 DLL 方法。
因此,我们建议您使用ToolsVersion
高于当前项目版本的(MSBuild)而不是低于当前项目版本的MSBuild。而如果你当前的项目没有任何特殊的版本方法或特性,使用低版本也没有问题,但一般不建议这样做。并且使用最新版本的 MSBuild 来构建你的项目,它可能会有性能优化和提升。
希望它可以帮助你。