我正在尝试将程序集加载到appdomain中。
无法加载程序集“Test.dll”。 System.IO.FileNotFoundException:无法加载文件或程序集'Test,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'或其依赖项之一。系统找不到指定的文件。
我正在使用字节来加载程序集而不是路径。 我查看了一个示例,该示例还在下面指定了一个Proxy类。
AppDomainSetup domaininfo = new AppDomainSetup();
domaininfo.ApplicationBase = System.Environment.CurrentDirectory;
Evidence adevidence = AppDomain.CurrentDomain.Evidence;
dmname = AppDomain.CreateDomain("test", adevidence, domaininfo);
装载:
Assembly = Store.dmname.Load(bytes);
使用Proxy类:
internal class Proxy : MarshalByRefObject
{
internal Assembly GetAssembly(byte[] assemblyPath)
{
try
{
return Assembly.Load(assemblyPath);
}
catch (Exception)
{
return null;
// throw new InvalidOperationException(ex);
}
}
}
Type type = typeof(Store.Proxy);
var value = (Store.Proxy)Store.dmname.CreateInstanceAndUnwrap(
type.Assembly.FullName,
type.FullName);
Assembly = value.GetAssembly(bytes);
我尝试了两种方式,最终我也是这样。有没有办法使用byte []将程序集加载到appdomain?我不想保存它。