名前 <membername> は CLS に準拠していません。

更新 : 2007 年 11 月

アセンブリが <CLSCompliant(True)> としてマークされていますが、このアセンブリが公開するメンバの名前がアンダースコア (_) で始まっています。

プログラミング要素には 1 つ以上のアンダースコアを含めることができますが、共通言語仕様 (CLS) に準拠するためには、先頭をアンダースコアにしないでください。宣言された要素の名前 を参照してください。

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

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

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

Error ID: BC40031

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

  • ソース コードを制御できる場合は、メンバ名を変更して、アンダースコアで始まらないようにします。

  • メンバの名前を変更できない場合は、定義から CLSCompliantAttribute を削除するか、<CLSCompliant(False)> としてマークします。アセンブリは引き続き <CLSCompliant(True)> としてマークできます。

参照

概念

宣言された要素の名前

Visual Basic の名前付け規則

CLS 準拠コードの記述