私は、クラウドストレージからアセンブリをダウンロードし、Activator.CreateInstanceを使用してそのインスタンスを作成し、そのメソッドを呼び出します。AssemblyResolveイベントが、AppDomainに既に読み込まれているアセンブリを解決しようとしているのはなぜですか?
正常に動作する依存関係をダウンロードするためにAssemblyResolveメソッドをセットアップしましたが、テスト/テストするためにアセンブリを手動でダウンロードしようとしています。私は、私が呼び出していたときにどの後、私は、彼らはしかし
AppDomain.CurrentDomain.GetAssemblies())
経由のAppDomainにロードされて見ることができます
Assembly.Load(byte[])
を使用してそれらをロードし、それらをダウンロードして、限り発見としての依存性が必要とされる持っていますこれを参照するアセンブリのメソッド、それはまだAssemblyResolverに行きます。
ロードされたアセンブリとAppDomainの動作を誤解しているかもしれませんが、一度アセンブリをロードすると、このアセンブリで使用できるようになり、解決する必要はありません。
なぜ「見る」ことができないのですか?バージョンと名前などは同じです。
私は異なるアセンブリバインディングコンテキストhereについて読んだことがあります。これは問題になると思いますか? Assembly.Load(string)を使用するとAssembly.Load(byte)とは異なるコンテキストにロードされることが示唆されていますか?どのようにすれば、私はアセンブリのメモリをbyte []として扱うだけですか?それは正しいコンテキストにロードされていないとしてあなたは、あなたが読み込まれたアセンブリから直接タイプを取得する必要が
おかげ
Assembly.Load(..)を例外なく使用していてもアセンブリを読み込めませんか? – Redhead
アセンブリーにasseblyが選択されてロードされた後、Visual Studioで 'Debug-> Widnows-> Modules'画面のスクリーンショットを表示できますか? –
タイプをロードする方法、メソッドを取得して実行する方法を示すコードを追加してください。私は問題が何であるかを知るために推測しました;-) –