Share via


ProvideProjectFactoryAttribute Class

ProvideProjectFactoryAttribute declares that a package provides a project factory.

Inheritance Hierarchy

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

Namespace:  Microsoft.VisualStudio.Shell
Assembly:  Microsoft.VisualStudio.Shell.11.0 (in Microsoft.VisualStudio.Shell.11.0.dll)

Syntax

'Declaration
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := True)> _
Public NotInheritable Class ProvideProjectFactoryAttribute _
    Inherits RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class ProvideProjectFactoryAttribute : RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets::Class, AllowMultiple = true, Inherited = true)]
public ref class ProvideProjectFactoryAttribute sealed : public RegistrationAttribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)>]
type ProvideProjectFactoryAttribute =  
    class 
        inherit RegistrationAttribute 
    end
public final class ProvideProjectFactoryAttribute extends RegistrationAttribute

The ProvideProjectFactoryAttribute type exposes the following members.

Constructors

  Name Description
Public method ProvideProjectFactoryAttribute Initializes a new instance of ProvideProjectFactoryAttribute.

Top

Properties

  Name Description
Public property DefaultProjectExtension Gets the default extension of the project file.
Public property DisableOnlineTemplates Determines whether to disable online templates.
Public property DisplayProjectFileExtensions Gets the resource ID for project file extensions.
Public property DisplayProjectTypeVsTemplate Gets or sets the Visual Studio template for the project.
Public property FactoryType Gets the type of the project factory.
Public property FolderGuid Gets or sets the GUID of the folder for this type of project.
Public property LanguageVsTemplate Gets and sets the Visual Studio language template.
Public property Name Gets the name of the type of project.
Public property NewProjectRequireNewFolderVsTemplate Gets or sets whether this type of project requires a Visual Studio template that creates a new folder.
Public property PossibleProjectExtensions Gets the set of possible project extensions.
Public property ProjectSubTypeVsTemplate Gets or sets the Visual Studio template for the project subtype.
Public property ProjectTemplatesDirectory Gets the project templates directory.
Public property ShowOnlySpecifiedTemplatesVsTemplate Gets or sets the Visual Studio template to be shown in the New Project dialog.
Public property SortPriority Gets or sets the order in which projects are displayed in the New Project dialog.
Public property TemplateGroupIDsVsTemplate Gets or sets the Visual Studio template's group ID.
Public property TemplateIDsVsTemplate Gets or sets the Visual Studio template ID.
Public property TypeId Gets the current instance of this attribute. (Inherited from RegistrationAttribute.)

Top

Methods

  Name Description
Public method Equals Infrastructure. Returns a value that indicates whether this instance is equal to a specified object. (Inherited from Attribute.)
Public method GetHashCode Returns the hash code for this instance. (Inherited from Attribute.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method IsDefaultAttribute When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class. (Inherited from Attribute.)
Public method Match When overridden in a derived class, returns a value that indicates whether this instance equals a specified object. (Inherited from Attribute.)
Public method Register Registers this attribute. (Overrides RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext).)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Public method Unregister Removes the key for this attribute from the registry. (Overrides RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext).)

Top

Explicit Interface Implementations

  Name Description
Explicit interface implemetationPrivate method _Attribute.GetIDsOfNames Maps a set of names to a corresponding set of dispatch identifiers. (Inherited from Attribute.)
Explicit interface implemetationPrivate method _Attribute.GetTypeInfo Retrieves the type information for an object, which can be used to get the type information for an interface. (Inherited from Attribute.)
Explicit interface implemetationPrivate method _Attribute.GetTypeInfoCount Retrieves the number of type information interfaces that an object provides (either 0 or 1). (Inherited from Attribute.)
Explicit interface implemetationPrivate method _Attribute.Invoke Provides access to properties and methods exposed by an object. (Inherited from Attribute.)

Top

Remarks

A single VSPackage can provide multiple project factories. If a VSPackage declares that it provides a project factory, it should create the factory and offer it to Visual Studio in the Initialize method of the Package-derived class.

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

Microsoft.VisualStudio.Shell Namespace