2009-11-10 116 views
2

我在更新到Windows 7 64位并运行现有的.NET网站后收到此错误。如何编译网站以在64位Windows上使用32位Oracle客户端

[InvalidOperationException: Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.] 

我只安装安装了32位Oracle客户端,我知道,我的64位开发机上的应用期待64位库除非明确说明。这是来自我迄今为止所做的搜索。

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

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

干杯

回答

5

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

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

+0

:)刚刚发现 - 我花了这么长时间试图让这个工作我错过了明显的,我现在得到另一个错误,我相信是我的Oracle客户端的问题,但我正在取得进展!干杯 – 2009-11-10 10:59:36

相关问题