This documentation is archived and is not being maintained.

ProvideLoadKeyAttribute Class

This attribute provides a package load key for your package.

Namespace: Microsoft.VisualStudio.Shell
Assembly: Microsoft.VisualStudio.Shell (in microsoft.visualstudio.shell.dll)

[AttributeUsageAttribute(AttributeTargets.Class, Inherited=false, AllowMultiple=false)] 
public sealed class ProvideLoadKeyAttribute : RegistrationAttribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Class, Inherited=false, AllowMultiple=false) */ 
public final class ProvideLoadKeyAttribute extends RegistrationAttribute
AttributeUsageAttribute(AttributeTargets.Class, Inherited=false, AllowMultiple=false) 
public final class ProvideLoadKeyAttribute extends RegistrationAttribute

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 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 How to: Register Managed VSPackages.

NoteNote

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

When to Call

Apply this attribute to your Package-derived class or class that implements IVsPackage to define its package load key. A package load key is used by Visual Studio to validate that a package can be loaded.

Samples

You can find implementations of the ProvideLoadKeyAttribute 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.

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

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

Reference

ProvideLoadKeyAttribute Members
Microsoft.VisualStudio.Shell Namespace

Concepts

PLKs and the DLK

Other Resources

How to: Add VSPackage Load Keys
How to: Register Managed VSPackages
Show: