在我的项目中,我使用反射和Assembly.LoadFrom()
加载DLL。这是一个小型DLL,偶尔会在应用程序执行期间动态地重新编译(从源代码)。
有没有办法从应用程序卸载加载的DLL,以便我可以重新加载它?我已经尝试重新加载它,但是我收到了一个错误:
另一个程序正在使用的文件
答案 0 :(得分:1)
如果打开文件的应用程序是自定义应用程序,则可以修改它以将DLL加载到另一个AppDomain中。如果要重新加载它,只需拆除该AppDomain并将新DLL加载到新的AppDomain中。我看看MEF(这样做)看看这是否可能支持你的用例。
答案 1 :(得分:0)
你做不到。你必须杀死该程序。无法在.Net中卸载程序集。
答案 2 :(得分:0)