C# CA1701/自定义词典

C# CA1701/自定义词典,c#,.net,visual-studio,code-analysis,C#,.net,Visual Studio,Code Analysis,在CustomDictionary.xml中,我应该在哪里/如何放置我的条目以避免VS2015代码分析中出现这两个警告 资源“xxx.yyy.Properties.Resources.resx”中的警告CA1701, 由名称“LoggerMustSpecifyFilename”引用的离散术语 字符串值“必须指定文件名”中的“文件名”。应为 用复合词表示。如果“文件名”指的是API 标识符,大小写为“FileName”,否则将其拆分为两个单词 被一个空格隔开 资源“xxx.yyy.Properti

CustomDictionary.xml
中,我应该在哪里/如何放置我的条目以避免VS2015代码分析中出现这两个警告

资源“xxx.yyy.Properties.Resources.resx”中的警告CA1701, 由名称“LoggerMustSpecifyFilename”引用的离散术语 字符串值“必须指定文件名”中的“文件名”。应为 用复合词表示。如果“文件名”指的是API 标识符,大小写为“FileName”,否则将其拆分为两个单词 被一个空格隔开

资源“xxx.yyy.Properties.Resources.resx”中的警告CA1701, 由名称“LoggerInvalidFilename”引用的离散术语 字符串值“中的”filename“指定的文件名“{0}”无效。” 应该用复合词来表示。如果“文件名”指的是API 标识符,大小写为“fileName”,否则将其拆分为两个单词 被一个空格隔开


我不想抑制CA1701,也不想改变我的管柱套管。我使用了
CustomDictionary.xml
来阻止其他一些警告,这些警告都可以正常工作,只是无法摆脱最后两个警告。

问题是代码分析使用自己的自定义字典,位于
C:\Program Files(x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\FxCop
或同等位置

这些不能用您自己的字典覆盖。对这个问题有一个明确的解释

特别是对于文件名,正是这一点导致了您的问题:

<?xml version="1.0" encoding="utf-8" ?>
<Dictionary>
  <Words>
    <Unrecognized>
      <!-- .. snip .. -->      
    </Unrecognized>
    <Recognized>
      <!-- .. snip .. -->
    </Recognized>
    <Deprecated>
      <!-- .. snip .. -->
    </Deprecated>
    <Compound>
      <!-- .. snip .. -->
      <Term CompoundAlternate="FileName">filename</Term>
      <!-- .. snip .. -->
    </Compound>
    <DiscreteExceptions>
      <!-- .. snip .. -->
    </DiscreteExceptions>
  </Words>
  <Acronyms>
    <CasingExceptions>
      <!-- .. snip .. -->
    </CasingExceptions>
  </Acronyms>
</Dictionary>

文件名
(我已经从默认字典中删除了不相关的条目,还有很多)

您可以:

  • 抑制消息
  • 更改大小写以匹配此自定义词典
  • 编辑此默认词典。这尤其麻烦,因为您需要在所有开发人员机器和构建服务器上保持同步

  • 谢谢,我不知道这本字典。我猜,从各种开源代码中,我看到了人们拼写它的文件名。猜是时候改变我的代码了,哈哈。