gpt4 book ai didi

c# - BadImageFormatException on DLL load and Provider not registered on local machine 问题

转载 作者:行者123 更新时间:2023-11-30 21:17:42 34 4
gpt4 key购买 nike

我正在运行 .NET 4.0 应用程序,Access Windows 7 x64 位操作系统 + Office 2010(64 位兼容提供商 Microsoft.ACE.OLEDB.12.0)上的数据库。

平台目标 x86:

  • 提供商问题:

    “Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册

平台目标 x64任何 CPU:

  • DLL文件问题:

    System.BadImageFormatException:无法加载文件或程序集“Interop.SHDocVw,Version=1.1.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。试图加载格式不正确的程序。

最佳答案

您可以通过安装 32 位版本的提供程序来解决第一个问题。下载 is here .

第二个问题非常很奇怪,互操作库应该只包含 IL,而不依赖于处理器架构。当我从 c:\windows\system32\shdocvw.dll 创建互操作 DLL 并在其上运行 CorFlags.exe 时,我得到了这个:

Version   : v2.0.50727
CLR Header: 2.5
PE : PE32
CorFlags : 1
ILONLY : 1
32BIT : 0
Signed : 0

注意 ILONLY 是如何打开的,32BIT 是关闭的。这应该可以在 64 位机器上运行。我现在还没有接近一个可以检查,请自己尝试进行比较。为了获得更好的答案,您应该记录您安装了哪个版本的 Internet Explorer 以及您是使用 64 位还是 32 位版本的 DLL 来生成互操作。后者在c:\windows\syswow64目录下。

关于c# - BadImageFormatException on DLL load and Provider not registered on local machine 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4655652/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com