Je travaille à la création d'une extension de politique d'enregistrement personnalisée Visual Studio 2017. Ma solution actuelle est structurée comme suit:Comment inclure des assemblages de paquets NuGet dans un programme d'installation VSIX?
Note: Je profite de la nouvelle approche NuGet PackageReference, ce qui est la raison pour laquelle il n'y a pas de fichier packages.config.
Je crois que j'ai installé mon VSIX manifestent depuis tout fonctionne correctement parfaitement quand je ne fait pas référence à Microsoft.Net.Http
(à l'origine j'étais coder en dur des valeurs au lieu de récupérer les valeurs). Je ne sais pas pourquoi le paquet NuGet Microsoft.TeamFoundationServer.ExtendedClient
inclus ne cause aucun problème, alors que le paquet NuGet Microsoft.Net.Http
le fait. J'ai regardé le dossier de débogage pour voir ce qui est en train d'être compilé et je vois chaque assemblage nécessaire, mais si je décompose le VSIX (je l'ai renommé en .zip et l'ai décompressé), seul l'assemblage du projet est inclus; les assemblys référencés par Nuget ne sont pas empaquetés dans le package VSIX.
je suis tombé sur quelques ressources, mais rien ne semble fonctionner:
- VSIX Package doesn't include referenced project's dependencies
- VSIX with Project Templates and NuGet Packages
- How to include a Nuget package in a Visual Studio Extension (vsix)
- VSIX extension - How can I ensure a referenced dll or assembly is included in the VSIX file?
Chacun de ces questions/réponses ne semble pas aborder mon problème spécifique.
Mise à jour:
Je crois qu'il est possible que l'outil utilisé pour générer le package VSIX ne prend pas en charge la nouvelle fonctionnalité de PackageReference
NuGet. Si j'utilise l'ancienne fonctionnalité packages.config, tout fonctionne correctement. J'ai mis dans un UserVoice Ticket pour soutenir la nouvelle fonctionnalité de NuGet.
je pourrais arriver en retard, mais ce fil résolu mon problème: https: // stackoverflow. com/questions/42201923/vsix-extension-comment-peut-je-assurer-une-référence-dll-ou-assemblage-est-inclus-dans-e –
@ AmauryLevé: Cette question peut avoir résolu votre problème, mais il est complètement sans rapport avec le problème que je référence, qui avait à voir avec le conditionneur VSIX inclure automatiquement des assemblées grâce à la fonctionnalité PackageReference de NuGet. Cette question/réponse traite de l'ajout d'actifs en référençant les assemblées directement. –