Comment : inscrire et gérer des extensions de fonctionnalité

Vous pouvez ajouter des types et des cibles de refactorisations personnalisés, des règles pour l'analyse du code de base de données, des conditions pour les tests unitaires de base de données et des générateurs de données pour accroître l'étendue des fonctionnalités offertes par Visual Studio Premium ou Visual Studio Ultimate. Pour tirer parti d'une extension de fonctionnalité, vous devez commencer par l'enregistrer, que vous l'ayez créée vous-même ou installé celle d'un autre utilisateur. Pour plus d'informations, consultez Extension des fonctionnalités de base de données de Visual Studio.

Il est recommandé, en principe, de créer un dossier pour vos extensions à l'intérieur du dossier Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions. Vous aurez ainsi la possibilité d'accorder des autorisations en écriture au sous-dossier, mais pas au dossier Extensions lui-même. Libre aux utilisateurs d'ajouter ensuite des extensions personnalisées, mais ils ne pourront pas modifier, par erreur, les fichiers faisant partie de Visual Studio.

Avertissement

Vous devez disposer des privilèges d'administrateur sur votre ordinateur pour créer un sous-dossier dans le dossier Program Files\Microsoft Visual Studio 10.0\VSTSDB\. Dans le cas contraire, contactez votre administrateur réseau.

Considérations à propos de la sécurité

Avant d'installer une extension que vous n'avez pas créée, vous devez avoir connaissance des risques suivants :

  • Le programme d'installation de l'extension peut être malveillant et essayer d'accéder à des ressources protégées basées sur vos autorisations d'installation.

  • L'extension elle-même peut être malveillante et chercher à prendre le contrôle de ressources protégées si l'utilisateur qui utilise l'extension dispose des autorisations suffisantes.

Pour éviter de prendre des risques, installez exclusivement une extension dont la source est connue. Si vous vous procurez une extension d'une source non fiable, vous devez examiner le code source de cette extension et de son programme d'installation (le cas échéant) avant d'installer et d'utiliser l'extension.

Pour installer une extension de fonctionnalité personnalisée

  • Copiez l'assembly signé (.dll) dans le dossier Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions\ExtensionsPersonnalisées.

    ExtensionsPersonnalisées est le nom du dossier que vous (ou votre administrateur) réservez aux assemblys et aux fichiers XML pour les extensions de fonctionnalités.

    Notes

    Il est déconseillé de copier directement vos assemblys et fichiers XML dans le dossier Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions. L'intérêt d'utiliser un sous-dossier est d'empêcher toute modification accidentelle apportée aux fichiers fournis avec Visual Studio.

    Il ne faut pas oublier ensuite d'enregistrer l'extension afin de l'afficher dans Visual Studio.

Pour enregistrer une extension de fonctionnalité

  1. Dans le menu Affichage, cliquez sur Autres fenêtres, puis sur Fenêtre Commande.

  2. Dans la fenêtre Commande, tapez le code suivant et substituez le chemin d'accès et le nom de fichier de l'assembly à FilePath. Placez le chemin d'accès et le nom de fichier entre guillemets.

    Notes

    Si vous avez créé une extension, le chemin d'accès par défaut de votre fichier .dll compilé est CheminVotreSolution\bin\Debug ou CheminVotreSolution\bin\Release.

    ? System.Reflection.Assembly.LoadFrom("FilePath").FullName
    
    ? System.Reflection.Assembly.LoadFrom(@"FilePath").FullName
    
  3. Appuyez sur Entrée.

  4. Copiez la ligne résultante dans le Presse-papiers. Cette ligne doit se présenter comme suit :

    "GeneratorAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nnnnnnnnnnnnnnnn"
    
  5. Ouvrez un éditeur de texte brut, tel que le Bloc-notes.

  6. Fournissez les informations suivantes, en spécifiant vos propres nom d'assembly, jeton de clé publique et type d'extension :

    <?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>
    

    Le type d'extension a le format « EspaceNoms.NomClasse ». Le nom de l'assembly n'inclut pas l'extension .dll.

    Conseil

    Le fichier peut contenir une liste de types d'extension si votre assembly a plusieurs classes.

  7. Enregistrez le fichier avec l'extension de nom de fichier .Extensions.xml.

    Par exemple, nommez le fichier NomConditionTest.Extensions.xml.

  8. Ajoutez ce fichier au dossier Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions\ExtensionsPersonnalisées.

    ExtensionsPersonnalisées est le nom du dossier que vous (ou votre administrateur) réservez aux assemblys et aux fichiers XML pour les extensions de fonctionnalités.

    Notes

    Il est déconseillé de copier directement vos assemblys et fichiers XML dans le dossier Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions. L'intérêt d'utiliser un sous-dossier est d'empêcher toute modification accidentelle apportée aux fichiers fournis avec Visual Studio.

  9. Fermez puis ouvrez Visual Studio.

    L'extension est maintenant disponible.

Exemple

L'exemple suivant présente le fichier XML nécessaire pour enregistrer la règle d'analyse du code de base de données personnalisée créée dans Procédure pas à pas : création d'un assembly de règle d'analyse du code statique personnalisé pour SQL. Vous devez substituer vos propres clé publique et nom d'assembly. Le nom de l'assembly dans l'exemple suivant est « 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>

Voir aussi

Concepts

Définir des conditions personnalisées pour les tests unitaires de base de données

Générer des données de test spécialisées à l'aide d'un générateur de données personnalisé

Créer des types ou cibles de refactorisation de base de données personnalisés

Créer et inscrire des règles supplémentaires pour l'analyse du code d'une base de données