以前のバージョンのVisual Studioで開発および使用したアドインを取得し、VS 2015のVSパッケージとのインターフェイスを開発しました。「コマンド」クラスから、コールバック関数を作成しました。アドインのライブラリ(.dll)内の対応する関数への呼び出しをラップします。アドイン用の別の促進ライブラリ(.dll)があります。
実験インスタンス内ではすべてが十分に機能しているようで、現在、インストールと配布用のパッケージを作成しようとしています。
これは、Windows 10で実行されているVisual Studio 2015 Community Edition用です。
.vsixファイルをダブルクリックすると、次の警告が表示されました。
この拡張機能にはデジタル署名は含まれていません。
この拡張機能は、VSIXインストーラーで読み取り可能なライセンス条項をマニフェストに指定していません。
とにかくロードしました。
関数の1つを呼び出したときに、次のエラーメッセージが表示されました。
「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パッケージについてはほとんど何も知りません。マイクロソフトがアドインのサポートを削除していなかった場合、私はこれをまったく気にしませんし、古いバージョンで持っていた機能を維持するためにこれを機能させるために時間と労力を費やさなければならないことはばかげているようです対。
これがばかげた質問のように思えても、すみませんが、デジタル署名の欠如は「パッケージのSetSiteが失敗しました」と関係がありますか?
もしそうなら、デジタル署名を取得するために何をする必要がありますか?
これに関するどんな援助も大歓迎です。
C:\Users\%username%\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache
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: '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>
「インストール済み」プラグインの中の「ツール->拡張機能と更新」の下の検索バーで「洞察」Wordを確認した後、プラグイン「Developer Analytics Tools」が表示されました。このプラグインを削除すると、問題はなくなりました。
サードパーティのパッケージでも同様の問題がありました。
'\ Common7\IDE\Extensions'からの削除に関するオンラインの手順を実行した後、エラーが引き続き表示されます。
彼らはvsコマンドプロンプトを開いて実行する最後のステップとして私に言った:
devenv /UpdateConfiguration
そして、エラーはなくなりました。
フォルダー内のすべてのファイルを削除します(14.0-VS2017)C:\Users\%username%\AppData\Local\Microsoft\VisualStudio\14.0
それは私のために100%働きました。
この問題をVisual Studioのアップグレード(非互換性の問題)で解決しました。ちょうどそれをするために: