У меня есть дополнение, которое я разработал и использовал с более ранними версиями 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
'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>
Я почти ничего не знаю о VS-пакетах. Я бы не стал беспокоиться с этим вообще, если бы Microsoft не отказалась от поддержки добавлений, и мне кажется смешным, что я должен поставить время и усилия чтобы это работало, чтобы сохранить функциональность, которая у меня была с более старыми версиями VS.
Извините, если это кажется глупым вопросом, но не хватает цифровая подпись имеет какое-либо отношение к "SetSite failed for package"?
Если да, то что мне нужно сделать, чтобы получить цифровую подпись?
Любая помощь с этим была бы наиболее оценена.