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