首页 > 解决方案 > 是否可以使编译器警告报告在不同版本的 MS 构建引擎之间保持一致?

问题描述

我有一个针对 .NET Core 3.1 的 C# 项目,我在其中解决了所有编译器警告并设置TreatWarningsAsErrorstrue. 它可以从 Visual Studio 和命令行构建得很好。

但是,构建服务器上的构建失败并将警告之一报告为错误:CS8625。我能发现的唯一区别是 MS 构建引擎的版本:

我未能在发行说明中找到明确的信息,但我的直觉是,提到的版本之间的变化是这种行为的根本原因。

显然,我可以禁用文件中提到的警告.editorconfig,并且不会在本地和构建服务器上报告它,但我希望它以相反的方式运行。

是否可以设置始终报告警告的方式而忽略构建引擎版本?

标签: c#visual-studiomsbuildroslyncompiler-warnings

解决方案


它也可能是 Roslyn 的一个版本,与 MSBuild 无关。MSBuild 和 Roslyn 都发展迅速,因此很难期望它们的行为在所有版本中都是相同的。您可以临时修复或忽略该警告,以便您的 CI 通过,直到它更新到较新的 MSBuild。

请参阅此处的示例:https ://github.com/dotnet/roslyn/issues/39906


推荐阅读