0

私は(おそらく私の前の多くの人と同じように)非推奨のAssembly.Load(Byte[])方法を使用してアセンブリをアプリケーションドメインにロードしようとしましたが、そこではアセンブリデータがネットワーク経由で送信されるため、技術的に物理的な存在がありません。私はこれを機能させるために隅々まで行ってきたと思いますが、これは不可能だと確信しています (少なくとも現在の方法を使用している場合)。

私の質問は、アセンブリをロードするには、アプリケーションのCodeBase/に配置する必要があるというのは本当ですか? GACもしそうなら、それはなぜですか?

4

2 に答える 2

1

もちろん違います。.dll ファイルの実際のバイト [] データのみが必要です。Load メソッドを呼び出した後、CLR に読み込まれます。

于 2013-07-02T14:58:12.923 に答える
1

いいえ、そうではありません。バイト配列からアセンブリを読み込むことができます。その配列はどこからでも来ることができます。例として、私は以前、データベースにバイナリ フィールドとして格納されたアセンブリからプラグインを読み込むシステムを使用したことがあります。

(おそらく、別の質問をして、直面した問題を含めて、これを機能させることができるようにする必要があります:-))

于 2013-07-02T14:57:05.370 に答える