Мой пакет vs не загружался правильно

У меня есть дополнение, которое я разработал и использовал с более ранними версиями Visual Studio, и мне удалось разработать интерфейс между ним и VS-пакетом для VS 2015. Из моего класса "Command" у меня есть функция обратного вызова, которая завершает вызов соответствующую функцию в библиотеке (.dll) для addin. Есть еще одно облегчая библиотеку (.dll) для добавления.

Все, кажется, работает достаточно хорошо в экспериментальном экземпляре, и теперь я пытаюсь создать пакет для установки и распространения.

Это для Visual Studio 2015 Community Edition, работающего в Windows 10.

Когда я дважды щелкнул файл .vsix, я получил следующее предупреждение:

Это расширение не содержит цифровой подписи.


Это расширение не указывало условия лицензии в своем манифесте, которые читаемый установщиком VSIX.


Я все равно загрузил его.

Когда я вызывал одну из своих функций, я получил следующее сообщение об ошибке:

Пакет 'Commands_01Package' загрузился неправильно.

Проблема может быть вызвана изменением конфигурации или установка другого расширения. Вы можете получить дополнительную информацию по рассматривая файл "C:\Users \...\14.0\ActivityLog.xml".

Перезапуск Visual Studio может помочь решить эту проблему.

Это записи в нижней части   "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
    &apos;Wilson_Addin_01.Main_Module&apos; 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&#x000D;&#x000A;
    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&#x000D;&#x000A;
    at Microsoft.VisualStudio.Shell.Package.Microsoft.VisualStudio.Shell.Interop.IVsPackage.SetSite
    (IServiceProvider sp)}[Could not load type &apos;MacroXMLLib01.VS_XML_Lib_01_NS.cls_path_verification&apos;
    from assembly &apos;MacroXMLLib01, Version=1.0.0.0, Culture=neutral, PublicKeyToken=21ecbe15a2364220&apos;.]:
    {   at Wilson_Addin_01.XML_ctrl_module.VS_Link_XML_class..ctor(String&amp; p_XML_path, String&amp;
    p_XML_file)&#x000D;&#x000A;
    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>

Я почти ничего не знаю о VS-пакетах. Я бы не стал беспокоиться с этим вообще, если бы Microsoft не отказалась от поддержки добавлений, и мне кажется смешным, что я должен поставить время и усилия чтобы это работало, чтобы сохранить функциональность, которая у меня была с более старыми версиями VS.

Извините, если это кажется глупым вопросом, но не хватает цифровая подпись имеет какое-либо отношение к "SetSite failed for package"?

Если да, то что мне нужно сделать, чтобы получить цифровую подпись?

Любая помощь с этим была бы наиболее оценена.

Ответ 1

  1. Закройте все экземпляры Visual Studio
  2. Удалите все в этой папке C:\Users\%username%\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache
  3. Перезапустите Visual Studio
  4. Перезагрузить проект в Visual Studio

Ответ 2

Проверьте C:\Users\%username%\AppData\Roaming\Microsoft\VisualStudio\14.0\ActivityLog.xml

В моем случае была такая запись

  <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: &apos;Microsoft.VisualStudio.ApplicationInsights&apos; Description: Could not load type &apos;Microsoft.VisualStudio.ApplicationInsights.Interfaces.IApplicationInsightsSearchService&apos; from assembly &apos;Microsoft.VisualStudio.ApplicationInsights.Interfaces, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&apos;.&#x000D;&#x000A;System.TypeLoadException: Could not load type &apos;Microsoft.VisualStudio.ApplicationInsights.Interfaces.IApplicationInsightsSearchService&apos; from assembly &apos;Microsoft.VisualStudio.ApplicationInsights.Interfaces, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&apos;.&#x000D;&#x000A;   at Microsoft.AppInsights.GettingStarted.VSPackage.Initialize()&#x000D;&#x000A;   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>

После проверки слова 'insights' в строке поиска в разделе 'Tools → Extensions and Updates' среди установленных плагинов, он показал мне плагин 'Developer Analytics Tools'. Удалил этот плагин и проблема ушла.

Ответ 3

У меня была аналогичная проблема с пакетом сторонних разработчиков.

После выполнения своих онлайн-шагов об удалении из '\ Common7\IDE\Extensions' я все равно получил ошибку.

Они сказали мне как последний шаг, чтобы открыть командную строку vs и запустить:

devenv /UpdateConfiguration

И ошибка исчезла.

Ответ 4

Удалите все файлы в папке, (14.0 - VS2017) C:\Users\%username%\AppData\Local\Microsoft\VisualStudio\14.0

Это на 100% сработало для меня.

Ответ 5

Я решил эту проблему с обновлением Visual Studio (проблемы несовместимости). Для того, чтобы сделать это просто:

  • Запустите установщик Visual Studio
  • Нажмите на обновление