我遇到了加载问题但无法解决问题。 我得到的错误如下:
无法加载文件或程序集'BuildTest,Version = 1.0.0.4, Culture = neutral,PublicKeyToken = null'或其依赖项之一。该 系统找不到指定的文件。“:”BuildTest,Version = 1.0.0.4, Culture = neutral,PublicKeyToken = null“
我写的代码如下:
var buildTestPath = @"D:\BuildTest\bin\Debug";
AppDomainSetup setup = new AppDomainSetup();
setup.ApplicationName = "BuildTest";
setup.ShadowCopyFiles = "true";
setup.PrivateBinPath = buildTestPath;
AppDomain domain = AppDomain.CreateDomain("MyDomain", AppDomain.CurrentDomain.Evidence, setup);
var assemblyFile = Path.Combine(buildTestPath, "BuildTest.dll");
var assemblyName = AssemblyName.GetAssemblyName(assemblyFile);
var assembly = domain.Load(assemblyName);
Type myType = assembly.GetType("BuildTest.Class1");
MethodInfo myMethod = myType.GetMethod("MethodA");
object obj = Activator.CreateInstance(myType);
myMethod.Invoke(obj, null);
AppDomain.Unload(domain);
有人可以帮帮我吗?
由于
答案 0 :(得分:0)
AppDomain.Load
只应用于将程序集加载到当前AppDomain中。
要将程序集(并创建该类型的实例)加载到新创建的域中,AppDomain类会公开CreateInstanceAndUnwrap
之类的方法,您应该在这里使用它。