Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个WinForm应用程序,在启动时我从嵌入式资源 (Properties.Resources) 中提取 *.dll。
WinForm
我的应用程序稍后需要它(Ionic.Zip-library)。但是当应用程序关闭时,我怎样才能删除这个 *.dll?因为现在我得到一个错误the access is denied
the access is denied
我首先需要取消引用它吗?或者还有另一种方法可以完全让 *.dll 进入我的 *.exe 吗?因为最后它应该只有一个 *.exe。
您无法从正在运行的 AppDomain 中卸载已加载的 dll。
但是,您可以启动一个新的AppDomain,在那里加载 dll,然后在关闭应用程序时卸载AppDomain。卸载 AppDomain 后,提取的 dll 不再被正在运行的进程引用,可以删除。
然而,这有一个后果 - 您只能在创建的 AppDomain 中使用您提取的 dll。 一些谷歌搜索可能会为您提供更多信息。