Ja, Visual Studio är ett 32-bitars program.
Det beror på ditt kompileringsmål (x86
eller x64
eller AnyCPU
) vilken Oracle-klient du behöver för att köra/felsöka din applikation, oavsett arkitekturen från Visual Studio.
AnyCPU
kommer att köras som 64-bitars på ett 64-bitars Windows (vilket troligen är fallet)
Oracle.DataAccess
visas inte eftersom det är en 64-bitars assembly men din Visual Studio är 32-bitars.
Det finns flera lösningar:
-
I
Add References
användBrowse
och leta uppOracle.DataAccess.dll
manuellt. Vanligtvis hittar du den i mappen%ORACLE_HOME%\odp.net\bin\2.x\
eller%ORACLE_HOME%\odp.net\bin\4\
-
Öppna din
*.csproj
, resp.*.vbproj
fil med en textredigerare och lägg till referens manuellt, d.v.s. lägg till rader som denna under elementet<ItemGroup>
:<Reference Include="Oracle.DataAccess"> <SpecificVersion>False</SpecificVersion> <Private>False</Private> </Reference>
Obs:attribut som
Version=...
ellerprocessorArchitecture=...
krävs inte. Ditt program kommer att ladda rättOracle.DataAccess.dll
beroende på vald arkitektur och mål-.NET-ramverk (förutsatt att det är korrekt installerat - även på din måldator) -
Installera både x86 och x64 Oracle Client på din dator. Här är en instruktion hur du gör detta:Stack Overflow - Installera Oracle x86 och x64
-
Använd ODP.NET Managed Driver från Oracle. Du kan ladda ner den härifrån:Nedladdningar av 64-bitars Oracle Data Access Components (ODAC) Detta fungerar även med 32-bitars applikationer.
-
Öppna din registerredigerare och kontrollera om RegKey
HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\ODP.NET
resp.HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.NET
existera. Båda RegKeys innehåller endast(Default)
värde med platsen för dinOracle.DataAccess.dll
.Exempel:
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"
-
Kontrollera ditt målramverk i kompileringsalternativ. När du har installerat ODP.NET version 4.x måste du välja mål
.NET Framework 4
eller högre för att se ODP.NET-posten i referenslistan.