2010-06-03 9 views
0

Je développe une application C# dans VS 2010 qui doit être déployée via ClickOnce. Toutefois, lorsque j'essaie de déployer l'application sur une machine client, j'obtiens l'erreur suivante:Erreur de déploiement ClickOnce due à Microsoft.VisualStudio.Shell.Interop.9.0 Version9.0.0.0 manquante dans le GAC (Global Assembly Cache)

Impossible d'installer ou d'exécuter l'application. L'application nécessite que l'assembly Microsoft.VisualStudio.Shell.Interop.9.0 Version 9.0.0.0 soit installé dans le Global Assembly Cache (GAC) en premier.

J'ai essayé d'inclure l'assembly manquant dans les fichiers d'application sous Propriétés du projet-> onglet Publier, mais l'erreur reste la même. Ensuite, j'ai essayé d'ajouter Microsoft.VisualStudio.Shell.Interop.9.0 aux références du projet, mais je ne le trouve pas dans la liste de référence.

Est-ce que quelqu'un a des conseils ou des solutions à ce problème. Merci d'avance.

+0

Quelque chose est assez borked si ce n'est pas destiné à être un complément Visual Studio. Documentez les références non standard dans le nœud Références. –

+0

Quel type d'application est-ce? Est-ce VSTO? Gagnez des formulaires? WPF? Application de la console? – RobinDotNet

Répondre

1

Essayez ceci:

  1. Dans l'Explorateur de solutions, cliquez droit sur le nom du projet et sélectionnez Propriétés.

  2. Accédez à l'onglet Références.

  3. Cliquez sur le bouton Références non utilisées.

  4. Enregistrer et publier.

0

La réponse de Vron est correcte, c'est une bonne idée de supprimer les références aux assemblages inutilisés. Je pense que si vous comprenez pourquoi cela se passe alors vous savez comment y remédier. VS ne pense pas que vous ayez besoin de l'assemblage lorsque vous publiez votre programme parce que vous ne l'avez pas utilisé (pour autant qu'il le sache) mais que vous l'avez ajouté à votre liste de références. Donc, il ne l'empaquette pas.

Vous devez soit le supprimer de votre liste de référence, soit vous assurer qu'il est inclus dans votre projet. Pour ce faire, affichez caché, faites un clic droit sur la référence manquante, cliquez sur Propriétés et définissez "Copier local" sur true. A travaillé pour moi et MySQL.