加载 32 位 DLL 时出现 BadImageFormatException,目标为 x86

2023-11-27

我有一个 DLL (FreeType),它肯定是 32 位的(标头:IMAGE_FILE_MACHINE_I386)。

我想通过 DllImport 从 C# 代码中使用它。

我的应用程序的目标是x86,IntPtr.Size是4,进程是32位。

但我得到 BadImageFormatException (来自 HRESULT 的异常:0x8007000B)。有什么问题吗?

当然我用的是64位Windows 7。


据我了解,专门为 x86 构建并在 64 位操作系统中运行的程序集只能加载为 x86 构建的库,否则将引发 BadImageFormatException。在 64 位操作系统中,为任何 CPU 或 x64 构建的程序集在尝试加载 x86 库时将引发相同的异常。

因此,假设没有发生任何异常奇怪的情况,我将确保您已通过打开项目属性并单击“构建”选项卡将应用程序设置为构建为 x86。确保“平台目标”设置为“x86”而不是任何 CPU。

或者,您可以尝试查找 DLL 的 64 位版本以进行测试。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

加载 32 位 DLL 时出现 BadImageFormatException,目标为 x86 的相关文章

  • C 编程 - 文件 - fwrite

    我有一个关于编程和文件的问题 while current NULL if current gt Id Doctor 0 current current gt next id doc current gt Id Doctor if curre
  • “构建”构建我的项目,“构建解决方案”则不构建

    我刚刚开始使用VS2010 我有一个较大的解决方案 已从 VS2008 成功迁移 我已将一个名为 Test 的控制台应用程序项目添加到解决方案中 选择构建 gt 构建解决方案不编译新项目 选择构建 gt 构建测试确实构建了项目 在失败的情况
  • WCF RIA 服务 - 加载多个实体

    我正在寻找一种模式来解决以下问题 我认为这很常见 我正在使用 WCF RIA 服务在初始加载时将多个实体返回给客户端 我希望两个实体异步加载 以免锁定 UI 并且我想利用 RIA 服务来执行此操作 我的解决方案如下 似乎有效 这种方法会遇到
  • 按成员序列化

    我已经实现了template
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • 类模板参数推导 - clang 和 gcc 不同

    下面的代码使用 gcc 编译 但不使用 clang 编译 https godbolt org z ttqGuL template
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • 堆栈溢出:堆栈空间中重复的临时分配?

    struct MemBlock char mem 1024 MemBlock operator const MemBlock b const return MemBlock global void foo int step 0 if ste
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • 创建链表而不将节点声明为指针

    我已经在谷歌和一些教科书上搜索了很长一段时间 我似乎无法理解为什么在构建链表时 节点需要是指针 例如 如果我有一个节点定义为 typedef struct Node int value struct Node next Node 为什么为了
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 如何从两个不同的项目中获取文件夹的相对路径

    我有两个项目和一个共享库 用于从此文件夹加载图像 C MainProject Project1 Images 项目1的文件夹 C MainProject Project1 Files Bin x86 Debug 其中有project1 ex
  • 是否可以在 .NET Core 中将 gRPC 与 HTTP/1.1 结合使用?

    我有两个网络服务 gRPC 客户端和 gRPC 服务器 服务器是用 NET Core编写的 然而 客户端是托管在 IIS 8 5 上的 NET Framework 4 7 2 Web 应用程序 所以它只支持HTTP 1 1 https le
  • C# - OutOfMemoryException 在 JSON 文件上保存列表

    我正在尝试保存压力图的流数据 基本上我有一个压力矩阵定义为 double pressureMatrix new double e Data GetLength 0 e Data GetLength 1 基本上 我得到了其中之一pressur
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现
  • 如何防止用户控件表单在 C# 中处理键盘输入(箭头键)

    我的用户控件包含其他可以选择的控件 我想实现使用箭头键导航子控件的方法 问题是家长控制拦截箭头键并使用它来滚动其视图什么是我想避免的事情 我想自己解决控制内容的导航问题 我如何控制由箭头键引起的标准行为 提前致谢 MTH 这通常是通过重写

