【问题标题】:Oracle Visual Studio dev on x64 box, targeting x86, getting incorrect format errorx64 机器上的 Oracle Visual Studio 开发,针对 x86,出现不正确的格式错误
【发布时间】:2025-11-28 02:05:02
【问题描述】:

我正在编写一个需要调用 Oracle 数据库的 Windows 服务。我为编译器设置了 .Net 2.0 和 x86 的目标环境。我在我的 11.2.0 客户端上为 oracle 引用了 Oracle.DataAccess.dll 文件。如果我将它复制到 GAC 中,它会显示为 x86 架构。

现在,每当我尝试编译服务时,都会收到“尝试加载格式不正确的程序”错误。它显示在服务的 resx 文件以及 ServiceInstaller resx 文件中。

无论我是针对 x86 还是 x64 平台,都会发生这种情况。也不管设置DLL是否复制本地。知道有什么问题吗?

【问题讨论】:

    标签: windows-services x86 odp.net


    【解决方案1】:

    ODP.NET 不是完全托管的,因此它调用 32 位非托管支持 DLL(如果您安装了 32 位 ODAC)或 64 位非托管支持 DLL(如果您安装了 64 位 ODAC)。

    首先,您需要正确设置目标,然后您需要确保选择正确的 Oracle DLL。

    在这种情况下,您选择了 x86(32 位),这意味着您还需要安装 32 位 ODAC 并确保您没有错误地引用 64 位 Oracle dll。

    克里斯蒂安·谢伊
    甲骨文

    【讨论】:

      最近更新 更多