我知道 MSBuild工具集(ToolsVersion)是什么以及如何工作,但不了解如果更改/使用项目文件或CLI中较低或较高的ToolVersion对我们的项目有什么影响。
Need to know the pro and cons Please...
最佳答案
what are the drawbacks of changing the MSBuild Toolset (ToolsVersion) in our .net projects?
据我所知,
ToolsVersion
指定了特定版本的生成机制,实际上,这意味着使用不同版本的MSBuild构建项目。参见this link。,例如:
VS2019(MSBuild 16.0):
ToolsVersion=Current
,VS2017(MSBuild 15.0):ToolsVersion=15.0
,VS2015(MSBuild 14.0):ToolsVersion=14.0
,VS2013: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来构建您的项目,它可能会对性能进行优化和改进。希望它能对您有所帮助。
关于c# - 在我们的.net项目中更改MSBuild工具集(ToolsVersion)有什么缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61276603/