c# - 是否可以使编译器警告报告在不同版本的 MS 构建引擎之间保持一致?
问题描述
我有一个针对 .NET Core 3.1 的 C# 项目,我在其中解决了所有编译器警告并设置TreatWarningsAsErrors
为true
. 它可以从 Visual Studio 和命令行构建得很好。
但是,构建服务器上的构建失败并将警告之一报告为错误:CS8625。我能发现的唯一区别是 MS 构建引擎的版本:
- 16.8.3本地
- 16.7.2在构建服务器上
我未能在发行说明中找到明确的信息,但我的直觉是,提到的版本之间的变化是这种行为的根本原因。
显然,我可以禁用文件中提到的警告.editorconfig
,并且不会在本地和构建服务器上报告它,但我希望它以相反的方式运行。
是否可以设置始终报告警告的方式而忽略构建引擎版本?
解决方案
它也可能是 Roslyn 的一个版本,与 MSBuild 无关。MSBuild 和 Roslyn 都发展迅速,因此很难期望它们的行为在所有版本中都是相同的。您可以临时修复或忽略该警告,以便您的 CI 通过,直到它更新到较新的 MSBuild。
推荐阅读
- beacon - 如何进行 Beacon 配对蓝牙
- javascript - 如何通过控制器在模块中正确添加视图值?
- python - 每次调用 next() 时如何用 python 返回多行?
- android - 如何将位图传输到另一个活动?
- highcharts - 如何在 Highcharts 中显示表格数据中的两个特定数据点?
- c++ - C++17:元组解包时只保留一些成员
- jpa - Spring Data:何时使用 Projection 接口和 DTO 投影?
- c# - swaggerui 返回可用选项列表
- javascript - 在 Javascript 中将 2 年添加到当前日期
- gcloud - 沉默`gcloud auth activate-service-account`