我的问题:我有 2 个版本的程序集,并且想在我的 Python 项目中同时使用它们。
.NET 库安装在 GAC (MSIL) 中,具有相同的公共令牌:
lib.dll (1.0.0.0)
lib.dll (2.0.0.0)
在 Python 中,我想要这样的东西:
import clr
clr.AddReference("lib, Version=1.0.0.0, ...")
from lib import Class
myClass1 = Class()
myClass1.Operation()
*magic*
clr.AddReference("lib, Version=2.0.0.0, ...")
from lib import class
myClass2 = Class()
myClass2.Operation()
myClass2.OperationFromVersion2()
*other stuff*
# both objects should be accessibly
myClass1.Operation()
myClass2.OperationFromVersion2()
有没有办法做到这一点?AppDomains 或 bindingRedirect 的东西?
注意:当然 myClass1.operationFromVersion2() 可能会失败......