Inscription et annulation de l’inscription de VSPackagesRegistering and Unregistering VSPackages

Vous utilisez des attributs pour inscrire un VSPackage, maisYou use attributes to register a VSPackage, but

L’inscription d’un VSPackageRegistering a VSPackage

Vous pouvez utiliser des attributs pour contrôler l’inscription de VSPackages gérés.You can use attributes to control the registration of managed VSPackages. Toutes les informations d’inscription sont contenues dans un fichier .pkgdef.All registration information is contained in a .pkgdef file. Pour plus d’informations sur l’enregistrement de fichiers, consultez CreatePkgDef utilitaire.For more information on file-based registration, see CreatePkgDef Utility.

Le code suivant montre comment utiliser les attributs standard d’inscription pour inscrire votre VSPackage.The following code shows how to use the standard registration attributes to register your VSPackage.

[PackageRegistration(UseManagedResourcesOnly = true)]  
[Guid("0B81D86C-0A85-4f30-9B26-DD2616447F95")]  
public sealed class BasicPackage : Package  
{. . .}  

Annuler l’inscription d’une ExtensionUnregistering an Extension

Si vous testé avec un grand nombre des différents VSPackages et les supprimer de l’instance expérimentale, vous pouvez simplement exécuter la réinitialiser commande.If you have been experimenting with a lot of different VSPackages and want to remove them from the experimental instance, you can just run the Reset command. Recherchez réinitialiser l’Instance expérimentale de Visual Studio sur la page de démarrage de votre ordinateur, ou exécutez cette commande à partir de la ligne de commande :Look for Reset the Visual Studio Experimental Instance on the start page of your computer, or run this command from the command line:

<location of Visual Studio 2015 install>\"Microsoft Visual Studio 14.0\VSSDK\VisualStudioIntegration\Tools\Bin\CreateExpInstance.exe" /Reset /VSInstance=14.0 /RootSuffix=Exp  

Si vous souhaitez désinstaller une extension que vous avez installés sur votre instance de développement de Visual Studio, accédez à outils / Extensions et mises à jour, recherchez l’extension, puis cliquez sur désinstallation.If you want to uninstall an extension that you have installed on your development instance of Visual Studio, go to Tools / Extensions and Updates, find the extension, and click Uninstall.

Si pour une raison quelconque, aucune de ces méthodes aboutit à la désinstallation de l’extension, vous pouvez désinscrire l’assembly VSPackage à partir de la ligne de commande comme suit :If for some reason neither of these methods succeeds at uninstalling the extension, you can unregister the VSPackage assembly from the command line as follows:

<location of Visual Studio 2015 install>\"Microsoft Visual Studio 14.0\VSSDK\VisualStudioIntegration\Tools\Bin\regpkg" /unregister <pathToVSPackage assembly>  

Utilisez un attribut personnalisé d’inscription pour inscrire une extensionUse a custom registration attribute to register an extension

Dans certains cas, vous devrez créer un nouvel attribut de l’inscription de votre extension.In certain cases you may need to create a new registration attribute for your extension. Vous pouvez utiliser les attributs d’inscription pour ajouter de nouvelles clés de Registre ou pour ajouter de nouvelles valeurs pour les clés existantes.You can use registration attributes to add new registry keys or to add new values to existing keys. Le nouvel attribut doit dériver de RegistrationAttribute, et il doit remplacer le Register et Unregister méthodes.The new attribute must derive from RegistrationAttribute, and it must override the Register and Unregister methods.

Création d’un attribut personnaliséCreating a Custom Attribute

Le code suivant montre comment créer un attribut d’inscription.The following code shows how to create a new registration attribute.

[AttributeUsage(AttributeTargets.Class, Inherited = true, AllowMultiple = false)]  
    public class CustomRegistrationAttribute : RegistrationAttribute  
    {  
    }  

Le AttributeUsageAttribute est utilisé sur les classes d’attributs pour spécifier l’élément de programme (classe, méthode, etc.) à laquelle l’attribut se rapporte, qu’il peut être utilisé plusieurs fois et si elle peut être héritée.The AttributeUsageAttribute is used on attribute classes to specify the program element (class, method, etc.) to which the attribute pertains, whether it can be used more than once, and whether it can be inherited.

Création d’une clé de RegistreCreating a Registry Key

Dans le code suivant, l’attribut personnalisé crée un personnalisé sous-clé sous la clé pour le VSPackage est en cours d’inscription.In the following code, the custom attribute creates a Custom subkey under the key for the VSPackage that is being registered.

public override void Register(RegistrationAttribute.RegistrationContext context)  
{  
    Key packageKey = null;  
    try  
    {   
        packageKey = context.CreateKey(@"Packages\{" + context.ComponentType.GUID + @"}\Custom");  
        packageKey.SetValue("NewCustom", 1);  
    }  
    finally  
    {  
        if (packageKey != null)  
            packageKey.Close();  
    }  
}  

public override void Unregister(RegistrationContext context)  
{  
    context.RemoveKey(@"Packages\" + context.ComponentType.GUID + @"}\Custom");  
}  

Création d’une valeur sous une clé de Registre existanteCreating a New Value Under an Existing Registry Key

Vous pouvez ajouter des valeurs personnalisées pour une clé existante.You can add custom values to an existing key. Le code suivant montre comment ajouter une nouvelle valeur à une clé d’inscription de VSPackage.The following code shows how to add a new value to a VSPackage registration key.

public override void Register(RegistrationAttribute.RegistrationContext context)  
{  
    Key packageKey = null;  
    try  
    {   
        packageKey = context.CreateKey(@"Packages\{" + context.ComponentType.GUID + "}");  
        packageKey.SetValue("NewCustom", 1);  
    }  
    finally  
    {  
        if (packageKey != null)  
            packageKey.Close();  
                }  
}  

public override void Unregister(RegistrationContext context)  
{  
    context.RemoveValue(@"Packages\" + context.ComponentType.GUID, "NewCustom");  
}  

Voir aussiSee Also

VSPackagesVSPackages