8
すべての参照を含むアセンブリをAppDomainに再帰的に読み込む方法は?
AppDomain複雑な参照ツリーを持つ新しいいくつかのアセンブリにロードしたい(MyDll.dll-> Microsoft.Office.Interop.Excel.dll-> Microsoft.Vbe.Interop.dll-> Office.dll-> stdole.dll) 私が理解している限り、アセンブリがに読み込まれているときAppDomain、その参照は自動的に読み込まれず、手動で読み込む必要があります。だから私がするとき: string dir = @"SomePath"; // different from AppDomain.CurrentDomain.BaseDirectory string path = System.IO.Path.Combine(dir, "MyDll.dll"); AppDomainSetup setup = AppDomain.CurrentDomain.SetupInformation; setup.ApplicationBase = dir; AppDomain domain = AppDomain.CreateDomain("SomeAppDomain", null, setup); domain.Load(AssemblyName.GetAssemblyName(path)); そして得たFileNotFoundException: ファイルまたはアセンブリ 'MyDll、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = null'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。 重要な部分は依存関係の1つだと思います。 はい、前に行います domain.Load(AssemblyName.GetAssemblyName(path)); foreach (AssemblyName refAsmName in Assembly.ReflectionOnlyLoadFrom(path).GetReferencedAssemblies()) …