【问题标题】:StyleCop SA1638StyleCop SA1638
【发布时间】:2011-01-23 19:24:45
【问题描述】:

我在 VS2008 中使用 StyleCop。我收到此错误:

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 静音的情况下修复此警告的任何线索?

【问题讨论】:

  • 你找到解决方法了吗?
  • 不。没有修复。我不得不压制那个警告。
  • 这很奇怪。我只能假设你在 StyleCop 中发现了一个错误。答案已更新!
  • 谢谢,任务。我稍后会发布可重现的样本。

标签: c# visual-studio-2008 stylecop


【解决方案1】:

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

Properties 目录应该无关紧要,我假设你在某处有错字。

补充:
如果这不起作用,那么要修复它,您必须将其提升到一个新的水平。
将整个项目复制到新的解决方案中,使用 StyleCop 重新扫描。
删除所有不相关的文件,使用 StyleCop 重新扫描。
删除问题文件中除header外的所有代码,用StyleCop重新扫描。
如果问题在途中的某个地方消失了,那就太奇怪了。
如果问题没有消失,那么您就有了可重现的样本!

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

假以时日,可能会有一个新版本来修复该错误。 8)

【讨论】:

    【解决方案2】:

    我在 Properties 文件夹中有以下 AssemblyInfo.cs 文件:

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

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

    【讨论】:

      【解决方案3】:

      根据 StyleCop 文档,这就是你现在处理AssemblyInfo.cs 的方式:

      完全由工具自动生成且不应由 StyleCop 检查或强制执行的文件可以包含“自动生成”标题而不是标准文件标题。这将导致 StyleCop 忽略该文件。这种类型的头文件永远不应该放在手动编写的代码文件的顶部。

      // <auto-generated />
      namespace Sample.Something
      {
          // The contents of this file are completely auto-generated by a tool.
      }
      

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            【解决方案6】:

            文件名和类应该相同。

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

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

            【讨论】:

              猜你喜欢
              • 2013-03-15
              • 2011-05-07
              • 2012-03-07
              • 2010-12-25
              • 2010-11-07
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-01-21
              相关资源
              最近更新 更多