0

クラスAClassを持つサードパーティのA1.dll、A2.dllがあります。B1 および B2 dll から参照していますが、別の方法で参照したいと考えています。A1+A2 を使用して X.dll を作成し、X を使用して B1、B2 を作成したいと考えています。すべての名前空間とクラスが同じであることが重要です。 XおよびA1 + A2で。

編集: X は A1、A2 のコピーである必要があります。X1、X2 を使用することもできます。次に、A1、A2 の 1 つのライセンスを使用できます。将来使用するすべての exec&dll ではなく、X 用です。

4

2 に答える 2

0

つまり、A1.dll と A2.dll は同じ名前空間で同じ型名を定義しており、X.dll で A1 と A2 の両方を参照し、これら 2 つの型のいずれかを使用するときに問題が発生していますか?

それを解決するには、「extern aliases」を使用できます。これは、C# のあまり知られていない機能です。

必要な dll に extern エイリアスを追加します (アセンブリの参照を右クリック -> プロパティ)。

外部エイリアス

そして、.cs ファイルの先頭に次のように記述します。

extern alias myAlias;
using okType = myAlias::DuplicateNamespace.DuplciateType;

コードで使用します。

var my = new okType();

ps: 私があなたを誤解した場合、私の答えは無関係かもしれません :)

于 2013-10-30T18:05:38.543 に答える