Share via


Gewusst wie: Registrieren und Verwalten von Funktionserweiterungen

Sie können benutzerdefinierte Typen und Ziele für Umgestaltungen, Regeln für die Analyse von Datenbankcode, Bedingungen für Datenbankkomponententests und Datengeneratoren zum Erweitern des Funktionsumfangs von Visual Studio Premium oder Visual Studio Ultimate hinzufügen. Funktionserweiterungen können Sie jedoch erst verwenden, nachdem Sie diese registriert haben, unabhängig davon, ob Sie die Erweiterung selbst erstellt oder eine von einer anderen Person erstellte Erweiterung installiert haben. Weitere Informationen finden Sie unter Erweitern der Datenbankfunktionen von Visual Studio.

Als Vorgehensweise wird empfohlen, im Ordner Programme\Microsoft Visual Studio 10.0\VSTSDB\Extensions einen Ordner für die Erweiterungen erstellen. Auf diese Weise können Sie Schreibberechtigungen für den Unterordner gewähren, ohne solche für den Ordner Extensions selbst zu gewähren. Benutzer können dann benutzerdefinierte Erweiterungen hinzufügen, die Dateien, die Teil von Visual Studio sind, jedoch nicht unbeabsichtigt ändern.

Warnung

Sie benötigen Administratorberechtigungen auf dem Computer, um im Ordner Programme\Microsoft Visual Studio 10.0\VSTSDB\ einen Unterordner erstellen zu können. Wenn Sie die entsprechenden Berechtigungen nicht haben, wenden Sie sich an den Netzwerkadministrator.

Sicherheitsüberlegungen

Bevor Sie eine Erweiterung installieren, die Sie nicht erstellt haben, sollten Sie sich die folgenden Risiken verdeutlichen:

  • Das Installationsprogramm für die Erweiterung könnte mit böswilliger Absicht erstellt worden sein, um über Ihre Installationsberechtigungen Zugriff auf geschützte Ressourcen zu erlangen.

  • Die Erweiterung selbst könnte mit böswilliger Absicht erstellt worden sein, um Zugriff auf geschützte Ressourcen zu erlangen, wenn der Benutzer, der die Erweiterung verwendet, über ausreichende Berechtigungen verfügt.

Zur Verringerung des Risikos sollten Sie nur Erweiterungen installieren, die aus einer bekannten Quelle stammen. Wenn Sie über eine Erweiterung aus einer nicht vertrauenswürdigen Quelle verfügen, sollten Sie vor der Installation und Verwendung der Erweiterung den Quellcode für diese Erweiterung und deren Installationsprogramm (sofern ein solches vorhanden ist) überprüfen.

So installieren Sie eine benutzerdefinierte Funktionserweiterung

  • Kopieren Sie die signierte Assembly (.dll) in den Ordner Programme\Microsoft Visual Studio 10.0\VSTSDB\Extensions\CustomExtensions.

    CustomExtensions ist der Name des Ordners, den Sie oder der Computeradministrator für Assemblys und XML-Dateien für Funktionserweiterungen erstellt haben.

    Tipp

    Als Vorgehensweise wird empfohlen, die Assemblys und XML-Dateien nicht direkt in den Ordner Programme\Microsoft Visual Studio 10.0\VSTSDB\Extensions zu kopieren. Wenn Sie stattdessen einen Unterordner verwenden, vermeiden Sie versehentliche Änderungen an den anderen Dateien, die mit Visual Studio bereitgestellt werden.

    Anschließend müssen Sie die Erweiterung registrieren, sodass diese in Visual Studio angezeigt wird.

