6

何年も前に、SSMS で必要な特定のことを行うためのアドインを作成しました。私は常にそれを使用しており、新しいバージョンの SQL サーバーがアドイン モデルを壊すたびに、それを再び実行する方法を考え出すのに苦労しました。

SSMS 2016 を 2014 と並べてインストールしましたが、多くの検索にもかかわらず、2016 のアドインを更新する方法について何も見つけることができず、それを行う方法が見つかりませんでした。私のアドインは 2014 年も引き続き機能します。

明確にするために、私のアドインは、IDTExtensibility2 と IDTCommandTarget を実装するクラスの共通のアプローチを使用します。

public partial class SSMSAddin : IDTExtensibility2, IDTCommandTarget 
{
    /// <summary>Implements the OnConnection method of the IDTExtensibility2 interface. Receives notification that the Add-in is being loaded.</summary>
    /// <param term='application'>Root object of the host application.</param>
    /// <param term='connectMode'>Describes how the Add-in is being loaded.</param>
    /// <param term='addInInst'>Object representing this Add-in.</param>
    /// <seealso class='IDTExtensibility2' />
    public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
    {
     .
     .
     .  
    }        
 .
 .
 .  
}

さらに、次のような LookInFolders レジストリ キーにリストされている場所の 1 つに配置された XML 構成ファイル (.addin)

%APPDATA%\Microsoft\MSEnvShared\Addins

明らかに、SSMS 2016 では、既存のアドインがなんらかの書き換えなしでは機能しないような変更が導入されています。また、従来の .addin 構成ファイルを使用しなくなったようです。これは、レジストリ エントリに、古いバージョンが検索に使用していた LookInFolders レジストリ キーが含まれなくなったためです。SSMS 2016 は Visual Studio 2015 Shell に基づいてアドイン用の新しいインターフェイスを使用するという以下の 2 つのリンクされた質問の最初を読みましたが、新しいインターフェイスの使用方法や従来のアドイン コードの更新方法の詳細を見つけることができませんでした。

注: 関連する SE の質問がいくつかあります。Management Studio 2012 用の Poor Man's T-SQL 書式設定アドインは Management Studio 2016 で機能しますか? およびSQL Server 2016 プラグインが機能していませんが、それらは別の問題であり、サードパーティのアドインを機能させたいと考えている人々です。この質問は、自分のアドインを変更して SSMS 2016 で動作させる方法に関するものです。

4

2 に答える 2