2010-09-24 17 views
2

J'essaye d'écrire une application C# .net de studio visuel que je peux mettre sur un dépôt subversion. Le programme fonctionne sur les pilotes Oracle (Oracle.dataAccess) et devrait être facilement géré et développé par quiconque essaie d'y accéder. Le problème est que Visual Studio trouve Oracle.DataAccess installé sur l'ordinateur du développeur et un utilisateur aléatoire avec une version d'Oracle, ou aucun pilote Oracle installé, devra changer beaucoup de configurations après avoir téléchargé le fichier pour le modifier. J'essaie de trouver un moyen de contourner cela, toute aide ira bien.Aide du pilote Visual Studio/Oracle

Je ne veux pas empaqueter de DLL client instantanée avec le projet car le serveur sur lequel le référentiel est activé est très lent.

+0

Je ne suis pas sûr de ce que vous demandez, est le problème que vous voulez que l'application doit toujours inclure/utiliser la version _same_ des fichiers odp.net, plutôt que ce qui est déjà installé? – CodingGorilla

Répondre

0

Je pense que la seule façon de contourner la question est

pour emballer toutes les DLL client instantanée avec le projet

Même avec un serveur lent, vous aviez seulement doivent obtenir ces fichiers une fois (à la caisse) et puis juste obtenir des mises à jour, le cas échéant, ou lors de la vérification "propre".

+1

Eh bien, je l'ai compris. Je ne place que les fichiers .cs sur le dépôt pour que d'autres développeurs puissent les ouvrir et Visual Studio recherchera les pilotes Oracle sur les bureaux des développeurs. Je n'essaye pas d'empaqueter n'importe quelles DLL parce que 1. il prend pour toujours sur le serveur de référentiel 2.they pourrait entrer en conflit avec les versions respectives des développeurs d'Oracle. Merci quand même. – Tim

1

Vous n'avez pas besoin de vous inquiéter tant que les autres machines ont la version minimale à laquelle vous avez initialement été lié. Lorsque vous installez les pilotes clients sur votre machine, vous devez enregistrer Oracle.DataAccess.dll dans le Global Assembly Cache (GAC). Vous pouvez voir le contenu du GAC en naviguant à C:\Windows\Assembly:

Screenshot of the GAC and Oracle.DataAccess.dll plus policy files.

Remarquez que l'installation installe également des fichiers « politiques » dans le GAC. Ce sont binding redirect publisher policies, qui, lorsqu'un programme lié à une version antérieure de Oracle.DataAccess.dll essaie de le rechercher dans le GAC, il est redirigé vers la version la plus récente au moment de l'exécution. En fait, même si vous avez redistribué le pilote avec votre programme, il se peut qu'il charge une version plus récente du GAC s'il en trouve une plus récente à la place de celle que vous avez redistribuée avec votre programme.