ジェネリック型パラメーター属性を持つ次のC#コードがある:
[System.AttributeUsage(System.AttributeTargets.GenericParameter)]
public class GenericParameterAttribute : System.Attribute
{
}
public class GenericClass<[GenericParameter] T>
{
}
StyleCop統合をオンにすると(StyleCop.targetsが.csprojファイルにインポートされます)、StyleCopはエラーを返し、コンパイルは失敗します。
エラー1SA0102:CSharp.CsParser:ファイルで構文エラーが検出されました...
.csprojファイルにインポートされたStyleCop.targetsがなくても、正常にコンパイルされます。
環境
StyleCopドキュメントサイトでコードSA0102が見つかりません http://www.stylecop.com/docs/StyleCop%20Rules.html -SA0102はStyleCopルールではないようです、おそらくコード内部StyleCopエラー。
だから質問:StyleCopエラーSA0102を抑制する方法は?
この種の属性でこのエラーを抑制することは不可能のようです:
[SuppressMessage("StyleCopNameSpace", "SA0102:RuleNameHere")]
これに関連するように Post 、このメッセージは、StyleCopで内部エラーが発生したときに表示されます。
jasonall 2010年5月18日午後10時:SA0101またはSA0102を抑制することは実際には不可能です。これらは、StyleCopで内部エラーが発生するたびにスローされる特殊なケースの「ルール」です。唯一の回避策は、このファイルの分析を完全に無効にするか、StyleCop4.4にアップグレードするまでオプションのパラメーターの使用を停止することです。
.csprojファイルでStyleCopから除外するファイルを探し、以下のようにExcludeFromStyleCop要素を追加します。
<Compile Include="<filename>.cs">
<ExcludeFromStyleCop>True</ExcludeFromStyleCop>
</Compile>