CA1703 CodeAnalysis错误和CasingExceptions

时间:2013-04-07 12:29:43

标签: code-analysis

我有一个文本资源“{0}由Test GmbH”正确拼写,因为GmbH是“GesellschaftmitbeschränkterHaftung”的官方缩写。据我所知,Microsoft CodeAnalysing试图将其标记为“Gmb”和“H”,但我认为应该可以通过此CodeAnalysingDictionary引入该特定拼写和套管的术语:

<?xml version="1.0" encoding="utf-8" ?>
<Dictionary>
  <Words>
    <Unrecognized>
    </Unrecognized>
    <Recognized>
      <Word>Gmbh</Word>
    </Recognized>
    <Deprecated>
    </Deprecated>
    <DiscreteExceptions>
      <Term>GmbH</Term>
    </DiscreteExceptions>
  </Words>
  <Acronyms>
    <CasingExceptions>
      <Acronym>GmbH</Acronym>
    </CasingExceptions>
  </Acronyms>
</Dictionary>

然而,它没有成功:

CA1703  Resource strings should be spelled correctly    
In resource 'MyCode.Properties.Resources.resx', 
referenced by name 'CopyrightWithCompanyName', 
correct the spelling of 'Gmb' in string value '{0} by Test GmbH'.   

如何正确调整字典?

2 个答案:

答案 0 :(得分:1)

实际上,只要GmbH被解释为由单词GmbH组成的复合词GmbH的大写是正确的。

因此,为了使GmbH被代码分析视为有效,从而消除CA1703,只需将gmb添加为recognized word到您的custom dictionary文件:

<Dictionary>
  <Words>
    <Recognized>
      <Word>gmb</Word>
      <!-- ... -->
    </Recognized>
    <!-- ... -->
  </Words>
  <!-- ... -->
</Dictionary>

我确认这适用于Visual Studio 2013.

答案 1 :(得分:0)

根据http://msdn.microsoft.com/en-us/library/bb514188.aspx#bkmk_dictionaryacronymscasingexceptionsacronym CasingExceptions中的条目仅适用于CA1709:标识符应正确,而不是资源。

我有完全相同的问题,但没有解决方案,然后抑制警告