2016-01-09 76 views
3

CustomDictionary.xml中,我该如何避免这两个来自VS2015代码分析的警告?CA1701 /自定义词典

警告CA1701在资源“xxx.yyy.Properties.Resources.resx”, 按名称“LoggerMustSpecifyFilename”的字符串值离散项 “文件名”引用“文件名必须指定。”应以 表示为复合词。如果'文件名'是指API 标识符,则将其视为'文件名',否则将其分割为两个词 ,由空格分隔。

警告CA1701在资源“xxx.yyy.Properties.Resources.resx”, 按名称“LoggerInvalidFilename”离散术语在字符串值“指定的文件名‘{0} “文件名”引用’无效”。 应表示为复合词。如果'文件名'是指API 标识符,则将其命名为'fileName',否则将其分割为由空格分隔的两个词 。

我不想压制CA1701,也不想改变我的字符串外壳。我使用CustomDictionary.xml来阻止其他一些警告,这些工作都很好,只是无法摆脱最后两个警告。

回答

3

问题是,代码分析使用它自己的CustomDictionary,位于C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\FxCop或同等学历。

这些不能被自己的字典覆盖。这个问题有一个user voice

特别是对于,它的这个,是造成你的问题:

<?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> 

(我剪断的项目出不相关的默认字典的,有很多更)

您可以:

  1. 消息打压
  2. 更改您的外壳以匹配此自定义词典
  3. 编辑此默认字典。这特别麻烦,因为您需要在所有开发人员机器和构建服务器上保持同步。
+0

谢谢,我不知道这本词典。我想从各种开源代码中看到人们拼出它的FileName。猜猜它的时间来改变我的代码哈哈。 – SledgeHammer