私のクラスの1つで件名から警告を受けました。実際、クラスは非常にシンプルで、私のジェネリックベースタイプを継承しただけです。また、ソリューション全体でそのジェネリッククラスから他の継承者がいますが、そのような警告はありません。
これの理由は何でしょうか?コンパイラは、ベースタイプがCLSに準拠していない理由の手がかりを与えません
おそらく、その特定のプロジェクトのどこかに[Assembly:CLSCompliant(true)]
があります。これにより、コンパイラーがトリガーされ、すべてのタイプがCLS準拠であるかどうかがチェックされます。 [CLSCompliant(false)]
を使用して、タイプまたはメソッドなどのこれをオーバーライドできます。
CLSCompliantとしてマークされている派生型があると思いますが、ベースはそうではありません。
CLS準拠コードの記述 正規の例は、共通言語仕様(CLS)の一部ではないUInt32を使用しているため、Int64を使用してCLSに準拠するか、属性を削除します(clsに準拠していないことを宣言します)。
問題のあるコード行を特定するには、さらにコードが必要です。 エラーの詳細情報 が表示されます。