gpt4 book ai didi

在 Visual Studio 2013 中无法选择 Oracle.DataAccess

转载 作者:行者123 更新时间:2023-12-04 23:20:25 25 4
gpt4 key购买 nike

我最近使用 Visual Studio 2013(可能是 32 位,至少它安装在 Program Files (x86) 上)设置了 Windows 8.1 64 位机器。
我还安装了带有 Oracle Data Provider for .NET 的 Oracle 11.2.0.1 64 位客户端。

当我做 gacutil/l | findstr Oracle.DataAccess,我得到四个条目,包括以下内容:

Oracle.DataAccess, Version=2.112.1.0, ..., processorArchitecture=AMD64

但是,在尝试添加程序集时,我无法在任何列表中找到 Oracle.DataAccess(不过,Oracle.Web 存在于程序集-> 扩展程序下)。

由于 Visual Studio 是 32 位,我是否必须安装 32 位 Oracle 客户端(或只是 32 位 ODP.NET)?如果是这样,该软件能否在具有 64 位应用程序和 64 位 Oracle 客户端(具有 64 位 ODP.NET)的 64 位系统上运行?

最佳答案

是的,Visual Studio 是一个 32 位应用程序。

这取决于您的编译目标( x86x64AnyCPU )运行/调试应用程序所需的 Oracle 客户端,而与 Visual Studio 的体系结构无关。
AnyCPU将在 64 位 Windows 上以 64 位运行(这很可能是这种情况)
Oracle.DataAccess不会出现,因为它是 64 位程序集,但您的 Visual Studio 是 32 位。

有几种解决方案:

  • Add References使用 Browse部分并找到 Oracle.DataAccess.dll手动。通常您会在文件夹 %ORACLE_HOME%\odp.net\bin\2.x\ 中找到它或 %ORACLE_HOME%\odp.net\bin\4\
  • 打开您的 *.csproj ,分别*.vbproj使用文本编辑器创建文件并手动添加引用,即在元素 <ItemGroup> 下添加这样的行:
    <Reference Include="Oracle.DataAccess">
    <SpecificVersion>False</SpecificVersion>
    <Private>False</Private>
    </Reference>

    注意:属性如 Version=...processorArchitecture=...不是必需的。您的应用程序将加载正确的 Oracle.DataAccess.dll取决于选定的体系结构和目标 .NET 框架(前提是它已正确安装 - 也在您的目标机器上)
  • 在您的机器上安装 x86 和 x64 Oracle Client。这是如何执行此操作的说明:Stack Overflow - Install Oracle x86 and x64
  • 使用 Oracle 的 ODP.NET 托管驱动程序。您可以从这里下载:64-bit Oracle Data Access Components (ODAC) Downloads这也适用于 32 位应用程序。
  • 打开您的注册表编辑器并检查 RegKey HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\ODP.NET分别HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.NET存在。两个 RegKey 都只包含 (Default)您所在位置的值(value) Oracle.DataAccess.dll .

    例子:
    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\ODP.Net]
    @="c:\\oracle\\product\\11.2\\Client_x86\\odp.net\\bin\\2.x"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.Net]
    @="c:\\oracle\\product\\11.2\\Client_x86\\odp.net\\bin\\4"
  • 在编译选项中检查您的目标框架。安装 ODP.NET 4.x 版后,必须选择目标 .NET Framework 4或更高,以便在引用列表中查看 ODP.NET 条目。
  • 关于在 Visual Studio 2013 中无法选择 Oracle.DataAccess,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28537783/

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