C# 如何抑制StyleCop警告SA1649
我试图抑制StyleCop中出现的两个SA1649错误 根据“抑制”(suppression)属性与下面的属性类似C# 如何抑制StyleCop警告SA1649,c#,stylecop,C#,Stylecop,我试图抑制StyleCop中出现的两个SA1649错误 根据“抑制”(suppression)属性与下面的属性类似 [SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1649:FileHeaderFileNameDocumentationMustMatchTypeName", Justification = "Reviewed.")] 但是,我无法确定应该将该属性应用于哪个元素。如果将该属性放在文件的第一个元素(IClassFa
[SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1649:FileHeaderFileNameDocumentationMustMatchTypeName", Justification = "Reviewed.")]
但是,我无法确定应该将该属性应用于哪个元素。如果将该属性放在文件的第一个元素(IClassFactory接口)上,则会出现以下错误:
SA1649:CSharp.Documentation:文件中的文件属性
标题的版权标记必须包含标题中第一个类型的名称
文件,并且可以是以下任一项:
“IClassFactory”C:(…)COMHelper.cs
这个错误能被抑制吗?应将其应用于哪个元素?抑制属性应放在类或接口声明上。这应该在您不希望应用此规则的每个cs文件中完成
但是,如果您想在项目中的所有CS文件中抑制这一点,那么您应该考虑在设置中禁用此规则。这样,就不会对每个类文件都有抑制规则声明。
使用命名空间级抑制:[module: System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1649:FileHeaderFileNameDocumentationMustMatchTypeName", Justification = "Reviewed.")]
namespace MyNamespace
{
}
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
{
}
[模块:System.Diagnostics.CodeAnalysis.SuppressMessage(“StyleCop.CSharp.DocumentationRules”,“SA1649:FileHeaderFileNameDocumentationMustMatchTypeName”,Justification=“Review”)]
[模块:System.Diagnostics.CodeAnalysis.SuppressMessage(“StyleCop.CSharp.DocumentationRules”,“SA1633:FileMustHaveHeader”,justionment=“Review”)]
//----------------------------------------------------------------------------------------------------
//
//版权所有(c)公司。版权所有。
//
//n00bz
//----------------------------------------------------------------------------------------------------
命名空间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
{
}
//----------------------------------------------------------------------------------------------------
//
//版权所有(c)公司。版权所有。
//
//n00bz
//----------------------------------------------------------------------------------------------------
[模块:System.Diagnostics.CodeAnalysis.SuppressMessage(“StyleCop.CSharp.DocumentationRules”,“SA1649:FileHeaderFileNameDocumentationMustMatchTypeName”,Justification=“Review”)]
命名空间TestNamespace
{
}
您使用的是哪个版本的stylecop?希望这个答案对您有所帮助。[1] :您必须将SuppressMessage置于界面顶部。你能给我们看看你的interfaceMug4n的头吗?如果我把suppress消息放在文件的顶部,我会得到一个错误,说明属性不能应用到名称空间。(因为第一个非注释元素是名称空间声明,正如我在问题中所写的,如果我把它放在第一项上,我仍然会得到样式cop错误。