gpt4 book ai didi

asp.net - 如何使 ODP.NET 4.0(64 位)在 64 位计算机 Windows 7 上运行?

转载 作者:可可西里 更新时间:2023-11-01 09:56:33 26 4
gpt4 key购买 nike

我已经使用 Oracle 提供的 XCopy 11.2 为 64 位机器安装了 Oracle 客户端(按照自述说明安装所有内容)。

我使用的是 Visual Studio 2010,项目类型为 ASP.NET 网站。

当我尝试使用上面安装的 Oracle Connection 来执行我的 ASP.NET 网站时..它在编译期间给我 web.config 文件的错误。

**

"Could not load file or assembly 'Oracle.DataAccess, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified"

**

如果我在 IIS 应用程序池中将启用 32 位应用程序的值更改为 True,它就会起作用。

但我的要求是让它在具有 64 位 ODP.NET 连接器的 64 位机器上运行,所以我不想将启用 32 位应用程序的值更改为 True。

所以,如果你能帮我找到一个答案,我将不胜感激。请帮助我修复上述错误。

最佳答案

处理此问题的最佳方法是在本地使用 x86 版本的 Visual Studio,在服务器上使用 x64 版本的 IIS。为此,您必须下载两个版本 - 在文件夹 lib\x86 中复制一个,在 lib\x64 中复制另一个在此之后,您必须修改项目文件 - visual studio 支持条件引用。将以下部分添加到您的项目文件中:

<PropertyGroup>
<ReferencesPath Condition=" '$(Platform)' == 'x86' ">..\Lib\x86</ReferencesPath>
<ReferencesPath Condition=" '$(Platform)' == 'x64' ">..\Lib\x64</ReferencesPath>
</PropertyGroup>

在引用 odp.net 之后像这样:

<Reference ... processorArchitecture=$(Platform)">
<SpecificVersion>False</SpecificVersion>
<HintPath>$(ReferencesPath)\Oracle.DataAccess.dll</HintPath>
<Private>True</Private>
</Reference>

这样,当您可以在本地构建为 x86 并在服务器上构建为 x64 时,将始终引用正确版本的 Oracle.DataAccess.dll。

或者,如果您只想使用 x64 版本,那么即使您在本地工作也必须坚持使用 IIS,或者您可以尝试在 x64 模式下运行 Cassini 的开源版本 (http://cassinidev.codeplex.com) .

对我来说,最好的办法是引用上述两个版本 - 这对我团队中的每个人来说都很好用了一段时间。

关于asp.net - 如何使 ODP.NET 4.0(64 位)在 64 位计算机 Windows 7 上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6272190/

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