Я хочу создать простое расширение SSMS для своих нужд. Я создал проект VSIX, и он прекрасно работает в рамках VS. Но когда я пытаюсь проверить в SSMS - это ничего не делает. Я установил флажок для копирования содержимого в папку «Расширения» SSMS, я добавил SkipLoad в свой реестр. Я вижу свое расширение в меню, но когда я нажимаю - ничего не происходит, метод Execute не вызывается.
Когда я вижу журналы - я вижу следующее исключение для GUID моего расширения:
<entry>
<record>2409</record>
<time>2019/03/22 21:55:41.171</time>
<type>Error</type>
<source>VisualStudio</source>
<description>SetSite failed for package [CommandPackage]Source: 'Microsoft.VisualStudio.Shell.15.0' Description: Object reference not set to an instance of an object.
System.NullReferenceException: Object reference not set to an instance of an object.
 at Microsoft.VisualStudio.Shell.AsyncPackage.Microsoft.VisualStudio.Shell.Interop.IAsyncLoadablePackageInitialize.Initialize(IAsyncServiceProvider asyncServiceProvider, IProfferAsyncService profferAsyncService, IAsyncProgressCallback progressCallback)</description>
<guid>{D88E201F-ECED-431B-8698-EB110F922E21}</guid>
<hr>80004003 - E_POINTER</hr>
</entry>
![enter image description here](https://i.stack.imgur.com/0nn5u.png)
![enter image description here](https://i.stack.imgur.com/XdtTb.png)
Пожалуйста, сообщите
Метод выполнения очень прост, но его даже не ударили:
private async void Execute(object sender, EventArgs e)
{
await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();
var dte = await package.GetServiceAsync(typeof(DTE)) as DTE;
Assumes.Present(dte);
if (dte.ActiveDocument == null)
return;
var selection = (TextSelection)dte.ActiveDocument.Selection;
var text = selection.
}
UPDATE:
Я следовал этим инструкциям: https://www.codeproject.com/Articles/1243356/Create-Your-Own-SQL-Server-Management-Studio-SSMS
И месяц назад это, кажется, работало, но теперь сломано - вероятно, после некоторых обновлений SSMS
![UPDATE 2:](https://i.stack.imgur.com/glCrv.png)
Может, я где-то использую неправильную версию?