【问题标题】:How to compile a Website to use 32-bit Oracle Client on 64-bit Windows如何编译网站以在 64 位 Windows 上使用 32 位 Oracle 客户端
【发布时间】:2010-12-14 23:50:23
【问题描述】:

我在更新到 64 位 Windows 7 并运行现有的 .NET 网站后收到此错误。

[InvalidOperationException:尝试加载 Oracle 客户端库引发 BadImageFormatException。在安装了 32 位 Oracle 客户端组件的 64 位模式下运行时会出现此问题。]

我只安装了 32 位 Oracle 客户端,并且我知道在我的 64 位开发机器上,除非明确说明,否则应用程序需要 64 位库。这是我到目前为止所做的搜索。

我已经读到我可以将解决方案平台更改为 x86,这将指示应用程序使用 32 位(如果它找到的话)。我想这样做,但 Visual Studio 解决方案中的网站没有 x86 选项。

我创建了一个测试应用程序,我可以选择,我创建了一个测试网站,但它没有。如何将网站编译为 x86,以便使用 32 位 Oracle 客户端。

干杯

【问题讨论】:

    标签: .net 32bit-64bit web-site-project oracleclient


    【解决方案1】:

    在 IIS 管理器中,创建一个应用程序池并将该应用程序池设置为在 32 位模式下运行。然后使用 32 位 Oracle 客户端分配您的网站以在该 32 位应用程序池中运行。

    由于 IIS 为该应用程序池启动的工作进程是 32 位进程,因此当它尝试加载 CLR 时,它将加载 32 位 CLR,因此将以 32 位模式加载程序集。即使您的程序集针对 64 位和 32 位模式编译也是如此。然后,您在 32 位模式下运行的程序集可以调用在 32 位模式下运行的 Oracle 客户端。

    【讨论】:

    • :) 是的,我刚刚发现 - 我花了很长时间试图让它工作我错过了明显的,我现在得到另一个错误,我认为这是我的 Oracle 客户端的问题,但我米进步!干杯
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-08
    • 1970-01-01
    • 1970-01-01
    • 2020-11-19
    • 1970-01-01
    • 1970-01-01
    • 2019-10-11
    相关资源
    最近更新 更多