[解決済み] 同じ名前空間の異なる2つのDLL
2023-08-11 18:44:51
質問
同じ名前空間を持つ 2 つの DLL ファイルがありますが、それぞれ異なるメソッドと型を持っています。 私のプロジェクトで両方の DLL を参照し、それらのメソッドと型を使用するにはどうしたらよいでしょうか。
ところで、この2つのDLLには、同じ名前でも実装が異なるメソッドや型があり、ユニークなメソッドや型もあります。
どのように解決するのですか?
特別なことは何もありません。ただ、それらを参照し、型を使用するだけです。名前空間は実際には不透明な型ではないので、問題なく複数のアセンブリにまたがることができます。名前空間は、それが含むすべての型に共通の接頭辞を追加する方法にすぎず、異なる名前空間の下で同じ名前の複数の型を持つことができます。(フレームワークはそれらを同じ名前を持っているとは見なしません。なぜなら、すべてのものの"完全修飾"名-それはエイリアスと名前空間をその前に付けている-を見るからです。)
稀なケースとして、同じ型名を持つ 2 つのアセンブリを参照することがあります。
と
を持つ2つのアセンブリを参照する場合(同じDLLの2つの異なるバージョンなど)、エイリアスを使用して、与えられた型に使用するアセンブリを区別することができます。全ての参照に対するデフォルトのエイリアスは
global
ですが、アセンブリを参照する際に(コンパイラ・スイッチを使用するか、または単に Visual Studio のプロパティ・ボックスを使用して)独自のエイリアスを指定することができます。
extern alias <name>
節を使用し、それを使用するコード ファイルの先頭に
<name>::MyNamespace.Type
関連
-
[解決済み】「The breakpoint will not currently be hit」を改善するには?このドキュメントにはシンボルが読み込まれていません。" という警告はどうすれば改善されますか?
-
[解決済み] EntityTypeにキーが定義されていないエラー
-
[解決済み】Microsoft.Extensions.LoggingからILoggerを解決することができない
-
[解決済み] 他のスレッドからGUIを更新するにはどうすればよいですか?
-
[解決済み] usingディレクティブはネームスペースの内側と外側のどちらを使うべきですか?
-
[解決済み] Try-catchは私のコードをスピードアップさせるか?
-
[解決済み] .NETでC#オブジェクトをJSON文字列に変換するには?
-
[解決済み] メタデータファイル'.dll'が見つかりません。
-
[解決済み] C#でメソッドをパラメータとして渡す
-
[解決済み】大文字・小文字を区別しない「Contains(string)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"出力タイプがクラスライブラリのプロジェクトは直接起動できない"
-
[解決済み】文字列が有効な DateTime " format dd/MM/yyyy " として認識されなかった。
-
[解決済み】ASP.NET Core Dependency Injectionのエラーです。アクティブ化しようとしているときに、タイプのサービスを解決できません。
-
[解決済み】パディングが無効で、削除できない?
-
[解決済み】「入力文字列が正しい形式ではありませんでした」エラーの解決方法は?[重複しています]。
-
[解決済み] [Solved] 不正な文字列値: '\xEFxBFxBD' for column
-
[解決済み】EF 5 Enable-Migrations : アセンブリにコンテキストタイプが見つかりませんでした
-
[解決済み】ランダムなブーリアンを生成する最速の方法
-
[解決済み] ...基礎となる接続は閉じられました。予期しないエラーが受信で発生しました
-
[解決済み】Unityでゲームオブジェクトのすべての子をループスルーして破壊する方法?