Sì, Visual Studio è un'applicazione a 32 bit.
Dipende dalla destinazione della tua compilazione (x86 o x64 o AnyCPU ) quale client Oracle è necessario per eseguire/debug dell'applicazione, indipendentemente dall'architettura di Visual Studio.
AnyCPU funzionerà a 64 bit su Windows a 64 bit (che è molto probabilmente il caso)
Oracle.DataAccess non viene visualizzato perché è un assembly a 64 bit ma il tuo Visual Studio è a 32 bit.
Esistono diverse soluzioni:
-
In
Add Referencesusa ilBrowsesezione e individuareOracle.DataAccess.dllmanualmente. In genere lo troverai nella cartella%ORACLE_HOME%\odp.net\bin\2.x\o%ORACLE_HOME%\odp.net\bin\4\ -
Apri il tuo
*.csproj, risp.*.vbprojfile con un editor di testo e aggiungi il riferimento manualmente, ovvero aggiungi righe come questa sotto l'elemento<ItemGroup>:<Reference Include="Oracle.DataAccess"> <SpecificVersion>False</SpecificVersion> <Private>False</Private> </Reference>Nota:attributi come
Version=...oprocessorArchitecture=...non sono richiesti. La tua applicazione caricherà ilOracle.DataAccess.dllcorretto a seconda dell'architettura selezionata e del framework .NET di destinazione (a condizione che sia installato correttamente, anche sul computer di destinazione) -
Installa entrambi i client Oracle x86 e x64 sulla tua macchina. Ecco un'istruzione su come farlo:Stack Overflow - Installa Oracle x86 e x64
-
Utilizzare il driver gestito ODP.NET di Oracle. Puoi scaricarlo da qui:Download di Oracle Data Access Components (ODAC) a 64 bit Funziona anche con applicazioni a 32 bit.
-
Apri l'editor del registro e controlla se RegKey
HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\ODP.NETrisp.HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.NETesistere. Entrambi i RegKey contengono solo il(Default)valore con la posizione del tuoOracle.DataAccess.dll.Esempio:
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" -
Controlla il tuo Framework di destinazione nelle opzioni di compilazione. Quando hai installato ODP.NET versione 4.x devi selezionare la destinazione
.NET Framework 4o superiore per vedere la voce ODP.NET nell'elenco di riferimento.