Oracle.DataAccess erreur d'incompatibilité de
J'ai installé le odp.net 32 bits installation de Visual Studio 2012. Je définir une référence à la Oracle.DataAccess.dll et ma connexion à Oracle semble être au travail.
Quand je construire le projet (.net 4) j'obtiens l'erreur suivante. Le projet est prêt à construire AnyCPU (mon poste de travail est en 64 bits et le serveur où nous en fin de compte déployer pour est 32 bits)
'Il y avait une incompatibilité entre le processeur de l'architecture du projet en cours de construction "MSIL" et de l'architecture du processeur de la référence Oracle.DataAcess, Version 4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86, "x86". Cette incohérence peut causer d'exécution des échecs. Veuillez envisager de changer le ciblées de l'architecture du processeur de votre projet par le Gestionnaire de Configuration de manière à harmoniser l'architecture du processeur entre votre projet et les références, ou de prendre une dépendance de référence avec une architecture de processeur qui correspond à l'ciblée de l'architecture du processeur de votre projet
Ce n'est qu'une vs.net attention cependant est-il un moyen de se débarrasser de cette?
OriginalL'auteur MrMVCMan | 2013-02-01
Vous devez vous connecter pour publier un commentaire.
Comme vous l'avez dit, c'est juste un avertissement. Parce que ODP.net n'est pas "AnyCPU" le message d'avertissement indique que vous avez une dépendance qui ne va pas s'adapter au système d'exploitation hôte en tant que votre propre application. Aussi longtemps que votre odp.net installer correspond à l'os en termes de bits, vous serez amende. Mais le compilateur est pas en mesure de prendre cette décision et tente de vous donner un heads-up.
J'ai trouvé un connectez l'article sur ce qui inclut un changement possible (je suis en supposant que le proj fichier) pour désactiver le message d'erreur:
Dans tous les cas, votre "AnyCPU" application va fonctionner correctement sur votre serveur tant que le 32 bits odp.net vous installer sur le serveur est la même version que la version 64 bits odp.net vous avez référencé (ou de l'éditeur politiques sont correctement installés pour rediriger vers une version ultérieure). Afin d'éliminer toute confusion, je généralement mis en "Copie Locale" de la référence à "false". Dans otherwords, je compile à l'égard d'une version de la dll, mais de le laisser s'exécuter à l'encontre de ce qu'il décide de le GAC (qui comprend éditeur politiques que la plupart des odp.net les installations comprennent).
Vous pouvez également installer la version 32 bits odp.net sur votre machine de dev (idéalement de la même version) afin d'exécuter/déboguer les applications 32 bits ou de l'utilisation intégrée de l'outillage, qui vient "avec Oracle Developer Tools pour Visual Studio" à l'intérieur de Visual Studio.
Tout ce que dit, il n'y a plus que rencontre l'oeil ici. Si vous êtes à la demande est en fait en cours d'exécution (qui est implicite, "c'est seulement un avertissement"), comme en 64 bits, ce n'est PAS à l'aide de votre 32 bits installation. Je suppose que votre machine possède déjà la version 64 bits installé (plusieurs oracle maisons).
OriginalL'auteur b_levitt
Je crois que il n'y a aucun moyen de se débarrasser de ce que, depuis que vous souhaitez déployer sur ordinateur 32 bits et que vous créez sur 64 bits. C'est juste un avertissement vous informe qu'il peut y avoir qqch de mal avec le pilote. Ne vous inquiétez pas si vous maintenant ce que vous faites.
Vous devriez - vous utiliser les librairies 32 bits sur 64 bits architecture.
OriginalL'auteur maialithar
Une autre solution:
Télécharger ODAC 11.2 Version 5 (11.2.0.3.20) et de définir votre compilateur pour x86. Je suis sûr à 100% qu'il va nettoyer tous les avertissements liés à oracle.
Définir l'espace de noms:
using System.Data.Odbc;
Ensuite faire une connexion de base de données.
OriginalL'auteur user3409326