Inscrire et désinscrire des VSPackagesRegister and unregister VSPackages

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

Inscrire un VSPackageRegister 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 .pkgdef fichier.All registration information is contained in a .pkgdef file. Pour plus d’informations sur le fichier d’inscription, consultez utilitaire CreatePkgDef.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 extensionUnregister an extension

Si vous avez expérimenté, avec un grand nombre de VSPackages différents et que vous souhaitez les supprimer de l’instance expérimentale, vous pouvez 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ée sur votre instance de développement de Visual Studio, accédez à outils > Extensions et mises à jour, recherchez l’extension et cliquez sur Désinstaller.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 ne réussit à désinstaller 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>  

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

Dans certains cas, vous devrez peut-être créer un nouvel attribut d’inscription pour 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éer un attribut personnaliséCreate a custom attribute

Le code suivant montre comment créer un nouvel 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éer une clé de RegistreCreate 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éer une nouvelle valeur sous une clé de Registre existanteCreate a new value under an existing registry key

Vous pouvez ajouter des valeurs personnalisées à 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