So registrieren Sie eine Funktionserweiterung

  1. Klicken Sie im Menü Ansicht auf Weitere Fenster, und klicken Sie dann auf Befehlsfenster.

  2. Geben Sie im Befehlsfenster den folgenden Code ein, und ersetzen Sie den Pfad und den Dateinamen der Assembly für FilePath. Schließen Sie den Pfad und den Dateinamen in Anführungszeichen ein.

    Tipp

    Wenn Sie eine Erweiterung erstellt haben, lautet der Pfad der kompilierten DLL-Datei standardmäßig Projektmappenpfad\bin\Debug oder Projektmappenpfad\bin\Release.

    ? System.Reflection.Assembly.LoadFrom("FilePath").FullName
    
    ? System.Reflection.Assembly.LoadFrom(@"FilePath").FullName
    
  3. Drücken Sie die EINGABETASTE.

  4. Kopieren Sie die resultierende Zeile in die Zwischenablage. Die Zeile sollte der folgenden entsprechen:

    "GeneratorAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nnnnnnnnnnnnnnnn"
    
  5. Öffnen Sie einen Text-Editor, z. B. Editor.

  6. Stellen Sie die folgenden Informationen bereit, und geben Sie dabei eigene Werte für Assemblyname, öffentliches Schlüsseltoken und Erweiterungstyp an:

    <?xml version="1.0" encoding="utf-8" ?>
    <extensions assembly=""
                version="1" xmlns="urn:Microsoft.Data.Schema.Extensions"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="urn:Microsoft.Data.Schema.Extensions Microsoft.Data.Schema.Extensions.xsd">
      <extension type="<enter extension type here>" assembly="<enter assembly name here>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b4deb9b383d021b0" enabled="true"/>
    </extensions>
    

    Der Erweiterungstyp hat die Form "Namespace.Klassenname". Der Assemblyname enthält nicht die Erweiterung .dll.

    Tipp

    Wenn die Assembly mehrere Klassen umfasst, kann die Datei eine Liste von Erweiterungstypen enthalten.

  7. Speichern Sie die Datei mit der Dateinamenerweiterung .Extensions.xml.

    Beispielsweise können Sie die Datei mit Testbedingungsname.Extensions.xml benennen.

  8. Fügen Sie diese Datei dem Ordner Programme\Microsoft Visual Studio 10.0\VSTSDB\Extensions\CustomExtensions hinzu.

    CustomExtensions ist der Name des Ordners, den Sie oder der Computeradministrator für die Assemblys und XML-Dateien für Funktionserweiterungen erstellt haben.

    Tipp

    Als Vorgehensweise wird empfohlen, die Assemblys und XML-Dateien nicht direkt in den Ordner Programme\Microsoft Visual Studio 10.0\VSTSDB\Extensions zu kopieren. Wenn Sie stattdessen einen Unterordner verwenden, vermeiden Sie versehentliche Änderungen an den anderen Dateien, die mit Visual Studio bereitgestellt werden.

  9. Schließen Sie Visual Studio, und öffnen Sie es erneut.

    Die Erweiterung ist nun verfügbar.

Beispiel

Das folgende Beispiel zeigt die XML-Datei, die zum Registrieren der benutzerdefinierten Analyseregeln für Datenbankcode erforderlich ist und in Exemplarische Vorgehensweise: Erstellen einer benutzerdefinierten Regelassembly für die statische Codeanalyse in SQL erstellt wird. Sie müssen hierbei Ihren eigenen öffentlichen Schlüssel und Assemblynamen verwenden. Der Assemblyname im folgenden Beispiel lautet "SampleRules".

<?xml version="1.0" encoding="utf-8"?>
<extensions assembly=""
            version="1" xmlns="urn:Microsoft.Data.Schema.Extensions"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="urn:Microsoft.Data.Schema.Extensions Microsoft.Data.Schema.Extensions.xsd">
  <extension type="SampleRules.AvoidWaitForDelayRule" assembly="SampleRules, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b4deb9b383d021b0" enabled="true"/>
</extensions>

Siehe auch

Konzepte

Definieren benutzerdefinierter Bedingungen für Datenbankkomponententests

Generieren spezialisierter Testdaten mit einem benutzerdefinierten Daten-Generator

Erstellen benutzerdefinierter Typen oder Regeln für die Datenbankumgestaltung

Erstellen und Registrieren zusätzlicher Regeln für die Datenbankcodeanalyse