2010-12-08 9 views
4

私はMSBuildのを使用して(VS2008で作成した)VB.Net 2.0アプリケーションをコンパイルしていて、今私は、一般的な戻り値の型を追加した、それは私に次のことを与えている:このCOM Genericsの警告はどのようにして抑制しますか?

警告:タイプライブラリエクスポーター が遭遇汎用タイプのインスタンス に署名があります。汎用コードはCOMにエクスポートされた ではない可能性があります。

これまでの警告のすべてを削除したばかりの時代だったので、私は本当に新しいものを追加したくありません。どのようにそれを取り除く(任意のジェネリックを使用していない以外の)任意のアイデアですか?

属性にどのような詳細を入れるのか、プロジェクトレベルの無視リストに入れるべき数字はわかりません。

+0

開いていない汎用タイプ/メソッドをCOMにエクスポートするべきではありません。 * closed * Genericタイプ/メソッドのみをエクスポートしてください。 – casperOne

+0

確かに - 私はこのライブラリにCOMでアクセスしようとはしていませんが、完全に管理されたプロジェクトなので、この警告を非表示にしています。 –

答えて

7

あなたはそのライブラリをCOMに公開する必要がありますか? そうでない場合は、ComVisible(false)を指定してください。

+0

これはトリックです!ありがとう。コンパイラの警告を抑制する情​​報を見つけるのがなぜ難しいのか分かりません。 –

+6

コンパイラの警告を抑止しないでください。警告が消えるように、コードを修正する必要があります。 :) –

+1

ジェネリックの使用を取り除くと自分のコードが修正されたら、私はできると思います! ComVisibleをFalseに設定すると、COMに表示されるはずのコードも修正されているはずです。 –

関連する問題