c++ - 如何在 64 位 vb.net windows 应用程序中引用 32 位 dll
问题描述
我们正在 vb.net 中开发一个 Windows 窗体应用程序,该解决方案中有 400 多个项目,并且构建在 64 位架构中。现在,我们有一个具有 32 位架构的 c++ 类型的外部 dll,我们可以在我们的应用程序中引用它,但是会抛出这样的错误
“试图加载格式不正确的程序。(来自 hresult 的异常:0x8007000в)”
无论如何,我可以在不将所有 400 个项目更改为 32 位架构的情况下运行应用程序并引用 dll 吗?
解决方案
您不能在 64 位进程中加载 32 位 DLL。
您需要实现一个 32 位 EXE 进程来托管 DLL,并发明一种 IPC 机制来代理对其的调用。进程外的COM EXE 似乎是可能的选择。
推荐阅读
- yii2 - 从控制器传递到 Yii 中的视图时,值为 null
- java - 我的 Thymeleaf/HTML 不喜欢 th: 前缀,并且在表单中时不会呈现页面
- angular - Angular 6中两种方式绑定的问题
- vue.js - 使用element ui上传多张图片如何获取图片路径存储在imgarr arrary中
- php - Jquery获取动态表中相同项目的组总和
- ruby-on-rails - 在 Rails after_create 中添加默认值
- c# - 在某些情况下,UWP C# 应用程序 (XAML) 拉伸页面会导致按钮被切断。
- javascript - 我怎样才能 window.open 用不同的图像打开不同的href
- node.js - UnhandledPromiseRejectionWarning:错误:找不到模块'/MyProject/node_modules/react-native-scripts/build/scripts/init.js'
- c# - 区分 OnParticleCollision 中的不同 Collider