Да, Visual Studio е 32-битово приложение.
Зависи от целта ви за компилация (x86 или x64 или AnyCPU ) кой клиент на Oracle ви е необходим за стартиране/отстраняване на грешки в приложението ви, независимо от архитектурата от Visual Studio.
AnyCPU ще работи като 64-битов на 64-битов Windows (което най-вероятно е така)
Oracle.DataAccess не се появява, защото е 64-битов сбор, но вашето Visual Studio е 32-битово.
Има няколко решения:
-
В
Add ReferencesизползвайтеBrowseраздел и намеретеOracle.DataAccess.dllръчно. Обикновено ще го намерите в папка%ORACLE_HOME%\odp.net\bin\2.x\или%ORACLE_HOME%\odp.net\bin\4\ -
Отворете вашия
*.csproj, респ.*.vbprojфайл с текстов редактор и добавете препратка ръчно, т.е. добавете редове като този под елемент<ItemGroup>:<Reference Include="Oracle.DataAccess"> <SpecificVersion>False</SpecificVersion> <Private>False</Private> </Reference>Забележка:атрибути като
Version=...илиprocessorArchitecture=...не се изискват. Вашето приложение ще зареди правилнияOracle.DataAccess.dllв зависимост от избраната архитектура и целевата .NET рамка (при условие, че е инсталирана правилно - също и на вашата целева машина) -
Инсталирайте и x86, и x64 Oracle Client на вашата машина. Ето инструкции как да направите това:Stack Overflow - Инсталирайте Oracle x86 и x64
-
Използвайте управлявания драйвер ODP.NET от Oracle. Можете да го изтеглите от тук:Изтегляния на 64-битови компоненти за достъп до данни на Oracle (ODAC) Това работи и с 32-битови приложения.
-
Отворете редактора на системния регистър и проверете дали RegKey
HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\ODP.NETресп.HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.NETсъществуват. И двата RegKey съдържат само(Default)стойност с местоположението на вашияOracle.DataAccess.dll.Пример:
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" -
Проверете целевата си рамка в опциите за компилиране. Когато имате инсталиран ODP.NET версия 4.x, трябва да изберете целеви
.NET Framework 4или по-висока, за да видите записа на ODP.NET в референтния списък.