0
両方が、私はすでに次のシナリオの作業持っているAから:アセンブリA.exe
は、ダイナミック/ランタイムアセンブリCのロードをCと参照B
- を:呼び出しのWinFormsアプリケーション。
- アセンブリ
B.dll
:クラスライブラリはA
でハード参照されています。 - アセンブリ
C.dll
:実行時にコンパイルされ、B
(クラスはB
クラスを継承します)。
A.exe
は、実行時にC.dll
にいくつかのコードをコンパイルするアセンブリをロードし、私はDLLとしてディスクにC
をコンパイルする場合、それは同じフォルダ内にB.dll
拾っ((B.BaseClass) C.DerivedClass).BaseMethod();
を起動します。しかし、私はC.dll
をディスクに書きたくない。
これを達成するにはどのような方法が最適でしょうか?
感謝を。私はあなたが言っているものを手に入れますが、その方法が何をしているのか分かりません。このイベントがトリガされるとき、私のコードは、現在のappdomainにすでにロードされているアセンブリにアクセスする方法を実行時に知らせるべきではありませんか?私はあなたのソリューションをより良く理解しようとするので、リフレクションには新しいです。 –
ところで、私は常に 'C'が呼び出される前にロードされていることを確認するためにAssembly Bからオブジェクトをインスタンス化します。それが適切かどうかはわかりません。 –
これは既にロードされている場合にBを提供する良い方法です。もしそうでなければ、あなたは 'Assembly.LoadFile(string Path)'ハンドラでそれを行うことができます。 – Seb