最近我使用vs2005做了一个addins在制作的过程中使用Assembly动态加载DLL,其他的地方需要实现删除DLL的操作,因此需要能够实现卸载Assembly动态加载DLL,不知道各位有没有什么好的解决方案。
大多数都说用AppDomain来实现,试验过很多,都存在这样或者那样的问题,大家有没有一个比较完美的解决方案啊。
public Assembly LoadAssembly(string filePath)
{
Assembly asm = null;
if (this.copyToMem)
{
//先将插件拷贝到内存缓冲
byte[] addinStream = null;
if (FileHelper.ReadFileToBuff(filePath, out addinStream))
{
asm = Assembly.Load(addinStream); //加载内存中的Dll
}
}
else
{
asm = Assembly.LoadFrom(filePath);
}
return asm;
}
使用过上面的这种方式加载DLL,可是因为需要加载附加的DLL,还是失败。
偶然的你