vendredi 25 juin 2010

Impossible d'installer ou d'exécuter l'application. Cette application requiert l'assembly EnvDTE version 8.0.xx, qui doit d'abord être installée dans le Global Assembly Cache.

J’ai travaillé sur une application WINFORMS qui utilise EnvDTE version 7.0.xx pour l’automation de Visual Studio. L’application a été développée sur .NET 1.1 avec Visual Studio 2003.

Récemment, j’ai fait la migration de cette application vers le framework .NET 3.5 avec Visual Studio 2008.

J’ai déployé l’application via  ClickOnce Deployment.

Lorsque je l’ai installée sur ma machine, cela marche sans problème. Par contre, lorsque je l’ai installée sur une machine où il n’y a pas de Visual Studio .NET installé, j’ai obtenu une erreur suivante :
Impossible d'installer ou d'exécuter l'application. Cette application requiert l'assembly EnvDTE version 8.0.xx, qui doit d'abord être installée dans le Global Assembly Cache.

J’ai ensuite changé toutes les références d’EnvDTE 7.0.xx dans mon application par EnvDTE version 8.0.xx.

J’ai réessayé de l’installer la machine où il n’y a pas de Visual Studio .NET installé.

Mais, cette fois-ci j’ai obtenu l’erreur suivante:
Impossible d'installer ou d'exécuter l'application. Cette application requiert l'assembly EnvDTE version 7.0.xx, qui doit d'abord être installée dans le Global Assembly Cache.


J’ai essayé de trouver la réponse à ce problème. Apres plusieurs recherches, j’ai trouvé un article sur MSDN qui m’a aidé à résoudre ce problème.
“Cette erreur est liée à un conflit de résolution de type à l'exécution. En d'autres termes, la version de EnvDTE incluse dans Visual Studio 2005 est 8.0.xx, mais la référence de configuration du projet recherche une version antérieure de cet assembly ; la version 7.0.xx. Pour corriger ce problème, vous devez ajouter une redirection de liaison pour la version la plus récente de EnvDTE au fichier de configuration (.config) de votre projet. Ainsi, Visual Studio pourra charger la version la plus récente de EnvDTE et empêcher l'erreur de se produire."


J’ai ajouté dans mon fichier App.config à l’intérieure de la section « runtime », la configuration suivante :
Je peux maintenant déployer l’application avec succès.

Pour lire plus loin:
http://msdn.microsoft.com/fr-fr/library/4eeya3de(VS.80).aspx

Aucun commentaire:

Enregistrer un commentaire