質問

新しいプロジェクトのデータ アクセス レイヤーとして LINQ to SQL を使用しています。データベーステーブルをデザイナーに追加しましたが、すべて問題ありません。

これらのクラスのいずれかを関数で使用すると、Visual Studio から「型 xxxx は CLS に準拠していません」または「関数 xxxx の戻り値の型は CLS に準拠していません」という警告が表示されます。

これは LINQ to SQL が生成するクラスに問題があるのでしょうか?それは重要ですか?これらの警告をどこでも無効にできますか?私の VS エラー リストはこれらの警告で詰まっており、他に何も表示されにくくなっています。

編集:

申し訳ありませんが、これらは VB.NET プロジェクトであると言うべきでした。:)

役に立ちましたか?

解決

Ben Mは問題について正しい考えを持っています。

VB.Netプロジェクトでこれを解決する最も簡単な方法は、アセンブリをCLSCompliantではなく、それらの警告を回避することです。ファイルに次の行を追加すると、トリックが実行されます

<Assembly: CLSCompliant(False)>

追加するのに最適なファイルは、&quot; My Project&quot;内のAssemblyInfo.vbです。フォルダ。

他のヒント

MSDN Connectのこのリンク:

  

継承関係を追加する場合   O / Rデザイナーのクラス間、   生成されたアクセスレベル   Idのバッキングストアメンバー   属性&quot; _Id&quot;は、   プライベートから保護、CLSの原因   ルール違反。 Idプロパティは   間の関連付けで使用される   クラス。

警告を取り除くには、次を使用できます。

#pragma warning disable 3021

または、プロジェクト全体で無効にする場合は、「警告を表示しない」に3021を追加します。 Visual Studioでプロジェクトのプロパティの[ビルド]タブのフィールド。

最終的には、データベースから返される型と、それらの型の名前によって異なります。

CLS 準拠に関する 1 つの問題は、大文字と小文字が異なるだけで名前が異なる 2 つの公開メンバーを持つ型です。マイフィールドとマイフィールド。

こちらです 記事 それはあなたが判断するのに役立つはずです どこ CSS コンプライアンス問題が発生していることを確認し、問題に対処します。さらにサポートが必要な場合は、コードを提示してください。何がで​​きるかを確認します。

別のアセンブリのCLSCompliant 属性。

つまり、Linq to SQLクラスは、作成している関数とは異なるプロジェクトにありますか?ソリューションのすべてではないが一部のプロジェクトで [assembly:CLSCompliant(true)] を指定しましたか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top