MSBuild - 将来自 editorconfig 的警告视为错误在构建期间强制执行

问题描述

我为我的项目设置了一个 editorconfig 文件,它在我的 IDE 中完美运行并抛出正确的警告。示例:IDE0052(未使用的变量)和 IDE0055(格式错误)。

但是,我想在构建期间将我的 editorconfig 中的警告强制执行为错误,以便它失败。有没有办法做到这一点?在 csproj 中将属性“MSBuildTreatWarningsAsErrors”或“TreatWarningsAsErrors”设置为 true 没有做任何事情。

谢谢!

解决方法

我认为你需要做两件事才能完成这项工作。

首先,在您的 .csproj 文件中设置以下内容:

<PropertyGroup>
    <EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
</PropertyGroup>

其次,在你的 .editorconfig 文件中,在构建时使用以下格式设置严重级别

dotnet_diagnostic.IDE0052.severity = error

如果没有第一部分,我只能在构建中生成错误,但这不会导致构建失败(奇怪的是)。

此测试使用 VS 2019 v16.8.4

查看此资源以获取更多信息code-analysis-overview