「CLSに準拠していない」というエラーが発生します

文書番号 : 33714     文書種別 : 技術情報     登録日 : 2012/11/14     最終更新日 : 2012/11/14
文書を印刷する
対象製品
SPREAD for Windows Forms 7.0J
詳細
Visual Studio .NET 2002/2003で作成されたプロジェクトをVisual Studio 2008/2010/2012に移行したとき、ビルド時に次のエラーメッセージ(警告)が表示される場合があります。

  • 'MyCellType' は、CLS に準拠していない 'GeneralCellType' から派生しているため、CLS に準拠していません。

これは、Visual Studio .NET 2002/2003で作成されたプロジェクトに次のコードが存在することが原因です。なお、Visual Studio 2008/2010/2012 で作成したプロジェクトに明示的にコードを挿入した場合にも、同様のエラーメッセージ(警告)が表示される場合があります。

AssemblyInfo.vb ファイル
<Assembly: CLSCompliant(True)>

Visual Studio .NET 2002/2003 ではこの属性が設定されていても警告は表示されませんが、Visual Studio 2008/2010/2012 では警告が表示されます。また、このコードはVisual Studio 2008/2010/2012 で新規に プロジェクトを作成した場合には生成されません。

製品は.NET FrameworkのCLS(共通言語仕様)だけで構築されているわけではなく、一部にCLSに準拠していないコードが含まれているため、このようなエラーメッセージ(警告)の表示につながる場合があります。

この警告を回避するには、CLSCompliant 属性をコメントアウトするかまたは <CLSCompliant(False)> を設定してください。この警告の詳細は MSDN の次のトピックを参照してください。

Visual Basic リファレンス : エラー メッセージ
'<classname>' は、CLS に準拠していない '<baseclassname>' から派生しているため、CLS に準拠していません。
http://msdn.microsoft.com/ja-jp/library/dy4zaya3.aspx
関連情報
キーワード
「エラー/警告」