Sdílet prostřednictvím


Registrace a zrušení registrace balíčků VSPackage

Pomocí atributů zaregistrujete balíček VSPackage, ale

Registrace balíčku VSPackage

Pomocí atributů můžete řídit registraci spravovaných balíčků VSPackage. Všechny informace o registraci jsou obsaženy v souboru .pkgdef . Další informace o registraci založené na souborech naleznete v nástroji CreatePkgDef.

Následující kód ukazuje, jak pomocí standardních atributů registrace zaregistrovat balíček VSPackage.

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

Zrušení registrace rozšíření

Pokud jste experimentovali s mnoha různými balíčky VSPackage a chcete je z experimentální instance odebrat, stačí spustit příkaz Reset. Na úvodní stránce počítače vyhledejte možnost Resetovat experimentální instanci sady Visual Studio nebo spusťte tento příkaz z příkazového řádku:

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

Pokud chcete odinstalovat rozšíření, které jste nainstalovali ve své vývojové instanci sady Visual Studio, přejděte na Rozšíření tools>a Aktualizace, vyhledejte rozšíření a klikněte na Odinstalovat.

Pokud z nějakého důvodu se žádná z těchto metod nepodaří odinstalovat rozšíření, můžete zrušit registraci sestavení VSPackage z příkazového řádku následujícím způsobem:

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

Použití atributu vlastní registrace k registraci rozšíření

V některých případech může být nutné vytvořit nový atribut registrace pro vaše rozšíření. Atributy registrace můžete použít k přidání nových klíčů registru nebo k přidání nových hodnot do existujících klíčů. Nový atribut musí být odvozen od RegistrationAttributea musí přepsat Register a Unregister metody.

Vytvoření vlastního atributu

Následující kód ukazuje, jak vytvořit nový atribut registrace.

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

Používá AttributeUsageAttribute se u tříd atributů k určení prvku programu (třída, metoda atd.), ke kterému se atribut vztahuje, zda lze použít více než jednou a zda lze zdědit.

Vytvoření klíče registru

V následujícím kódu vlastní atribut vytvoří vlastní podklíč pod klíčem pro balíček VSPackage, který je registrován.

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");
}

Vytvoření nové hodnoty pod existujícím klíčem registru

Do existujícího klíče můžete přidat vlastní hodnoty. Následující kód ukazuje, jak přidat novou hodnotu do registračního klíče VSPackage.

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");
}