代码之家  ›  专栏  ›  技术社区  ›  niaher

SaleCopoSa1638

  •  7
  • niaher  · 技术社区  · 15 年前

    我在VS2008中使用样式警察。我得到这个错误:

    SA1638:文件头的版权标记中的文件属性必须包含文件名。

    这是我的头。

    // <copyright file="AssemblyInfo.cs" company="company">
    // Copyright (c) company. All rights reserved.
    // </copyright>
    // <author>me</author>
    // <email>me@me.com</email>
    // <date>2010-03-04</date>
    // <summary>blah blah.</summary>
    

    我怀疑问题是我的assemblyinfo.cs位于properties文件夹中。有什么线索可以告诉我如何在不让Stylecop沉默的情况下修复这个警告吗?

    6 回复  |  直到 7 年前
        1
  •  5
  •   Task    15 年前

    在解决方案资源管理器中选择文件,打开右键单击“属性”窗口,复制“文件名”区域中的文本,将其粘贴到页眉中。

    属性目录不重要,我假设你在某个地方有错别字。

    添加:
    如果这不起作用,那么为了修复它,你必须把它提升到下一个层次。
    将整个项目复制到一个新的解决方案中,用StyleCop重新扫描。
    删除所有不相关的文件,用StyleCop重新扫描。
    删除问题文件中除标题以外的所有代码,用样式复制重新扫描。
    如果问题在一路上的某个地方消失了,那将是非常奇怪的。
    如果问题没有消失,那么你得到了一个可复制的样本!

    将该示例压缩并将其附加到新的工作项上: http://code.msdn.microsoft.com/sourceanalysis/WorkItem/List.aspx

    如果有一段时间,可能会有一个新的版本来修复这个bug。8)

        2
  •  3
  •   bdukes Jon Skeet    15 年前

    对于属性文件夹中的assemblyinfo.cs文件,我有以下内容:

    // <copyright file="AssemblyInfo.cs" company="company">
    // product
    // Copyright (c) 2004-2010
    // by company ( http://www.example.com )
    // </copyright>
    

    它没有任何问题。你确定你的文件名是正确的吗(也许大小写是关闭的?)而且您没有任何无效的XML(可能是公司名称中的和号)?

        3
  •  2
  •   Riegardt Steyn AdrianD    9 年前

    根据StyleCop文档,这是您将如何处理的 AssemblyInfo.cs 如今:

    一个完全由工具自动生成的文件,不应该由StyleCop检查或执行,它可以包括一个__自动生成的_头,而不是标准的文件头。这将导致StyleCop忽略该文件。这种类型的头永远不应该放在手动编写的代码文件之上。

    // <auto-generated />
    namespace Sample.Something
    {
        // The contents of this file are completely auto-generated by a tool.
    }
    
        4
  •  0
  •   Will Yu    12 年前

    原因是文件名与该文件中的类名不同。使文件名和类名相同可以解决此问题。

        5
  •  0
  •   chamara iresh    10 年前

    最可能的问题是您的文件名和类名不同。 如果您可以将类更新为部分类,那么StyleCop将不会显示此错误。

        6
  •  0
  •   Srinivas Hsk    7 年前

    文件名和类应该相同。

    请在文件头文档后使用此项。它将解决问题。

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