2017-03-09 4 views
0

Je travaille actuellement sur un projet C# VSIX. Dans la solution il y a un projet VSIX avec des fichiers ItemTemplate, et aussi un projet ProjectTemplate qui produit en tant que bibliothèque de classes.Projet Visual Studio VSIX, référence projecttemplate introuvable lors de l'installation du fichier .vsix

Le projet ProjectTemplate fait référence à un fichier .dll local et aux références de projet VSIX au projet ProjectTemplate. Lors du lancement dans l'instance expérimentale, tout fonctionne comme prévu, lorsque vous créez une version et que vous l'installez sur ma propre machine, tout va toujours bien. Lorsque j'installe le fichier .vsix sur une autre machine, tous les modèles peuvent être ajoutés comme ils le devraient, mais le modèle de projet ne peut plus trouver la référence .dll.

Je n'ai pas de rep suffisamment élevé pour publier une image, mais l'erreur que j'obtiens est la directive générale ou la référence d'assemblage manquante. (code d'erreur: CS0246)

Comment puis-je garder la référence de la rupture?

Il est à noter que la référence à projectTemplate est faite avec l'extension SideWaffle.

TL: DR: Référence au fichier .dll local dans ProjectTemplate après l'exécution du fichier .vsix sur un autre ordinateur.

éditer: Donc, fondamentalement, je veux avoir un moyen de déployer également le fichier .dll sur la machine cible afin que la référence ne casse pas. Mais je veux seulement besoin d'envoyer le fichier .vsix

+0

mais la DLL est déployée sur l'autre ordinateur? – rene

+0

@rene Non, je copie seulement le fichier .vsix. Je me demande comment je peux inclure le fichier .dll local à déployer également sur la machine cible afin que la référence ne se casse pas. Je vais le clarifier dans la question. – Erik

+0

Peut-être essayer ceci: http://stackoverflow.com/questions/22630460/how-to-include-vsix-output-in-its-package – rene

Répondre

1

Merci à @rene, ce poste: How to include VSIX output in it's package? et un peu de bidouille autour, j'ai réussi à le faire fonctionner. Définissez ces propriétés VSIXProject à vrai:

« Copie sortie de la construction à la sortie Répertoire »
« Copie de débogage des symboles à la sortie Répertoire »
« Inclure l'Assemblée dans le conteneur VSIX »
« Inclure les symboles de débogage dans le déploiement local »
"Inclure les symboles de débogage dans le conteneur SIX"

Plus ajouter le fichier .dll à votre projet VSIX ET ProjectTemplate-Project. Lors de l'exécution du fichier .vsix sur un autre ordinateur, il ajoutera le fichier .dll au nouveau dossier de projet lors de sa création avec ProjectTemplate et définira la bonne propriété de chemin de la référence.

+0

N'oubliez pas de marquer votre réponse! Bienvenue dans Stack Overflow. –