コードにサードパーティの.csファイルを含めました。それはStyleCopのルールに準拠していませんが、StyleCopのチェックからそれを除外できるようにする必要がありますが、これまでに見つけた方法はどれも機能しません。
3つの方法がここに記載されています: http://sethflowers.com/blog/force-stylecop-to-ignore-a-file/ ..しかし、これらの方法はいずれもStyleCop4.7では機能しないようです
その中で最も有用なのは、.csprojのこのメソッドのようです。
<Compile Include="AViolatingFile.cs">
<ExcludeFromStyleCop>true</ExcludeFromStyleCop>
</Compile>
ただし、ファイルを追加したにもかかわらず、StyleCopはこのファイルを解析するときにコンパイルエラーを引き起こします。
// <auto-generated/>
これをクラスのトップに置く
スタイル警官は自動生成されたコードを無視します
私もしばらく前にstylecopを使用しましたが、csprojファイルで次の行を使用する必要があると思います。
<Import Project="$(MSBuildExtensionsPath)\StyleCop\v4.6\StyleCop.targets" Condition="Exists('$(MSBuildExtensionsPath)\StyleCop\v4.6\StyleCop.targets')" />
また、xml宣言のバージョン番号をインストールしたものに変更する必要があります。
お役に立てれば。
Atm、XamarinStudioからStyleCop4.7.49を実行していますが、制御できない恐ろしい自動生成ファイルがあります(netfx-System.StringFormatWithを見てください)...
私にとっての解決策は、そのファイルのみのすべてのルールを無効にすることでした...それを行う方法は?
ファイルを変更する必要がありますSettings.StyleCop
そしてStyleCopSettings
タグの中に以下を挿入します
<SourceFileList>
<SourceFile>HideousClass.cs</SourceFile>
<Settings>
<GlobalSettings>
<BooleanProperty Name="RulesEnabledByDefault">False</BooleanProperty>
</GlobalSettings>
</Settings>
</SourceFileList>
変化する HideousClass.cs
必要なファイルを使用します。さまざまなファイルのルールを一度に設定する場合は、複数のSourceFile
タグを設定することもできます。
CodePlex.comのStyleCopでファイルリストを使用 から取得(「例」の「ファイルのサブセットのすべてのルールを無効にする」を参照)。
一部のファイルに対してのみ一部のルールを有効または無効にする場合は、上記と同様のアプローチを使用できます。