在1.1下已运行良好的程序,到2.0下不行了,运行期间不允许更新dll。
找到一些地址
通过应用程序域AppDomain加载和卸载程序集之后,如何再返回原来的主程序域
微软的篇文章http://www.microsoft.com/china/msdn/library/langtool/vcsharp/csharp05162002.mspx
http://www.cnblogs.com/wayfarer/archive/2004/09/29/47896.html
最后,终于通过上面的地址,特别是微软的例子(附带了一个不大相关示范程序)
原来直接使用添加的appDomain.CreateComInstanceFrom的对象在2.0下,相关的dll一样会被主进程锁住,需要利用一个Remote对象来加载。
此外,还要注意两点[后注:根本不是这回事,下面两点是错误的]
1。不要使用Activator.CreateComInstanceFrom(strintDllFilePath, stringClassName)来动态生成你的类的实例,在2.0下一样会锁住你的dll,不允许你更新。我是这样做的
2。慎用增加远程对象生命期的操作.