VSLangProj Namespace

The VSLangProj namespace represents the project-specific automation model objects for Visual Basic and Visual C#.

While Visual Studio offers a core project automation model, it is, by its nature, generic and language-agnostic so as to accommodate all languages in Visual Studio. The VSLangProj assemblies, however, offer a richer project automation model, allowing programmatic access to language-specific features not offered in the core project model.

There are currently three versions of VSLangProj:

VSLangProj2 and VSLangProj80 are evolutions of the original VSLangProj namespace. VSLangProj2 was introduced in Visual Studio 2003, and VSLangProj80 was introduced in Visual Studio 2005.

Rather than making changes or additions to the original VSLangProj assembly and risk breaking code written in previous versions of Visual Studio, the changes were instead placed into new versions of the assemblies. The types and members they contain derive from the original VSLangProj assembly.

For example, VSLangProj has a Reference object. A new version of Reference that included additions and changes was added to the newer VSLangProj2 assembly and named Reference2 to avoid confusion with the original version. Updates made to Reference2 were added to a new type called Reference3 in the new VSLangProj80 assembly.

Classes

  Class Description
Public class BuildManagerEventsClass Infrastructure. Refer to BuildManagerEvents for this functionality. Do not instantiate from this class.
Public class ImportsEventsClass Infrastructure. Refer to ImportsEvents for this functionality. Do not instantiate from this class.
Public class PrjBrowseObjectCATID The PrjBrowseObjectCATID enumeration is used for extension of the properties that appear in the Properties window for projects and project items. Extension is typically used by ISVs to extend the automation interface. Developers may add or delete items from the Properties window, by using the appropriate Category ID (CATID) to extend the automation interface. For more information, see Spectrum of Visual Studio Automation.
Public class PrjCATID Used for automation extension of the Project object.
Public class PrjKind Indicates the type of the Project object.
Public class ReferencesEventsClass Infrastructure. Refer to ReferencesEvents for this functionality. Do not instantiate from this class.

Interfaces

  Interface Description
Public interface _BuildManagerEvents Infrastructure. Refer to BuildManager for this functionality. Do not instantiate this class.
Public interface _dispBuildManagerEvents Infrastructure. Microsoft Internal Use Only.
Public interface _dispBuildManagerEvents_Event Infrastructure. Microsoft Internal Use Only.
Public interface _dispImportsEvents Infrastructure. Microsoft Internal Use Only.
Public interface _dispImportsEvents_Event Infrastructure. Microsoft Internal Use Only.
Public interface _dispReferencesEvents Infrastructure. Microsoft Internal Use Only.
Public interface _dispReferencesEvents_Event Infrastructure. Microsoft Internal Use Only.
Public interface _ImportsEvents Infrastructure. Refer to ImportsEvents for this functionality. Do not instantiate this class.
Public interface _ReferencesEvents Infrastructure. Refer to ReferencesEvents for this functionality. Do not instantiate this class.
Public interface BuildManager Used by third-party developers to manage the portable executable (PE) files produced by running custom tools.
Public interface BuildManagerEvents Provides access to the events of the BuildManager. Use this object for functionality and refer to BuildManagerEventsClass for this object’s documentation.
Public interface FileProperties Represents the various properties of the specified project file, such as its name, size, the date it was created and last modified, and so forth. This type provides internal-only access to file properties. For more information, see Accessing Project Type Specific Project, Project Item, and Configuration Properties.
Public interface FolderProperties This type provides internal-only access to file properties. For more information, see Accessing Project Type Specific Project, Project Item, and Configuration Properties.
Public interface Imports Contains the collection of all project imports for a Visual Basic project. The specified imports statements are passed directly to the compiler and apply to all the files in the project.
Public interface ImportsEvents Provides access to events that are raised when a project Imports statement is added to or deleted from a Visual Basic project. Use this object for functionality and refer to ImportsEventsClass for this object’s documentation.
Public interface ProjectConfigurationProperties This type provides internal-only access to file properties. For more information, see Accessing Project Type Specific Project, Project Item, and Configuration Properties.
Public interface ProjectProperties This type provides internal-only access to file properties. For more information, see Accessing Project Type Specific Project, Project Item, and Configuration Properties.
Public interface Reference Represents one reference in the project. Including a reference in a project allows you to use any of the public members contained in the reference. Projects may include references to other .NET projects, .NET assemblies, and COM objects.
Public interface References Contains all the references to external components in a Visual Basic or C# project.
Public interface ReferencesEvents Provides access to events that are raised by adding, deleting, or changing project references. Use this object for functionality and refer to ReferencesEventsClass for this object’s documentation.
Public interface VSProject Contains the information specific to a Visual Basic or C# project. It is returned by the Object object when the project is a Visual Basic or Visual C# project.
Public interface VSProjectEvents Provides access to events of the References, Imports, and BuildManager objects.
Public interface VSProjectItem Contains the information specific to a Visual Basic or C# project item. It is returned by the Object of the ProjectItem object when the project is a Visual Basic or C# project.
Public interface WebSettings Represents the settings for Web projects.

