如何抑制StyleCop警告SA1649

本文关键字:SA1649 警告 StyleCop 何抑制 | 更新日期: 2023-09-27 17:58:01

我正试图抑制StyleCop中SA1649错误的两次出现。

根据文件,抑制属性看起来像下面的属性

[SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1649:FileHeaderFileNameDocumentationMustMatchTypeName", Justification = "Reviewed.")]

然而,我不知道应该将属性应用到哪个元素。如果我将属性放在文件的第一个元素(IClassFactory接口)上,我会得到以下错误:

SA1649:C竖琴。文档:文件中的文件属性标头的copyright标记必须包含文件,可以是以下任意一种:"IClassFactory"C:(…)COMHelper.cs

那个错误能被抑制吗?它应该应用于什么元素?

如何抑制StyleCop警告SA1649

使用命名空间级别的抑制:

[module: System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1649:FileHeaderFileNameDocumentationMustMatchTypeName", Justification = "Reviewed.")]
namespace MyNamespace
{
}

抑制属性应该放在类或接口声明上。这应该在你不希望这个规则应用到的每个cs文件中完成。

但是,如果您想对项目中的所有cs文件取消显示此规则,则应考虑在设置中一起禁用此规则。这样就不会在每个类文件上都有一个抑制规则声明。

Chris的答案是有效的,但要添加它,您可能还必须抑制文件头规则。

[module: System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1649:FileHeaderFileNameDocumentationMustMatchTypeName", Justification = "Reviewed.")]
[module: System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1633:FileMustHaveHeader", Justification = "Reviewed.")]
//----------------------------------------------------------------------------------------------------
// <copyright file="FileName.cs" company="Company">
//     Copyright (c) Company. All rights reserved.
// </copyright>
// <author>n00bz</author>
//----------------------------------------------------------------------------------------------------
namespace TestNamespace
{
}

更好:

//----------------------------------------------------------------------------------------------------
// <copyright file="FileName.cs" company="Company">
//     Copyright (c) Company. All rights reserved.
// </copyright>
// <author>n00bz</author>
//----------------------------------------------------------------------------------------------------
[module: System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1649:FileHeaderFileNameDocumentationMustMatchTypeName", Justification = "Reviewed.")]
namespace TestNamespace
{
}