RegisterLoadKeyAttribute Class

Note: This API is now obsolete.

Registers a Package load key with the VSPackage. This class cannot be inherited.

Namespace:  Microsoft.VisualStudio.Shell
Assemblies:   Microsoft.VisualStudio.Shell.9.0 (in Microsoft.VisualStudio.Shell.9.0.dll)
  Microsoft.VisualStudio.Shell.10.0 (in Microsoft.VisualStudio.Shell.10.0.dll)
  Microsoft.VisualStudio.Shell (in Microsoft.VisualStudio.Shell.dll)

Syntax

声明
<AttributeUsageAttribute(AttributeTargets.Class, Inherited := False, AllowMultiple := False)> _
<ObsoleteAttribute("RegisterLoadKeyAttribute has been deprecated. Please use ProvideLoadKeyAttribute instead.")> _
Public NotInheritable Class RegisterLoadKeyAttribute _
    Inherits RegistrationAttribute
用法
Dim instance As RegisterLoadKeyAttribute
[AttributeUsageAttribute(AttributeTargets.Class, Inherited = false, AllowMultiple = false)]
[ObsoleteAttribute("RegisterLoadKeyAttribute has been deprecated. Please use ProvideLoadKeyAttribute instead.")]
public sealed class RegisterLoadKeyAttribute : RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets::Class, Inherited = false, AllowMultiple = false)]
[ObsoleteAttribute(L"RegisterLoadKeyAttribute has been deprecated. Please use ProvideLoadKeyAttribute instead.")]
public ref class RegisterLoadKeyAttribute sealed : public RegistrationAttribute
[<SealedAttribute>]
[<AttributeUsageAttribute(AttributeTargets.Class, Inherited = false, AllowMultiple = false)>]
[<ObsoleteAttribute("RegisterLoadKeyAttribute has been deprecated. Please use ProvideLoadKeyAttribute instead.")>]
type RegisterLoadKeyAttribute =  
    class
        inherit RegistrationAttribute
    end
public final class RegisterLoadKeyAttribute extends RegistrationAttribute

Remarks

When to Call

Apply this attribute to your Package-derived class or class that implements IVsPackage to register a Package Load Key (PLK).

Basic Usage

Visual Studio requires a Package Load Key in order to validate and load VSPackages provided by third parties regardless of whether the hosting version of Visual Studio has a VSIP license.

Developers can load their own VSPackages without PLK's if they have a valid a VSIP developer license.

This attribute class is only used to provide data for external registration tools like regpkg.exe. It does not have any effect on the runtime behavior of the VSPackage. For more information, see Registering VSPackages.

备注

Visual C# automatically appends the word, Attribute, to the name of any attribute class. In Visual C# code, refer to this attribute as RegisterLoadKey.

Registry Entries

The following registry entries are created by the RegisterLoadKeyAttributeclass:

  • <VSROOT>\Packages\{PackageGuid}

  • <VSROOT>\Packages\{PackageGuid}\ID=ResourceID

  • <VSROOT>\Packages\{PackageGuid}\MinEdition=MinimumEdition

  • <VSROOT>\Packages\{PackageGuid}\ProductVersion=ProductVersion

  • <VSROOT>\Packages\{PackageGuid}\ProductName=ProductName

  • <VSROOT>\Packages\{PackageGuid}\CompanyName=CompanyName

Samples

You can find implementations of the RegisterLoadKeyAttribute class in the managed samples. The standard location for this and all other attributes used for automatic registration is adjacent to the implementation of the Package class in VsPkg.cs, VsPkg.vb, or VsPkg.cpp, depending on the language used in the sample.

Inheritance Hierarchy

System.Object
  System.Attribute
    Microsoft.VisualStudio.Shell.RegistrationAttribute
      Microsoft.VisualStudio.Shell.RegisterLoadKeyAttribute

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

RegisterLoadKeyAttribute Members

Microsoft.VisualStudio.Shell Namespace

Other Resources

VSPackage Load Keys