そのため、新しく作成されたアプリ ドメインが必要なアセンブリを読み込めない場合、AppDomains の作成は常に厄介な問題になる可能性があります。しかし、ASP.NET Core プロジェクトでは、コードが (Gac ではなく) メモリにコンパイルされるため、さらに困難に思えます。これは、ファイルの場所に基づいて解決およびロードする一般的な方法が機能しないことを意味します。
デフォルトの ASP.NET Core Web サイトを作成し、以下のコードをコントローラーの ctor に追加すると、AssemblyResolve で失敗します。
public MyController(){
var appDomain = AppDomain.CreateDomain("Test");
appDomain.AssemblyResolve += (sender, e) => {return null;}
}
ASP が既に作成した MetadataEmbeddedReferences のリストを含むある種のコンテキスト/プロバイダーを挿入する方法があるかどうかはわかりませんでしたが、その生のアセンブリを新しい appDomain にロードするだけで済みました。
何か案は?