Có, Visual Studio là một ứng dụng 32 bit.
Nó phụ thuộc vào mục tiêu biên dịch của bạn (x86
hoặc x64
hoặc AnyCPU
) Ứng dụng khách Oracle nào bạn cần để chạy / gỡ lỗi ứng dụng của mình, bất kể kiến trúc từ Visual Studio.
AnyCPU
sẽ chạy dưới dạng 64 bit trên Windows 64 bit (rất có thể là trường hợp này)
Oracle.DataAccess
không xuất hiện bởi vì nó là một hợp ngữ 64 bit nhưng Visual Studio của bạn là 32 bit.
Có một số giải pháp:
-
Trong
Add References
sử dụngBrowse
và định vịOracle.DataAccess.dll
thủ công. Thông thường, bạn sẽ tìm thấy nó trong thư mục%ORACLE_HOME%\odp.net\bin\2.x\
hoặc%ORACLE_HOME%\odp.net\bin\4\
-
Mở
*.csproj
của bạn , tương ứng.*.vbproj
tệp bằng trình soạn thảo văn bản và thêm tham chiếu theo cách thủ công, tức là thêm các dòng như thế này dưới phần tử<ItemGroup>
:<Reference Include="Oracle.DataAccess"> <SpecificVersion>False</SpecificVersion> <Private>False</Private> </Reference>
Lưu ý:các thuộc tính như
Version=...
hoặcprocessorArchitecture=...
không bắt buộc. Ứng dụng của bạn sẽ tải đúngOracle.DataAccess.dll
tùy thuộc vào kiến trúc đã chọn và khung .NET mục tiêu (miễn là nó được cài đặt đúng cách - cũng trên máy mục tiêu của bạn) -
Cài đặt cả X86 và x64 Oracle Client trên máy của bạn. Đây là hướng dẫn cách thực hiện việc này:Stack Overflow - Cài đặt Oracle x86 và x64
-
Sử dụng Trình điều khiển được quản lý ODP.NET của Oracle. Bạn có thể tải xuống từ đây:Tải xuống Cấu phần Truy cập Dữ liệu Oracle (ODAC) 64-bit Tính năng này cũng hoạt động với các ứng dụng 32 bit.
-
Mở trình chỉnh sửa sổ đăng ký của bạn và kiểm tra xem RegKey
HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\ODP.NET
tương ứngHKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.NET
hiện hữu. Cả hai RegKeys chỉ chứa(Default)
giá trị với vị trí củaOracle.DataAccess.dll
của bạn .Ví dụ:
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"
-
Kiểm tra Khung mục tiêu của bạn trong các tùy chọn biên dịch. Khi bạn đã cài đặt ODP.NET phiên bản 4.x, bạn phải chọn target
.NET Framework 4
hoặc cao hơn để xem mục nhập ODP.NET trong danh sách tham chiếu.