如何在 IronPython 中卸载 .NET 程序集引用

发布于 2024-08-04 02:29:57 字数 211 浏览 7 评论 0原文

加载对程序集的引用后,例如:

import clr
clr.AddRferenceToFileAndPath(r'C:\foo.dll')

如何再次卸载程序集?

为什么有人想要这样做?因为我正在重新编译 foo.dll 并想要重新加载它,但编译器让我大惊小怪,因为 IronPython 已经准备好访问 foo.dll 了。

After loading a reference to an assembly with something like:

import clr
clr.AddRferenceToFileAndPath(r'C:\foo.dll')

How can I unload the assembly again?

Why would anyone ever want to do this? Because I'm recompiling foo.dll and want to reload it, but the compiler is giving me a fuss, since IronPython is allready accessing foo.dll.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我不是你的备胎 2024-08-11 02:29:57

.NET 本身不支持仅卸载单个程序集。相反,您需要卸载整个 AppDomain。我不知道 IronPython 是如何与 AppDomain 一起工作的,但这是正常的 .NET 处理方式。 (将程序集加载到新的AppDomain中,使用它,丢弃AppDomain,使用新版本的文件创建一个新的AppDomain等。 )

.NET itself doesn't support unloading just a single assembly. Instead, you need to unload a whole AppDomain. I don't know exactly how IronPython works with AppDomains, but that's the normal .NET way of doing things. (Load the assembly into a new AppDomain, use it, discard the AppDomain, create a new AppDomain with the new version of the file etc.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文