Python for .NET - 删除DLL引用

时间:2013-12-05 15:46:30

标签: c# python .net dll python.net

我目前正在使用Python for .NET从C#DLL调用方法。这是我的代码:

# Common Language Runtime
import clr
# Import DLL
clr.AddReference("MyDLL")
# Import class
from MyNamespace import MyClass
# Instantiation
my_instance = MyClass()
# Call methods
my_instance.myMethod()

现在,我想在完成我的实例后卸载并删除DLL引用,这样我就可以做任何与DLL文件有关的事情(比如重新生成它)。我已经阅读了Python for .NET文档,但我找不到任何关于这个问题的内容。

1 个答案:

答案 0 :(得分:4)

这是在SO上发布的similar question。 Jon似乎回应了我所说的内容 - 你无法从上下文中删除单个引用(AppDomain)。

我遇到了一个使用这段代码的在线代码段:

clr.ClearProfilerData() #unload the .dll file so the file lock is released

我假设您要卸载DLL,因为您想重新编译它,但编译器抱怨进程仍在使用它?也许使用上面的方法会释放它吗?

编辑:作为后续行动,如果您想更多地研究它,请尝试this想法。也就是说,在C#中创建Python实例,将其加载到自定义AppDomain中,并在完成后卸载自定义AppDomain。 :)