Net动态释放DLL

来源:互联网 发布:centos路由跟踪命令 编辑:程序博客网 时间:2024/05/16 11:59

 

      最近在工作中遇到了一个问题,在程序运行过程中要求动态加载DLL,这个DLL来自于服务器,在程序运行过程中从服务器根据业务需要,copy一个或几个DLL到本地,然后通过Assembly.LoadFrom 方法加载需要的DLL,在Dll使用完成后要求将动态加载的DLL文件消除。在2003里面可以调用FreeLibrary方发将其强行释放,然后再将其删除。上面的方法在2003里面是可行的。不过这样也存在很大的危险性,因为感觉到 .net并不知道dll已经被删除,再调用里面的方法时会报错。不过实现了动态加载,动态删除。但是这样的方法在2005里面就没办法实现。看到句柄也被释放了,但是在删除文件的时候还是报错,不知道是怎么回事,请高手给指点下迷经。

原创粉丝点击