Hier sind die vollständigen Schritte, angepasst an den Artikel von Stefan Timovski zum Erstellen der Erweiterung für SQL Server Management Studio 18 (SSMS)
-
Installieren Sie Visual Studio 2017 mit Extensions Toolkit
Wenn Sie nicht sicher sind, ob Sie das Erweiterungs-Toolkit haben, können Sie das Visual Studio-Installationsprogramm öffnen und Ihre aktuelle Installation ändern, um sicherzustellen, dass Sie Erweiterungen installiert haben
-
Neues Erweiterungsprojekt erstellen
Gehen Sie zu Datei Neues Projekt (Strg + Shift + N )
Wählen Sie Erweiterbarkeit> VIX-Projekt
Wenn Sie diese Optionen nicht haben, stellen Sie sicher, dass Sie Schritt 1 ausgeführt haben
-
Fügen Sie ein neues Befehlselement hinzu
Fügen Sie ein neues Element hinzu (Strg + Shift + A )
Wählen Sie Erweiterbarkeit und holen Sie sich nur zu Demonstrationszwecken einen benutzerdefinierten Befehl
-
Debuggen in Visual Studio
Die Befehlsdatei fügt ein Menüelement zu Tools> Invoke Command1 hinzu . Wenn Sie auf Debuggen klicken, startet Visual Studio eine debugfähige Instanz, die vollständig mit Ihrer aktuellen Erweiterung geladen ist. Drücken Sie Play oder drücken Sie F5
Beim ersten Mal kann das Hochfahren eine Minute dauern, aber danach sollte es schneller gehen
Das verarbeitete Click-Ereignis befindet sich in Command1 .cs>
Execute
, und Sie können Haltepunkte hinzufügen.Hier ist das funktionierende Meldungsfeld
-
Dateipfad für SSMS abrufen
Der Standardinstallationspfad für SSMS 18 sollte sein:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe
Wenn es nicht vorhanden ist, können Sie den Startort einer App mit Shift ermitteln + Klicken Sie mit der rechten Maustaste auf das App-Symbol und wählen Sie „Speicherort öffnen“
-
Stellen Sie den Start auf SSMS ein
Öffnen Sie die Projekteigenschaften in VS (Alt + Enter )
Gehen Sie zu Fehlerbehebung> Externes Programm starten und fügen Sie den Pfad ein
Entfernen Sie die Befehlszeilenargumente, da sie nicht mehr auf SSMS anwendbar sind
-
Stellen Sie VSIX bereitstellen auf SSMS ein
Das Unterverzeichnis „Extensions“ sollte sich im selben Verzeichnis wie SSMS befinden. Fügen Sie außerdem einen zusätzlichen Ordner mit Ihrem Projektnamen wie diesem hinzu
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Extensions\VSIXProject1
Gehen Sie zu VSIX> und wählen Sie „VSIX-Inhalt an folgenden Speicherort kopieren aus "
-
Berechtigungen festlegen
Schließlich benötigen Sie zum programmgesteuerten Aufrufen von Apps auf Laufwerk C:Administratorrechte, sodass Sie Visual Studio im Administratormodus öffnen müssen. Klicken Sie dazu mit der rechten Maustaste auf die Anwendung wie hier
-
Klicken Sie auf Ausführen &Debuggen
Presto! Blamo! Ihre Erweiterung sollte nun SSMS ausführen
Weiterführende Literatur
In der Vergangenheit musste jede Erweiterung auf die Whitelist gesetzt werden, aber laut den Versionshinweisen für SSMS 18 ist eine große Änderung (zum Besseren)
Paket-IDs werden nicht mehr benötigt, um SSMS-Erweiterungen zu entwickeln
In der Vergangenheit hat SSMS nur bekannte Pakete selektiv geladen, sodass Entwickler ihr eigenes Paket registrieren mussten. Dies ist nicht mehr der Fall.
Seit SSMS 18 wird die Visual Studio 2017 Isolated Shell verwendet , ist ein Großteil der Entwicklerdokumentation für Erweiterungen in den Visual Studio Extension Docs
verfügbar