Delegates

  Delegate Description
Public delegate _dispBuildManagerEvents_DesignTimeOutputDeletedEventHandler Infrastructure. Microsoft Internal Use Only.
Public delegate _dispBuildManagerEvents_DesignTimeOutputDirtyEventHandler Infrastructure. Microsoft Internal Use Only.
Public delegate _dispImportsEvents_ImportAddedEventHandler Infrastructure. Microsoft Internal Use Only.
Public delegate _dispImportsEvents_ImportRemovedEventHandler Infrastructure. Microsoft Internal Use Only.
Public delegate _dispReferencesEvents_ReferenceAddedEventHandler Infrastructure. Microsoft Internal Use Only.
Public delegate _dispReferencesEvents_ReferenceChangedEventHandler Infrastructure. Microsoft Internal Use Only.
Public delegate _dispReferencesEvents_ReferenceRemovedEventHandler Infrastructure. Microsoft Internal Use Only.

Enumerations

  Enumeration Description
Public enumeration prjBuildAction Specifies a value indicating the type of build action for the current project item.
Public enumeration prjCompare Specifies the default string comparison method for a project.
Public enumeration prjCopyProjectOption This enumeration is used by the CopyProject to determine which project files are copied when the project is copied.
Public enumeration prjExecCommand Infrastructure. Microsoft Internal Use Only.
Public enumeration prjHTMLPageLayout Used by the DefaultHTMLPageLayout of the Project.Properties collection object. The DefaultHTMLPageLayout specifies the default layout for new HTML pages.
Public enumeration prjOptionExplicit Used by the OptionExplicit property.
Public enumeration prjOptionStrict Used by the OptionStrict property.
Public enumeration prjOriginatorKeyMode Used by the AssemblyOriginatorKeyMode. If the project has an originator key, it may be supplied through a key file or a key container.
Public enumeration prjOutputType Used by the OutputType. Three output types are supported: Windows application, console application, and class library.
Public enumeration prjProjectType Used by the ProjectType. This enumeration lists the two types of projects, local and Web.
Public enumeration prjReferenceType Indicates whether a Reference is a .NET Framework assembly or a COM component.
Public enumeration prjScriptLanguage Used by the DefaultClientScript. Two script languages are supported, ECMAScript (JScript, JavaScript) and VBScript.
Public enumeration prjStartAction Used by the StartAction property to indicate the start action of a project for debugging.
Public enumeration prjTargetSchema Used by the DefaultTargetSchema to define the HTML platform the application needs to be compatible with.
Public enumeration prjWarningLevel Used by the WarningLevel property to indicate the types of warnings displayed during compilation.
Public enumeration prjWebAccessMethod Used by the WebAccessMethod.
Public enumeration tagWebPrjAuthoringAccess Used by the WebSettings of the VSLangProj.
Public enumeration webPrjAuthoringAccess Used by the AuthoringAccess property.
Public enumeration webrefUrlBehavior Used by the UrlBehavior property.

See Also

Reference

Projects

Project