我有一个超过500个缺少XML注释警告的项目。我知道我可以删除XML注释特性,或者将空注释片段粘贴到任何地方,但是我更喜欢一种通用的解决方案,即只做一个更改就可以禁用所有此类警告。
我刚才做的是放
///<Summary>
///
///</Summary>
or
#pragma warning disable 1591
我只是好奇有没有可能。
我有一个超过500个缺少XML注释警告的项目。我知道我可以删除XML注释特性,或者将空注释片段粘贴到任何地方,但是我更喜欢一种通用的解决方案,即只做一个更改就可以禁用所有此类警告。
我刚才做的是放
///<Summary>
///
///</Summary>
or
#pragma warning disable 1591
我只是好奇有没有可能。
当前回答
这本来是一个评论,但我不能让它符合限制:
我希望只在Reference.cs和WebService导入时禁用它们。实际上,我用宏来处理文件。只需打开文件并执行这个宏(在VS2010中测试):
Sub PragmaWarningDisableForOpenFile()
DTE.ActiveDocument.Selection.StartOfDocument()
DTE.ActiveDocument.Selection.NewLine()
DTE.ActiveDocument.Selection.LineUp()
DTE.ActiveDocument.Selection.Insert("#pragma warning disable 1591")
DTE.ActiveDocument.Selection.EndOfDocument()
DTE.ActiveDocument.Selection.NewLine()
DTE.ActiveDocument.Selection.Insert("#pragma warning restore 1591")
DTE.ActiveDocument.Save()
End Sub
真的没有办法自动做到吗?每次自动生成的代码覆盖该文件时,您都必须重新执行此操作。
其他回答
您可以使用.editorconfig文件在每个文件的基础上选择性地禁用此功能-例如,如果您有一个特定的源文件(或多个文件),您可以使用如下内容:
# single file
[IgnoreThisFile.cs]
dotnet_diagnostic.CS1591.severity = none
# multiple files, matching on specific naming convention
[*{Type,Stuff,Things}.cs]
dotnet_diagnostic.CS1591.severity = none
请注意,我在持续管理此警告方面有复杂的经验,但在VS2022的当前版本(17.4.4+)中,它似乎仍然存在。确保.editorconfig在文件夹结构中处于足够“高”的级别,以便适用于所有源文件(或者,根据需要在特定的文件夹级别上使用多个文件)。
如上所述,总的来说,我认为这些警告不应该被忽视(压制)。总而言之,绕过警告的方法是:
通过改变项目属性来抑制警告>构建>错误和警告>输入1591来抑制警告 添加XML文档标记(GhostDoc非常方便) 通过编译器选项抑制警告 取消选中项目属性>生成>输出中的“XML文档文件”复选框 在各自文件的顶部添加#pragma warning disable 1591,在底部添加#pragma warning restore 1591
禁用警告: 转到项目属性(右键单击项目并从上下文菜单中选择属性) 转到Build选项卡
在“抑制警告”文本框中添加1591
Visual Studio 2022:
我建议使用Visual Studio中的.editorconfig文件在所有解决方案中设置一个通用的代码风格。
在这种情况下,只需手动将以下代码添加到.editorconfig文件:
# SA0001: XML comment analysis is disabled due to project configuration
dotnet_diagnostic.SA0001.severity = none
注意:对我来说,从编辑器配置设计器中抑制SA0001不起作用。
文件中只能手动设置规则。
您还可以修改项目的.csproj文件,在第一个<PropertyGroup>中包含一个<noWarn>1591</noWarn>标记。 原选自Alexandru Bucur的文章
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>1591</NoWarn>
</PropertyGroup>
...
</Project>