Tak, Visual Studio to aplikacja 32-bitowa.
Zależy to od celu kompilacji (x86
lub x64
lub AnyCPU
), którego klienta Oracle potrzebujesz do uruchamiania/debugowania aplikacji, niezależnie od architektury z Visual Studio.
AnyCPU
będzie działać jako 64-bitowy w 64-bitowym systemie Windows (co najprawdopodobniej ma miejsce)
Oracle.DataAccess
nie pojawia się, ponieważ jest to zestaw 64-bitowy, ale Twój Visual Studio jest 32-bitowy.
Istnieje kilka rozwiązań:
-
W
Add References
użyjBrowse
sekcji i znajdźOracle.DataAccess.dll
ręcznie. Zazwyczaj znajdziesz go w folderze%ORACLE_HOME%\odp.net\bin\2.x\
lub%ORACLE_HOME%\odp.net\bin\4\
-
Otwórz swój
*.csproj
, ew.*.vbproj
plik z edytorem tekstu i dodaj referencję ręcznie, tj. dodaj takie linie pod elementem<ItemGroup>
:<Reference Include="Oracle.DataAccess"> <SpecificVersion>False</SpecificVersion> <Private>False</Private> </Reference>
Uwaga:atrybuty takie jak
Version=...
lubprocessorArchitecture=...
nie są wymagane. Twoja aplikacja załaduje poprawny plikOracle.DataAccess.dll
w zależności od wybranej architektury i docelowego frameworka .NET (pod warunkiem, że jest poprawnie zainstalowany - również na komputerze docelowym) -
Zainstaluj na swoim komputerze klienta Oracle x86 i x64. Oto instrukcja, jak to zrobić:Przepełnienie stosu - Zainstaluj Oracle x86 i x64
-
Użyj sterownika zarządzanego ODP.NET firmy Oracle. Możesz go pobrać stąd:Pobieranie 64-bitowych komponentów Oracle Data Access Components (ODAC) Działa to również z aplikacjami 32-bitowymi.
-
Otwórz edytor rejestru i sprawdź, czy RegKey
HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\ODP.NET
ew.HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.NET
istnieć. Oba klucze RegKey zawierają tylko(Default)
wartość z lokalizacją twojegoOracle.DataAccess.dll
.Przykład:
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"
-
Sprawdź swoją platformę docelową w opcjach kompilacji. Jeśli masz zainstalowany ODP.NET w wersji 4.x, musisz wybrać docelowy
.NET Framework 4
lub wyżej, aby zobaczyć wpis ODP.NET na liście referencyjnej.