繁体   English   中英

在运行时释放/删除* .dll

[英]Release/Delete *.dll at runtime

我有一个WinForm应用程序,在启动时我从嵌入式资源(Properties.Resources)中提取* .dll。

我的应用程序稍后需要它(Ionic.Zip-library)。 但是当应用程序关闭时,我怎么能删除这个* .dll? 因为现在我收到the access is denied的错误

我首先需要取消引用它吗? 或者是否还有另一种方法可以将* .dll完全放在我的* .exe中? 因为最后它应该只有一个* .exe。

您无法从正在运行的AppDomain卸载已加载的dll。

但是,您可以启动一个新的AppDomain ,在那里加载dll,然后在关闭应用程序时, 卸载 AppDomain。 卸载AppDomain后,正在运行的进程不再引用提取的dll,可以将其删除。

但是这有一个结果 - 你只能在创建的AppDomain中使用解压缩的dll。 一些谷歌搜索可能会给你更多的信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM