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é
Dans le menu Affichage, cliquez sur Autres fenêtres, puis sur Fenêtre Commande.
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
Appuyez sur Entrée.
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"
Ouvrez un éditeur de texte brut, tel que le Bloc-notes.
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.
Enregistrez le fichier avec l'extension de nom de fichier .Extensions.xml.
Par exemple, nommez le fichier NomConditionTest.Extensions.xml.
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.
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