2

好的,今天的另一个 FxCop 问题。

我已经阅读了有关 IdentifiersShouldBeCasedCorrectly 规则的论点,以及它是否应该是“XML”或“Xml”。好吧,我是一个“XML”人,我想保持这种状态。因此,我希望 FxCop 一直纠正我。

我只在特定情况下使用 SuppressMessage 属性。我还使用 FxCop 标记了大量错误并将它们作为“模块”级别的 SuppressMessage 语句复制到 assemblyinfo.cs 中。这很好用。

但是,现在我真的想全局禁用这个烦人的 IdentifiersShouldBeCasedCorrectly 规则。我使用的是 TeamCity 5.0.3,并且没有使用 FxCop 项目文件(但是,我可以这样做)。我希望我可以将一个参数传递给 FxCopCmd 以告诉它忽略此错误,但从文档中看起来并不是这样。

那么...除了在 TeamCity 构建服务器上创建 FxCop 项目文件并将其用于 FxCop 构建运行器之外,我还能做些什么吗?

4

1 回答 1

0

查看 FxCop 的安装目录(我的是 c:/program files/microsoft fxcop 1.36)。该目录中应该有一个 CustomDictionary.xml 文件。您可以将 XML 添加到 CustomDictionary.xml 末尾的 CasingExceptions 部分,并且该机器上所有项目的所有命名空间和函数名称元素都将忽略 XML 大小写(当然,除非在命令行上覆盖了 CustomDictionary.xml)。

您还可以将 CustomDictionary.xml 复制到项目目录并在项目目录副本的 CasingExceptions 部分添加 XML。我认为这会自动找到,不需要 FxCop 项目文件,并且只会用于该项目。

这就是我为我们的 TeamCity 构建所做的,但出于另一个原因我需要一个 FxCop 项目文件,所以我不记得(也无法检查)FxCop 是否会自动找到 CustomDictionary.xml。

例子:

  <Acronyms>
<CasingExceptions>
  <Acronym>Pi</Acronym>
  <Acronym>Na</Acronym>   <!-- NaN -->
  <Acronym>NESW</Acronym> <!-- North East South West -->
  <Acronym>NWSE</Acronym> <!-- North West South East -->
  <Acronym>XML</Acronym> <!-- XML -->
</CasingExceptions>

在MSDN FxCop 常见问题解答中还有一个稍微不同的忽略单词的示例 希望这会有所帮助!

于 2010-03-30T05:09:40.833 回答