整个解决方案 (C#) 的全局抑制



你们中是否有人知道我能够抑制的方法,例如CA2000的整个解决方案?

我正在考虑类似于具有以下代码行的GlobalSuppressions类:

[assembly: SuppressMessage("Microsoft.Reliability", "CA2000:DisposeObjectsBeforeLosingScope")]

提前感谢您的帮助。

全局抑制可以在 .editorconfig 文件中配置。

  1. 在解决方案的根文件夹中创建一个名为 .editorconfig 的文件
  2. 在文本编辑器中打开
  3. 在第一行添加root = true
  4. 在该行下方添加要禁用的规则
    [*.{cs,vb}]
    dotnet_diagnostic.<Rule_Code>.severity=silent
    

下面是一个示例 .editorconfig 文件

root = true
[*.{cs,vb}]
dotnet_diagnostic.CA2000.severity=silent
[*.{cs,vb}]
dotnet_diagnostic.MA0004.severity=silent    # Even works with 3rd part rules/analyser 

如果有人偶然发现这一点,可以创建一个全局抑制文件(例如:全局抑制.cs(,将其"作为链接"添加到您需要的每个项目中。它应该包含如下行:[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Reliability", "CA2007:Consider calling ConfigureAwait on the awaited task", Justification = "ASP.NET Core doesn't use thread context to store request context.", Scope = "module")]有关更多详细信息,请参阅:https://learn.microsoft.com/en-us/visualstudio/code-quality/in-source-suppression-overview?view=vs-2022#suppress-violations-using-a-global-suppression-file<</p>

div class="one_answers"> 执行此操作

的最佳方法是创建一个Directory.Build.props文件,该文件将自动包含在子文件夹中的所有项目中。然后将以下内容添加到文件中:

<?xml version="1.0" encoding="utf-8" ?>
<Project>
  <!-- This file will be automatically included in all projects because of its name -->
  <PropertyGroup>
    <NoWarn>CA2000</NoWarn>
  </PropertyGroup>
</Project>

相关内容

  • 没有找到相关文章

最新更新