Oracle.DataAccess nicht zur Auswahl angeboten, die in Visual Studio 2013
Ich habe vor kurzem eine Windows 8.1 64-Bit-Computer mit Visual Studio 2013 (vermutlich 32 bit, zumindest ist es installiert sich unter Programme (x86)).
Ich habe auch installiert die Oracle 11.2.0.1 64 Bit-Client mit Oracle Data Provider für .NET.
Wenn ich gacutil /l | findstr-Oracle.DataAccess, bekomme ich vier Einträge, einschließlich der folgenden:
Oracle.DataAccess, Version=2.112.1.0, ..., processorArchitecture=AMD64
Kann ich jedoch nicht finden, Oracle.DataAccess in einer der Listen, wenn Sie versuchen, um eine assembly (Oracle.Internet ist vorhanden, unter-Baugruppen->Erweiterungen, obwohl).
Muss ich zum installieren der 32-bit-Oracle-Client (oder einfach 32-bit ODP.NET) als Visual Studio ist 32 bit? Wenn dem so ist, wird die software in der Lage zu laufen auf einem 64 bit system mit einer 64-bit Anwendung und 64-bit-Oracle-Client (mit 64 bit ODP.NET)?
InformationsquelleAutor Tim Meyer | 2015-02-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, Visual Studio ist eine 32-bit-Anwendung.
Kommt es auf Ihre compilation target (
x86
oderx64
oderAnyCPU
), die Oracle-Client müssen Sie für das ausführen/Debuggen der Anwendung, unabhängig von der Architektur von Visual Studio.AnyCPU
läuft als 64-bit-auf eine 64-bit-Windows (was wahrscheinlich der Fall ist)Oracle.DataAccess
nicht angezeigt, da es ein 64bit-Montage, aber Visual Studio ist 32bit.Gibt es mehrere Lösungen:
In
Add References
verwenden Sie dieBrowse
- Bereich und suchen SieOracle.DataAccess.dll
manuell. In der Regel finden Sie es im Ordner%ORACLE_HOME%\odp.net\bin\2.x\
oder%ORACLE_HOME%\odp.net\bin\4\
Öffnen Sie Ihre
*.csproj
, resp.*.vbproj
- Datei mit einem text-editor und fügen Sie die Referenz manuell, also fügen Sie Zeilen hinzu, wie dieses unter-element<ItemGroup>
:Hinweis: Attribute wie
Version=...
oderprocessorArchitecture=...
sind nicht erforderlich. Ihre Anwendung wird geladen, die richtigeOracle.DataAccess.dll
je nach der gewählten Architektur und den Gegner .NET framework (vorausgesetzt, dass es ordnungsgemäß installiert ist - auch auf der Ziel-Maschine)Installiert sowohl x86-und x64 Oracle Client auf Ihrem Computer. Hier ist eine Anleitung, wie dies zu tun: Stack Overflow - Installieren Sie Oracle x86 und x64
Verwenden ODP.NET Managed-Treiber von Oracle. Sie können es hier herunterladen: 64-bit-Oracle Data Access Components (ODAC) - Downloads Dies funktioniert auch mit 32bit-Anwendungen.
Öffnen Sie Ihre Registrierungs-editor, und prüfen Sie, ob der Registrierungsschlüssel
HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\ODP.NET
resp.HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.NET
vorhanden. Die beiden RegKeys enthalten nur die(Default)
Wert mit der Lage IhrerOracle.DataAccess.dll
.Beispiel:
Überprüfen Sie Ihre Ziel-Framework in den compile-Optionen. Wenn Sie ODP.NET version 4.x installiert haben, müssen Sie wählen, Ziel -
.NET Framework 4
oder höher, um zu sehen, die ODP.NET Eintrag in der Referenz-Liste.So viel Scheiße 2 tun 🙁
Es ist nicht meine Entscheidung - Klagen bei Microsoft. Wenn Sie Oracle installieren, richtig von Anfang an, dann sollte es in Ordnung sein standardmäßig.
InformationsquelleAutor Wernfried Domscheit