3

我在我正在处理的一个项目上运行了 FxCop,我收到了一大堆如下所示的警告:

CA1703:Microsoft.Naming:在由名称“MyString”引用的资源“MyProject.Properties.Resources.resx”中,更正字符串值“某些格式字符串:{0:dMMMyyyy}”中“Myyyy”的拼写

由于 Resources 是一个生成的类,我不能简单地使用正常机制来抑制这些消息。有没有人有什么好主意我可以解决这个问题?

编辑:只是为了说明清楚(因为我不知道这与 Team System 有什么不同),我对非 Team System 解决方案感兴趣——特别是对于 MS Visual Studio Pro 2008。

4

4 回答 4

3

如果您不想将命名规则应用于资源,只需在项目设置中关闭此规则即可。

  1. 右键单击项目树中的项目
  2. 点击“属性”
  3. 转到选项卡“代码分析”
  4. 展开分支“命名规则”
  5. 禁用 CA1703

如果你只是想抑制某些资源,你可以在全局抑制文件中抑制它们。这通常在 Visual Studio 的错误列表中的鼠标右键上可用。

  1. 右键单击错误列表中的 CA 消息
  2. 选择“禁止消息”
  3. 选择“在项目抑制文件中”
于 2009-08-06T09:55:28.400 回答
3

我最终通过将程序集的中性语言设置为空来禁用资源的拼写检查,即在 AssemblyInfo.cs 中,我添加了这一行:

[assembly: NeutralResourcesLanguage("")]

这是这里建议的。

于 2009-08-12T08:57:23.947 回答
1

您可以关闭对生成的代码的分析,而不是关闭整个项目的规则,或者手动排除所有违规行为,如下所示:

Project > Options > Spelling & Analysis
Check Suppress analysis results against generated code
于 2009-08-06T10:04:19.317 回答
1

FxCop(独立)和集成代码分析都支持使用自定义字典。

创建一个名为 CustomDictionary.xml 的文件。添加以下 XML 结构,在节点下使用新词(不区分大小写)。

<Dictionary>
    <Words>
        <Recognized>
               <Word>aNewWord</Word>
               <Word>AnotherNewWord</Word>
        </Recognized>
    </Words>
</Dictionary>

要将字典用于所有项目,请将文件放在 FxCop 安装目录(通常为 C:\Program Files\Microsoft FxCop)中。对于特定于项目的字典,将文件与项目文件一起放在单独的目录中。对于要识别的单词,您必须在创建或修改自定义词典后关闭并重新启动 FxCop。您还可以在 Visual Studio 项目中包含该文件并将生成操作文件属性设置为CodeAnalysisDictionary.

于 2009-08-10T03:25:50.157 回答