微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何获得python加载混合模式.dlls引用的.NET .dll?

我有一个python .pyd,它是一个混合模式的C ++ DLL。 该DLL加载正常并加载非托pipeC ++ dll没有问题,但是当它试图加载托pipeC ++ dlls引用的.NET dll时,它会失败,并显示以下错误消息:

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly '...'

将这些.NET dll复制到pythod_d.exe所在的目录中,可以使.NET库成功加载,但这不是一个好的长期解决scheme。 有一个环境variables,我必须设置或一些命令行选项python_d.exe,将解决我的问题?

请注意,使用IronPython或Python .NET是不可接受的。

testing鼠标指针在哪个屏幕上

我应该知道如何构build像WPF这样的框架?

如何取消引用一个函数指针并读取为MSVC ++下的数据?

AWS:不能以英文以外的其他语言启动Windows Server 2012 R2 Base

如何获得Windows会话列表?

Node.js在IIS6下运行

使用存储在文件中的variables来触发事件

替代money_format()在Windows平台上的PHP函数

如何将c控制台应用程序附加到运行的进程

节点提供空白页面

我想我已经解决了这个问题。 程序集加载不使用SetDllDirectory()设置的路径,它看起来像Python调用这个函数。 通过注册事件AppDomain.AssemblyResolve()的委托,我可以捕获失败的DLL的名称,将其附加到从GetDllDirectory()获取的目录中,然后手动加载该程序集。

我有一点这方面的经验。 我认为这与http://effbot.org/pyfaq/is-a-pyd-file-the-same-as-a-dll.htm中所述的路径和初始化问题有关。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