12
public class MultiSomething { } //CA1704:IdentifiersShouldBeSpelledCorrectly

コード分​​析を実行すると、Microsoftが「マルチ」という単語を認識しないためにエラーが発生します(彼らがそれを使用していることを確認してIMultiValueConverterください)。したがって、これを修正するために私が行ったのは、CodeAnalysisDictionary.xmlファイルを追加し、ここで提供される手順に従うことでした。ただし、状況は解決されていないようです。それでもコード分析の警告メッセージが表示されます。

これが認識された単語セクションのバグではないことを確認するために、別のクラスと別の例外を追加しました。

public class MultiSomething { } //CA1704:IdentifiersShouldBeSpelledCorrectly
public class MutiiSomething { } //NO WARNING

<Dictionary>
  <Words>
    <Recognized>
      <Word>Multi</Word> <-- This seems to not do anything... -->
      <Word>Mutii</Word> <-- This actually does something... -->
    </Recognized>
  </Words>
</Dictionary>

これを修正する代わりに、SuppressMessageを使用することもできますが、この単語をあちこちで使用する予定がある場合は、これは適切な解決策ではありません。

[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Multi")]
public class MultiSomething { } //NO WARNING (Suppressed)

Microsoftは、認識された単語に「Multi」が追加されるのを実際にブロックしましたか?

4

3 に答える 3

13

このフィードバックチケットを参照できます。これは明らかに設計によるものです。

表示されている動作は、コード分析に事前定義されたカスタムディクショナリが付属しており、競合が発生した場合に他のカスタムディクショナリを常にオーバーライドするためです。この場合、「multi」はデフォルトのFXCop辞書に<unrecognized>単語としてリストされています。

この問題を修正するには、デフォルトの辞書%VS Install Directory%\ Team Tools \ Static Analysis Tools \ FxCop \ CustomDictionary.xmlを開き、コメントアウトするか、<unrecognized>wordsセクションから「multi」エントリを削除します。「multi」は、コード分析でスペルミスとしてフラグが立てられなくなりました。

于 2011-10-21T19:51:54.667 に答える
5

これをカスタム辞書に追加してみてください

<Deprecated>
  <Term PreferredAlternate="Multi">multi</Term>
</Deprecated>
于 2017-08-25T16:15:21.480 に答える
0

単語の頭字語などを含むXMLファイルを追加できます...

xmlファイルを追加し、Build Action=CodeAnalysisDictionaryを設定します

<?xml version="1.0" encoding="utf-8" ?>
<Dictionary>
  <Words>
    <Unrecognized>
      <Word></Word>
    </Unrecognized>
    <Recognized>
      <Word>Multi</Word>
    </Recognized>
    <Deprecated>
      <Term PreferredAlternate=""></Term>
    </Deprecated>
    <Compound>
      <Term CompoundAlternate=""></Term>
    </Compound>
    <DiscreteExceptions>
      <Term>PostDate</Term>
    </DiscreteExceptions>
  </Words>
  <Acronyms>
    <CasingExceptions>
      <Acronym></Acronym> 
    </CasingExceptions>
  </Acronyms>
</Dictionary>
于 2019-06-25T20:58:08.177 に答える