是否可以使编译器警告报告在不同版本的 MS 构建引擎之间保持一致?
Is it possible to make the compiler warnings reporting consistent between different versions of MS build engine?
我有一个针对 .NET Core 3.1 的 C# 项目,我在其中解决了所有编译器警告并将 TreatWarningsAsErrors
设置为 true
。它从 Visual Studio 和命令行构建得很好。
但是,构建服务器上的构建失败并将警告之一报告为错误:CS8625。我能发现的唯一区别是 MS 构建引擎的版本:
- 16.8.3本地
- 16.7.2 在构建服务器上
我未能在发行说明中找到明确的信息,但我的直觉是,上述版本之间的变化是造成此类行为的根本原因。
显然,我可以在 .editorconfig
文件中禁用提到的警告,它不会在本地和构建服务器上报告,但我更希望它以相反的方式运行。
是否可以在不考虑构建引擎版本的情况下设置警告的报告方式?
它也可能是 Roslyn 的一个版本,与 MSBuild 无关。 MSBuild 和 Roslyn 都在迅速发展,因此很难期望它们的行为在所有版本中都相同。您可以暂时修复或忽略该警告,以便您的 CI 通过,直到它更新到更新的 MSBuild。
我有一个针对 .NET Core 3.1 的 C# 项目,我在其中解决了所有编译器警告并将 TreatWarningsAsErrors
设置为 true
。它从 Visual Studio 和命令行构建得很好。
但是,构建服务器上的构建失败并将警告之一报告为错误:CS8625。我能发现的唯一区别是 MS 构建引擎的版本:
- 16.8.3本地
- 16.7.2 在构建服务器上
我未能在发行说明中找到明确的信息,但我的直觉是,上述版本之间的变化是造成此类行为的根本原因。
显然,我可以在 .editorconfig
文件中禁用提到的警告,它不会在本地和构建服务器上报告,但我更希望它以相反的方式运行。
是否可以在不考虑构建引擎版本的情况下设置警告的报告方式?
它也可能是 Roslyn 的一个版本,与 MSBuild 无关。 MSBuild 和 Roslyn 都在迅速发展,因此很难期望它们的行为在所有版本中都相同。您可以暂时修复或忽略该警告,以便您的 CI 通过,直到它更新到更新的 MSBuild。