'型' '<typename1>' は、含んでいる型 '<typename2>' が CLS に準拠していないため、CLS 準拠として設定できません。

更新 : 2007 年 11 月

クラスまたはインターフェイスが <CLSCompliant(True)> としてマークされていますが、上層の入れ子レベルの型が <CLSCompliant(False)> としてマークされています (またはマークされていません)。

クラスまたはインターフェイスを共通言語仕様 (CLS) 準拠にするためには、コンテインメント階層全体を CLS に準拠させる必要があります。つまり、上層の入れ子レベルの型をすべて CLS 準拠にする必要があります。

CLSCompliantAttribute をプログラミング要素に適用するときは、属性の isCompliant パラメータを True または False に設定して準拠または非準拠を示します。このパラメータの既定値はありません。値を指定する必要があります。

CLSCompliantAttribute を要素に適用しなかった場合は、非準拠と見なされます。

既定では、このメッセージは警告です。警告を非表示にする方法や、警告をエラーとして扱う方法の詳細については、Visual Basic での警告の構成 を参照してください。

Error ID: BC40030

このエラーを解決するには

  • CLS 準拠にする必要がある場合は、この型を別のコンテインメント階層の中で定義します。

  • この型を現在のコンテインメント階層の中に残す必要がある場合は、その定義から CLSCompliantAttribute を削除するか、その型を <CLSCompliant(False)> としてマークします。

参照

概念

CLS 準拠コードの記述