J'ai un complément que j'ai développé et utilisé avec des versions antérieures de Visual Studio, et j'ai réussi à développer une interface entre celui-ci et un package VS pour VS 2015. De ma classe "Command", j'ai une fonction de rappel qui encapsule un appel à la fonction correspondante dans la bibliothèque (.dll) pour le complément. Il existe une autre bibliothèque facilitatrice (.dll) pour le complément.
Tout semble fonctionner assez bien au sein de l'instance expérimentale, et maintenant j'essaie de créer un package pour l'installation et la distribution.
Il s'agit de Visual Studio 2015 Community Edition exécuté sur Windows 10.
Lorsque j'ai double-cliqué sur le fichier .vsix, j'ai reçu l'avertissement suivant:
Cette extension ne contient pas de signature numérique.
Cette extension n'a pas spécifié de termes de licence dans son manifeste qui sont lisibles par VSIX Installer.
Je l'ai quand même chargé.
Lorsque j'ai appelé une de mes fonctions, j'ai reçu le message d'erreur suivant:
Le package "Commands_01Package" ne s'est pas chargé correctement.
Le problème peut être dû à un changement de configuration ou à l'installation d'une autre extension. Vous pouvez obtenir plus d'informations en examinant le fichier "C:\Users\...\14.0\ActivityLog.xml".
Le redémarrage de Visual Studio pourrait aider à résoudre ce problème.
Ce sont les entrées au bas de "C:\Users\...\14.0\ActivityLog.xml":
<entry>
<record>437</record>
<time>2016/04/20 04:38:41.710</time>
<type>Information</type>
<source>VisualStudio</source>
<description>Entering function CVsPackageInfo::HrInstantiatePackage</description>
<guid>{A683C1FD-D1DC-4790-9A79-EF3A06CA0FEB}</guid>
</entry>
<entry>
<record>438</record>
<time>2016/04/20 04:38:41.711</time>
<type>Information</type>
<source>VisualStudio</source>
<description>Begin package load [Command_01Package]</description>
<guid>{A683C1FD-D1DC-4790-9A79-EF3A06CA0FEB}</guid>
</entry>
<entry>
<record>439</record>
<time>2016/04/20 04:38:44.626</time>
<type>Information</type>
<source>VisualStudio</source>
<description>Entering function CVsPackageInfo::HrInstantiatePackage</description>
<guid>{30D5B2E6-64BF-422F-A2BF-5D5B4D66548F}</guid>
</entry>
<entry>
<record>440</record>
<time>2016/04/20 04:38:44.626</time>
<type>Information</type>
<source>VisualStudio</source>
<description>Begin package load [Settings Store Synchronization Delayed Init Package]</description>
<guid>{30D5B2E6-64BF-422F-A2BF-5D5B4D66548F}</guid>
</entry>
<entry>
<record>441</record>
<time>2016/04/20 04:38:44.626</time>
<type>Information</type>
<source>VisualStudio</source>
<description>End package load [Settings Store Synchronization Delayed Init Package]</description>
<guid>{30D5B2E6-64BF-422F-A2BF-5D5B4D66548F}</guid>
</entry>
<entry>
<record>442</record>
<time>2016/04/20 04:38:45.926</time>
<type>Error</type>
<source>VisualStudio</source>
<description>SetSite failed for package [Command_01Package][The type initializer for
'Wilson_Addin_01.Main_Module' threw an exception.]:
{ at Wilson_VSIX_01.Command_01.Initialize(Package package)
in I:\Visual Studio\VS_Packages\Wilson_VS_Pkg_01\Wilson_VSIX_01\Wilson_VSIX_01\Command_01.cs:line 116

at Wilson_VSIX_01.Command_01Package.Initialize()
in I:\Visual Studio\VS_Packages\Wilson_VS_Pkg_01\Wilson_VSIX_01\Wilson_VSIX_01\Command_01Package.cs:line
69

at Microsoft.VisualStudio.Shell.Package.Microsoft.VisualStudio.Shell.Interop.IVsPackage.SetSite
(IServiceProvider sp)}[Could not load type 'MacroXMLLib01.VS_XML_Lib_01_NS.cls_path_verification'
from Assembly 'MacroXMLLib01, Version=1.0.0.0, Culture=neutral, PublicKeyToken=21ecbe15a2364220'.]:
{ at Wilson_Addin_01.XML_ctrl_module.VS_Link_XML_class..ctor(String& p_XML_path, String&
p_XML_file)

at Wilson_Addin_01.Main_Module..cctor()}</description>
<guid>{A683C1FD-D1DC-4790-9A79-EF3A06CA0FEB}</guid>
<hr>80131534</hr>
<errorinfo></errorinfo>
</entry>
<entry>
<record>443</record>
<time>2016/04/20 04:38:47.141</time>
<type>Error</type>
<source>VisualStudio</source>
<description>End package load [Command_01Package]</description>
<guid>{A683C1FD-D1DC-4790-9A79-EF3A06CA0FEB}</guid>
<hr>80131534</hr>
<errorinfo></errorinfo>
</entry>
</activity>
Je ne sais pratiquement rien des packages VS. Cela ne me dérangerait pas du tout si Microsoft n'avait pas abandonné la prise en charge des compléments, et il semble ridicule que je doive consacrer du temps et des efforts pour que cela fonctionne afin de conserver les fonctionnalités que j'avais avec les anciennes versions. de VS.
Excusez-moi si cela semble une question stupide, mais l'absence de signature numérique a-t-elle quelque chose à voir avec le "SetSite a échoué pour le package"?
Si oui, que dois-je faire pour obtenir une signature numérique?
Toute aide à cet égard serait très appréciée.
C:\Users\%username%\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache
Vérifier la C:\Users\%username%\AppData\Roaming\Microsoft\VisualStudio\14.0\ActivityLog.xml
Je mon cas, il y avait une entrée comme
<entry>
<record>476</record>
<time>2017/01/25 05:57:06.105</time>
<type>Error</type>
<source>VisualStudio</source>
<description>LegacySitePackage failed for package [VSPackage]Source: 'Microsoft.VisualStudio.ApplicationInsights' Description: Could not load type 'Microsoft.VisualStudio.ApplicationInsights.Interfaces.IApplicationInsightsSearchService' from Assembly 'Microsoft.VisualStudio.ApplicationInsights.Interfaces, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
System.TypeLoadException: Could not load type 'Microsoft.VisualStudio.ApplicationInsights.Interfaces.IApplicationInsightsSearchService' from Assembly 'Microsoft.VisualStudio.ApplicationInsights.Interfaces, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
 at Microsoft.AppInsights.GettingStarted.VSPackage.Initialize()
 at Microsoft.VisualStudio.Shell.Package.Microsoft.VisualStudio.Shell.Interop.IVsPackage.SetSite(IServiceProvider sp)</description>
<guid>{1A4EFADE-F6B2-4490-A2EF-21D5F3D1C8E0}</guid>
<hr>80131522</hr>
<errorinfo></errorinfo>
</entry>
Après avoir vérifié le mot "insights" dans la barre de recherche sous "Outils -> Extensions et mises à jour" parmi les plugins "installés", il m'a montré le plugin "Developer Analytics Tools". Suppression de ce plugin et le problème a disparu.
J'ai eu un problème similaire avec un package tiers.
Après avoir suivi leurs étapes en ligne sur la suppression de '\ Common7\IDE\Extensions', j'ai toujours reçu l'erreur.
Ils m'ont dit comme étape finale d'ouvrir une invite de commande vs et d'exécuter:
devenv /UpdateConfiguration
Et l'erreur a disparu.
Supprimez tous les fichiers du dossier, (14.0 - VS2017) C:\Users\%username%\AppData\Local\Microsoft\VisualStudio\14.0
Cela a fonctionné à 100% pour moi.
J'ai résolu ce problème lors de la mise à niveau de Visual Studio (problèmes d'incompatibilité). Pour ce faire, il suffit de: