C# 使用Assembly.LoadFrom()加载后卸载DLL
在我的项目中,我使用反射和C# 使用Assembly.LoadFrom()加载后卸载DLL,c#,C#,在我的项目中,我使用反射和Assembly.LoadFrom()加载DLL。这是一个小DLL,在应用程序执行期间偶尔会(从源代码)动态重新编译 有没有办法从应用程序中卸载加载的DLL,以便我可以重新加载它?我已尝试重新加载,但出现错误: 其他程序正在使用的文件 你不能。你必须终止这个程序。无法在.Net中卸载程序集。如果打开文件的应用程序是自定义应用程序,则可以修改它以将DLL加载到另一个AppDomain中。当您想要重新加载它时,只需拆下该AppDomain并将新的DLL加载到新的AppDom
Assembly.LoadFrom()
加载DLL。这是一个小DLL,在应用程序执行期间偶尔会(从源代码)动态重新编译
有没有办法从应用程序中卸载加载的DLL,以便我可以重新加载它?我已尝试重新加载,但出现错误:
其他程序正在使用的文件
你不能。你必须终止这个程序。无法在.Net中卸载程序集。如果打开文件的应用程序是自定义应用程序,则可以修改它以将DLL加载到另一个AppDomain中。当您想要重新加载它时,只需拆下该AppDomain并将新的DLL加载到新的AppDomain中。我想看看(哪一个可以做到这一点),看看这是否支持您的用例。阅读以下内容:
您会发现重新启动应用程序比使用AppDomains容易得多。