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 References
use elBrowse
y busqueOracle.DataAccess.dll
a 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.*.vbproj
archivo 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.dll
correcto 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.NET
resp.HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.NET
existir. 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 4
o superior para ver la entrada ODP.NET en la lista de referencia.