Sí, Visual Studio es una aplicación de 32 bits.
Depende de su destino de compilación (x86 o x64 o AnyCPU ) qué Cliente de Oracle necesita para ejecutar/depurar su aplicación, independientemente de la arquitectura de Visual Studio.
AnyCPU se ejecutará como 64 bits en Windows de 64 bits (lo que probablemente sea el caso)
Oracle.DataAccess no aparece porque es un ensamblado de 64 bits pero su Visual Studio es de 32 bits.
Hay varias soluciones:
-
En
Add Referencesuse elBrowsey busqueOracle.DataAccess.dlla mano. Normalmente lo encontrará en la carpeta%ORACLE_HOME%\odp.net\bin\2.x\o%ORACLE_HOME%\odp.net\bin\4\ -
Abre tu
*.csproj, resp.*.vbprojarchivo con un editor de texto y agregue la referencia manualmente, es decir, agregue líneas como esta en el elemento<ItemGroup>:<Reference Include="Oracle.DataAccess"> <SpecificVersion>False</SpecificVersion> <Private>False</Private> </Reference>Nota:atributos como
Version=...oprocessorArchitecture=...no son necesarios. Su aplicación cargará elOracle.DataAccess.dllcorrecto según la arquitectura seleccionada y el marco .NET de destino (siempre que esté instalado correctamente, también en su máquina de destino) -
Instale Oracle Client x86 y x64 en su máquina. Aquí hay una instrucción sobre cómo hacer esto:Desbordamiento de pila:instale Oracle x86 y x64
-
Utilice el controlador administrado ODP.NET de Oracle. Puede descargarlo desde aquí:Descargas de Oracle Data Access Components (ODAC) de 64 bits Esto también funciona con aplicaciones de 32 bits.
-
Abra su editor de registro y verifique si RegKey
HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\ODP.NETresp.HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.NETexistir. Ambas RegKeys contienen solo el(Default)valor con la ubicación de suOracle.DataAccess.dll.Ejemplo:
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" -
Verifique su marco de destino en las opciones de compilación. Cuando tenga instalada la versión 4.x de ODP.NET, debe seleccionar el destino
.NET Framework 4o superior para ver la entrada ODP.NET en la lista de referencia.