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 = …