0

いくつかのルールを含む(会社から提供された)stylecop設定ファイルがあります。

これをプロジェクトの親フォルダーに配置しました(テストプロジェクト、ローカル、ソース管理なし-stylecop設定では、「親フォルダーにある設定ファイルとマージ」と表示されます)。

Stylecop(4.7.42、Rescan All)を実行すると、SA1400、SA1200など、定義していない警告がいくつか表示されます。

一方、私は持っています

<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.MaintainabilityRules">
  <Rules>
    <Rule Name="ArithmeticExpressionsMustDeclarePrecedence">
      <RuleSettings>
        <BooleanProperty Name="Enabled">True</BooleanProperty>
      </RuleSettings>
    </Rule>
  </Rules>
  <AnalyzerSettings />
</Analyzer>

i = i * 2 + 3 * 6;

そのための警告は表示されません。(ルールの説明:http ://stylecop.soyuz5.com/SA1407.html 。実際、ここでTrueまたはFalseを設定すると、メッセージは表示されません。)

また、設定エディタを開くと、すべての設定がチェックされますが、設定ファイルで指定するのはいくつかだけです。

私の設定ファイルは、Stylecopのレポートとはほとんど関係がないと思いますか?!

直し方?

4

1 に答える 1

1

私はあなたがこれを探していると思います:https ://stackoverflow.com/a/13434198/1505426


リンクされた回答からコピー:

デフォルトでは、設定ファイルは親設定にマージされており、これによりいくつかの問題が発生する可能性があります。次の設定を追加して、ソリューションルートでのマージを停止してみてください。

<GlobalSettings>
    <StringProperty Name="MergeSettingsFiles">NoMerge</StringProperty>
</GlobalSettings>

これにより、階層の上位に構成された設定(StyleCopアプリケーションフォルダー内の設定など)に関係なく、StyleCopがすべての開発マシンとビルドマシンで同じように動作するようになります。ただし、これを行う場合は、マージされなくなったファイルから必要なすべての設定をコピーしてください。

于 2012-12-03T20:29:19.550 に答える