我试图在StyleCop中抑制两次出现SA1649错误。
根据documentation,抑制属性看起来像
下面的属性[SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1649:FileHeaderFileNameDocumentationMustMatchTypeName", Justification = "Reviewed.")]
但是,我无法弄清楚应该将属性应用于哪个元素。如果我将该属性放在文件的第一个元素(IClassFactory接口)上,我会收到以下错误:
SA1649:CSharp.Documentation:文件中的文件属性 header的copyright tag必须包含the中第一个类型的名称 文件,可以是以下任何一个: “IClassFactory”C :( ...)COMHelper.cs
可以抑制该错误吗?应该应用什么元素?
答案 0 :(得分:10)
使用命名空间级别抑制:
[module: System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1649:FileHeaderFileNameDocumentationMustMatchTypeName", Justification = "Reviewed.")]
namespace MyNamespace
{
}
答案 1 :(得分:0)
suppress属性应放在类或接口声明中。这应该在您不希望应用此规则的每个cs文件中完成。
但是,如果要对项目中的所有cs文件禁止此操作,则应考虑在设置中同时禁用此规则。这样,您就不会在每个类文件上都有一个抑制规则声明。
答案 2 :(得分:0)
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
{
}
答案 3 :(得分:0)
更好的是:
//----------------------------------------------------------------------------------------------------
// <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
{
}