0

我知道MSBuild 工具集 (ToolsVersion)的工作原理和方式,但不明白如果从项目文件或 CLI 更改/使用更低或更高的 ToolVersion 会对我们的项目产生什么影响。

需要知道利弊请...

4

1 回答 1

1

在我们的 .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.015.0并且Current没有任何错误。

如果您使用较低的 ToolsVersion 来构建您的项目,它会变成一些错误,例如Could not find the assembly reference xxxxxxx或缺少 DLL 方法。

因此,我们建议您使用ToolsVersion高于当前项目版本的(MSBuild)而不是低于当前项目版本的MSBuild。而如果你当前的项目没有任何特殊的版本方法或特性,使用低版本也没有问题,但一般不建议这样做。并且使用最新版本的 MSBuild 来构建你的项目,它可能会有性能优化和提升。

希望它可以帮助你。

于 2020-04-20T09:50:08.760 回答