2016-01-09 77 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