随机推荐

  • 旧应用程序的 PAM 身份验证

    我有一个遗留应用程序 它通过网络异步接收用户名 密码请求 由于我已经将用户名和密码存储为变量 那么在 Linux Debian 6 上使用 PAM 进行身份验证的最佳方法是什么 我尝试编写自己的对话函数 但我不确定将密码输入其中的最佳方法
  • YouTube 链接的正则表达式

    是否有人有一个正则表达式 可以从 几乎 所有可能的 Youtube 链接方式获取 Youtube 视频 非嵌入对象 的链接 我认为这是一个非常常见的问题 并且我确信有很多方法可以将其联系起来 起点是 http www youtube com
  • 修改 String 的 List 迭代

    我无法以这种方式修改列表的元素 for String s list s x s 执行后此列表中的代码元素未更改 如何用最简单的方式通过List实现modyfing的迭代 Since String对象是不可变的 您无法更改正在迭代的值 此外
  • 如何通过 TFS API 获取最新的变更集编号

    如何通过 TFS API 获取最新的变更集编号 你能给我举个例子吗 干得好 TeamProjectPicker tpp new TeamProjectPicker TeamProjectPickerMode SingleProject tr
  • jqGrid:如何在不同页面上使用多选

    简单的问题 很难找到答案 如果我尝试以编程方式选择一行 我会使用以下命令 grid jqGrid setSelection rowId 问题是它只选择当前可见页面上的行 如果rowId在另一页上 则不会被选择 更多信息 我的目标是在第一次加
  • C++函数计算字符串中的所有单词

    我在一次采访中被问到这个问题 显然这是一个简单的问题 但对我来说不是 而且仍然不明显 给定一个字符串 计算其中的所有单词 即使重复也没关系 只是总数 就像文本文件的字数一样 单词是由空格分隔的任何内容 标点符号并不重要 只要它是单词的一部分
  • Python for 循环中的变量赋值

    我知道在Python中 常规的C 风格的变量赋值被对东西的引用所取代 即 a 1 2 3 b a a append 4 print b gives 1 2 3 4 print a gives 1 2 3 4 但我仍然很困惑为什么基本类型会出
  • 如何将自定义模板页面添加到夹层?

    我已经在夹层上玩了几天了 我一直在关注这个blog 这非常有帮助 我现在需要制作一堆需要基于自定义模板的页面 我的自定义模板称为content html 我已经把它放进去了myProject gt myApp theme folder gt
  • 使用 Json.net 将 JSON 数组中的多个项目添加到 C# 中的对象

    谁能告诉我如何反序列化包含多个属性的对象 鉴于下面的场景 代码可以正常工作 public ActionResult Index string json name Person 2 email email protected var emp
  • 我需要在react-native项目中保留.watchmanconfig文件吗

    默认反应本机项目生成 watchmanconfig只是空对象的文件 我可以安全地删除它吗 一个子问题是 我可以做 参考任何看守配置来以某种方式改善反应本机项目体验吗 watchmanconfig可以安全删除 If Watchman没有找到
  • Keycloak - 将所有用户映射到角色

    我知道keycloak已经暴露了下面的api
  • 自定义功能区 onAction 语法问题

    我跟着这里的路线为 Access 应用程序创建自定义功能区 但所有按钮都不起作用 我不断收到一条错误消息 指出 Access 无法找到该函数或宏 即使它是公共的且位于标准模块中 最终我发现如果我使用以下语法它会起作用 onAction fn
  • ViewPager2 无法动态添加删除片段

    在索引处删除 添加片段会导致 Viewpager2 中出现意外行为 这是不可能的ViewPager但预计将与Viewpager2 它会导致重复片段和不同步TabLayout 这是一个演示项目重现了这个问题 有一个切换按钮 可以删除片段并将其
  • Keras 的 dropout 实现正确吗?

    The KerasDropout参考的实施这张纸 以下摘录自该论文 这个想法是在测试时使用单个神经网络而不丢失 该网络的权重是经过训练的按比例缩小的版本 重量 如果在训练期间以概率 p 保留一个单元 则 该单元的输出重量在测试时乘以 p 为
  • git:当前分支和分支创建之间的差异

    想象一下 我三天前创建了分支 B 这是我目前正在工作的分支 现在我想知道自创建分支以来发生了什么变化 X 这给出了 B 和 X 之间的差异 如图中的虚线 git diff A 上面的命令很方便 因为它很短而且我不需要记住 X 但是 我超级懒
  • Caffe 训练无需测试

    我在用Caffe在已知图像数据库上训练 AlexNet 我正在进行基准测试并希望排除测试阶段 这里是solver prototxt对于亚历克斯网络 net models bvlc alexnet train val prototxt tes
  • 从 AppDelegate 呈现特定的视图控制器

    每次我的应用程序处于活动状态时 我都尝试呈现一个视图控制器 密码请求类型视图 输入正确的密码后 它应该从堆栈中弹出 我尝试推送的密码视图不是初始视图控制器 因此我无法从 AppDelegate 的 applicationDidBecomeA
  • 使用 cmd.exe 时如何处理引号字符

    我正在尝试这样做 cmd exe C C Program Files Somewhere SomeProgram exe gt C temp Folder Containing Spaces SomeProgram out 但是 我遇到了与
  • 在星型模式中,事实和维度之间的外键约束是否必要?

    我第一次接触数据仓库 我想知道事实和维度之间是否有必要有外键约束 没有它们有什么主要缺点吗 我目前正在使用关系星型模式 在传统应用程序中 我习惯了它们 但我开始怀疑在这种情况下是否需要它们 我目前在 SQL Server 2005 环境中工
  • 加载 32 位 DLL 时出现 BadImageFormatException,目标为 x86

    我有一个 DLL FreeType 它肯定是 32 位的 标头 IMAGE FILE MACHINE I386 我想通过 DllImport 从 C 代码中使用它 我的应用程序的目标是x86 IntPtr Size是4 进程是32位 但我得