私はコードを改善するためにStyleCopとFxCopツールを使用していますが、StyleCopとFxCopには2つのルールがあります。 StyleCopのルールと一致するようにコードを修正すると、FxCopの検証は失敗し、その逆もあります。StyleCopとFxCopのルールはお互いに除外
最初のルールは、使用するすべてのディレクティブを名前空間の内側に配置する必要があることを示すStyleCopのSA1200です。
使用するすべてのディレクティブは、名前空間の内側に配置する必要があります。
だから私は、それはStyleCop、これ以上の警告についてはOKだったこの
namespace MyNamespace
{
using System;
...
}
のようなものを行っています。今度はFxCop検証を実行し、CA1014が違反していると伝えます。
外部から見えるタイプを公開するため、CLOCKompliant(true)で 'MyApp.dll'をマークしてください。私はこのような何か行う必要があり、これを解決するには
:
[ClsCompliant(true)]
namespace MyNamespace
{
...
}
をしかしClsCompliant
属性が認識されないので(それは私がMyNamespace
の内側に含まSystem
名前空間からだから)今、私は私のプロジェクトをビルドすることはできません。だからusing System;
指令をMyNamespace
宣言の外に移動すると。これは私のコードをコンパイルしますが、再びStyleCopからルールを破ります。
StyleCopまたはFxCopのいずれかのルールを無効にすること以外は、この問題に対処する方法はありますか?それが不可能な場合、どのルールを無効にする必要がありますか?それはあまり重要ではありませんか?
アセンブリには、名前空間に準拠する代わりに、maciejkowが指摘したようにCLSCompliantとマークする必要があります。 –