7

プロジェクトを 2008 から 2010 Beta 2 にアップグレードしたところ、StyleCop は現在、接頭辞が「is」の変数名で SA1305 (ハンガリー表記法) 警告を報告しています。「Is」は、許可されたプレフィックスのリストに確実に含まれています。

これは既知の問題ですか? 他の誰かがこの問題に遭遇しましたか? 2008 年には、コードは間違いなく警告なしでコンパイルされていました。

更新:これは Visual Studio では期待どおりに機能することがわかりましたが、MSBuild では失敗します。理由については、以下の回答を参照してください。

4

3 に答える 3

10

「is」例外を手動で Settings.StyleCop に追加できます。

<Analyzers>    
  <Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.NamingRules">
    <AnalyzerSettings>
      <CollectionProperty Name="Hungarian">
        <Value>is</Value>
      </CollectionProperty>
    </AnalyzerSettings>
  </Analyzer>
</Analyzers>
于 2010-10-26T19:33:35.450 に答える
4

msbuild と開発者ボックスでビルドするときに、同様の問題に遭遇しました。インストールされているデフォルトの Settings.StyleCop ( C:\Program Files (x86)\MSBuild\Microsoft\StyleCop\v4.4) には、次のいずれかの場合に、独自のファイルで複製する必要がある一連の値が実際に含まれていることがわかります。

  • 「他の」(ビルド)マシンにStyleCopをインストールしていない

また

  • 「他の設定ファイルとマージしない」が有効になっている

具体的には、StyleCop 設定エディターは、[設定ファイル] タブの内容に関係なく、他のファイルから除外するハンガリー語表記を自動的に取得します。

于 2010-11-24T17:48:57.270 に答える
2

次のように追加するだけです。

<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.NamingRules">
  <AnalyzerSettings>
    <CollectionProperty Name="Hungarian">
      <Value>is</Value>
    </CollectionProperty>
  </AnalyzerSettings>
</Analyzer>

http://www.thewayithink.co.uk/stylecop/sa1305.htm

于 2010-01-07T19:13:37.123 に答える