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 References
usa ilBrowse
sezione e individuareOracle.DataAccess.dll
manualmente. 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.*.vbproj
file 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.dll
corretto 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.NET
risp.HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.NET
esistere. 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 4
o superiore per vedere la voce ODP.NET nell'elenco di riferimento.