代码分析/FxCop CA1726:使用首选词语,取消已被弃用。

13
我在英国,在这里我们将“Canceled”拼写为两个L。我想使用代码分析规则“CA1726:UsePreferredTerms”,但不希望它将“Cancelled”标记为违规。
我尝试将<CodeAnalysisCulture>en-GB</CodeAnalysisCulture>添加到项目文件中,以鼓励代码分析使用英式拼写。
我尝试将<Recognized><Word>Cancelled</Word></Recognized>添加到项目的CustomDictionary.xml中。
我不喜欢每次使用单词“cancelled”时都添加一个抑制项。
我希望有一种解决方案可以检查到源代码控制,供其他开发人员使用,因此我不想更改我的本地C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Static Analysis Tools\FxCop\CustomDictionary.xml 我正在使用Visual Studio 2013。
有没有办法实现这个?
2个回答

5
正如我怀疑你已经知道的那样,没有内置的方法来实现这一点。曾经以各种形式提出过覆盖内置自定义词典的想法,但得出的结论是目前无法覆盖/重置自定义词典。这是一个低优先级的项目,因为有一个解决方法,即编辑随Visual Studio一起提供的CustomDictionary.xml文件。
如果您正在使用FxCopCmd作为构建过程的一部分进行分析,则似乎有一个可行的选项是将"FxCop"文件夹复制到一个文件夹(例如Tools\FxCop)中,该文件夹是您检入的项目的一部分。然后,您的构建过程可以使用此可执行文件,而不是“程序文件”中的可执行文件。由于复制的文件夹中具有默认的CustomDictionary.xml文件,因此您将能够将其作为源控制项目的一部分进行编辑。可能可以从Visual Studio中执行类似的操作,但我看不到明显的更改运行代码分析的位置的方法。
根据您的工作设置和开发方法,更简单的解决方案可能只是将所有开发人员机器上的Visual Studio安装的"CustomDictionary.xml"重命名为"CustomDictionary.xml.bak",并将其内容(减去不需要的部分)复制到您的解决方案的"CustomDictionary.xml"中。这将使您完全控制。显然,这并不理想,因为它会影响您在计算机上工作的所有项目,因此您可能需要多次添加自定义字典,当然每个开发人员都必须处理它,但可以修改您的构建过程以检查默认CustomDictionary的存在,并提醒开发人员他们需要将其重命名才能正确地进行构建。
如果您实际上可以获取FxCop gui 下载和安装(我做不到),则可能有其他解决方法使用".fxcop"项目文件,包括SearchFxCopDir="False"。然而,据我所知,这对您的Visual Studio体验没有任何影响。

0

这不是吗:

<Dictionary>
  <Words>
     <Unrecognized>
          <Word>Cancelled</Word>
     </Unrecognized>
  </Words>
</Dictionary>

这难道不会把“已取消”从代码分析正确拼写识别出的术语列表中排除吗?这与我试图实现的相反。 - user1069816

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接