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 ReferencesużyjBrowsesekcji i znajdźOracle.DataAccess.dllrę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.*.vbprojplik 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.dllw 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.NETew.HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.NETistnieć. 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 4lub wyżej, aby zobaczyć wpis ODP.NET na liście referencyjnej.