Ya, Visual Studio adalah aplikasi 32bit.
Itu tergantung pada target kompilasi Anda (x86
atau x64
atau AnyCPU
) Klien Oracle mana yang Anda perlukan untuk menjalankan/men-debug aplikasi Anda, apa pun arsitekturnya dari Visual Studio.
AnyCPU
akan berjalan sebagai 64 bit pada Windows 64 bit (yang kemungkinan besar terjadi)
Oracle.DataAccess
tidak muncul karena merupakan rakitan 64bit tetapi Visual Studio Anda 32bit.
Ada beberapa solusi:
-
Di
Add References
gunakanBrowse
bagian dan cariOracle.DataAccess.dll
secara manual. Biasanya Anda akan menemukannya di folder%ORACLE_HOME%\odp.net\bin\2.x\
atau%ORACLE_HOME%\odp.net\bin\4\
-
Buka
*.csproj
, hal.*.vbproj
file dengan editor teks dan tambahkan referensi secara manual, yaitu tambahkan baris seperti ini di bawah elemen<ItemGroup>
:<Reference Include="Oracle.DataAccess"> <SpecificVersion>False</SpecificVersion> <Private>False</Private> </Reference>
Catatan:atribut seperti
Version=...
atauprocessorArchitecture=...
tidak diperlukan. Aplikasi Anda akan memuatOracle.DataAccess.dll
yang benar tergantung pada arsitektur yang dipilih dan target .NET framework (asalkan diinstal dengan benar - juga pada mesin target Anda) -
Instal Oracle Client x86 dan x64 di mesin Anda. Berikut adalah instruksi bagaimana melakukannya:Stack Overflow - Instal Oracle x86 dan x64
-
Gunakan Driver Terkelola ODP.NET dari Oracle. Anda dapat mengunduhnya dari sini:Unduhan Komponen Akses Data Oracle (ODAC) 64-bit Ini juga berfungsi dengan aplikasi 32bit.
-
Buka Registry editor Anda dan periksa apakah RegKey
HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\ODP.NET
jawabHKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.NET
ada. Kedua RegKeys hanya berisi(Default)
nilai dengan lokasiOracle.DataAccess.dll
Anda .Contoh:
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"
-
Periksa Kerangka target Anda dalam opsi kompilasi. Saat Anda menginstal ODP.NET versi 4.x, Anda harus memilih target
.NET Framework 4
atau lebih tinggi untuk melihat entri ODP.NET dalam daftar referensi.