【问题标题】:MSBuild - Treat Warnings from editorconfig as Errors (enforce during build)MSBuild - 将来自 editorconfig 的警告视为错误(在构建期间强制执行)
【发布时间】:2021-06-02 20:28:02
【问题描述】:

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

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

谢谢!

【问题讨论】:

    标签: c# msbuild coding-style editorconfig unused-variables


    【解决方案1】:

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

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

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

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

    dotnet_diagnostic.IDE0052.severity = error
    

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

    此测试使用 VS 2019 v16.8.4 运行

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

    【讨论】:

    • 感谢您的回答!根据资源,它只能从 .NET 5 开始工作。
    • 您使用的是哪个 .net 版本?
    • 4.8.我已经要求项目负责人更新,这将是一个时间问题。
    • 我试过 dotnet_diagnostic.IDE0003.severity = error 但它似乎不起作用
    • 您可以使用dotnet_analyzer_diagnostic.severity = default 让 msbuild 模仿默认的 VS 严重性,而不必显式设置它们。 (不知道为什么需要它。)
    猜你喜欢
    • 2013-03-11
    • 1970-01-01
    • 2016-09-25
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-27
    相关资源
    最近更新 更多