2 つの異なるアセンブリ ClassLibrary1 と ClassLibrary2 の名前空間 Phoenix の下にクラス MyClass があります。ClassLibrary2 は ClassLibrary1 の参照です。ClassLibrary1 で MyClass 型を使用した場所では、インポートされた型との競合の警告が表示されます。プラグマ ディレクティブを使用して警告を抑制せずにこれを解決するにはどうすればよいですか?
1733 次
1 に答える
2
参照自体の [プロパティ] に移動して、プロジェクト内のClassLibrary2
参照に(既定の「グローバル」以外の) エイリアスを付けます。ClassLibrary1
ClassLibrary1 バージョンを使用したい場合に備えて、これにより警告が即座に取り除かれます。
ClassLibrary2 dll から何かにアクセスしたいときはいつでも、クラス コードの上にこれを配置する必要があります。
extern alias <yourAliasName>;
using MyClassOther = yourAliasName::Phoenix.MyClass;
他のクラスを参照する既存のコードがClassLibrary1
動作しないようにする場合は、グローバル エイリアスを保持し、参照に別のエイリアスを追加するだけです。このようにして、実際に を使用するクラスで上記のコードが必要になりますMyClass
。次に、(うまくいけば)はるかに少ないケースで使用法を完全に修飾する必要があります。
于 2013-10-11T15:18:14.570 に答える