fhn*_*eer 6 c# code-analysis visual-studio roslyn roslyn-code-analysis
我的项目中有以下命名空间。
我想禁用特定命名空间上的特定警告(比如 Project.ViewModels)。我可以通过在GlobalSuppression.cs
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Formatting", "RCS1057:Add empty line between declarations.", Justification = "<Pending>", Scope = "type", Target = "~T:Project.ViewModels.MainViewModel.cs")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Formatting", "RCS1057:Add empty line between declarations.", Justification = "<Pending>", Scope = "type", Target = "~T:Project.ViewModels.TreeViewModel.cs")]
Run Code Online (Sandbox Code Playgroud)
我试图Scope
从type
改为namespace
,namespaceanddescendants
但没有奏效。
[assembly: SuppressMessage("Formatting", "RCS1057:Add empty line between declarations.", Justification = "<Pending>", Scope = "namespace", Target = "~T:Project.ViewModels")]
Run Code Online (Sandbox Code Playgroud)
知道如何解决这个问题吗?我正在使用 Visual Studio 2017。
您不应该使用~T:
for 命名空间,这似乎仅适用于类型。对于使用示例,您可以在此处查看 .NET Core 代码中的命名空间未使用它的情况。此外,仅来自文档 namespace
:
禁止针对命名空间本身发出警告。它不会抑制针对命名空间内类型的警告,如下所示:
根据您的文件层次结构,您可能希望使用namespaceanddescendants
如下所示的方法:
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Formatting", "RCS1057:Add empty line between declarations.", Justification = "<Pending>", Scope = "namespaceanddescendants", Target = "Project.ViewModels")]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2172 次 |
最近记录: |