问题描述
我正在尝试将旧的 Python 脚本从 Python-2.7 更新到 python-3.7(或更新版本)。该脚本使用 IronPython-2.7 连接到 C# dll,以便与 Windows 应用程序进行 SDK 交互。新代码实现了 pythonnet 库来接管 C# 交互。
脚本的“旧”状态有效并经过现场测试和验证。
python-3.7 样式的更新脚本在 C# 连接到应用程序时失败。
我试图通过首先在 Python-2.7 命令提示符下运行特定的失败代码来调试它。
从返回值“True”可以看出,在 2.7 环境中一切正常。
>>> import clr
>>> import System
>>> sdk = System.Activator.CreateInstance(type=System.Type.GetTypeFromProgID('AppSDK.Application'))
>>> print(sdk)
<System.__ComObject() object at 0x000000000000006C>
>>> sdk.Connect('localhost')
True
>>>
他们在 python-3.7 终端中测试了相同的代码。连接到应用程序时,此代码连接失败。
>>> import clr
>>> import System
>>> sdk = System.Activator.CreateInstance(type=System.Type.GetTypeFromProgID('AppSDK.Application'))
>>> print(sdk)
System.__ComObject
>>> sdk.Connect('localhost')
Traceback (most recent call last):
File "<stdin>",line 1,in <module>
AttributeError: '__ComObject' object has no attribute 'Connect'
这是一个具有 python-3.7 相关问题的特定 pythonnet 吗? 还是我错误地调用了与应用程序的连接?
BR, LVX
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)