你们中有人知道我可以为整个解决方案抑制例如 CA2000 的方法吗?
我正在考虑类似于GlobalSuppressions
具有以下代码行的类:
[assembly: SuppressMessage("Microsoft.Reliability", "CA2000:DisposeObjectsBeforeLosingScope")]
提前感谢您的帮助。
你们中有人知道我可以为整个解决方案抑制例如 CA2000 的方法吗?
我正在考虑类似于GlobalSuppressions
具有以下代码行的类:
[assembly: SuppressMessage("Microsoft.Reliability", "CA2000:DisposeObjectsBeforeLosingScope")]
提前感谢您的帮助。
全局抑制可以在.editorconfig 文件中配置。
root = true
在第一行添加[*.{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
最好的方法是创建一个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>
如果有人偶然发现这一点,可以创建一个全局抑制文件(例如:GlobalSuppressions.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 ://docs.microsoft.com/en-us/visualstudio/code-quality/in-source-suppression-overview?view=vs-2022#suppress-violations-using -a-global-suppression-file