VSLangProj Namespace

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

Classes

BuildManagerEventsClass

Refer to BuildManagerEvents for this functionality. Do not instantiate from this class.

ImportsEventsClass

Refer to ImportsEvents for this functionality. Do not instantiate from this 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.

PrjCATID

Used for automation extension of the Project object.

PrjKind

Indicates the type of the Project object.

ReferencesEventsClass

Refer to ReferencesEvents for this functionality. Do not instantiate from this class.

Interfaces

_BuildManagerEvents

Refer to BuildManager for this functionality. Do not instantiate this class.

_dispBuildManagerEvents

Microsoft Internal Use Only.

_dispBuildManagerEvents_Event

Microsoft Internal Use Only.

_dispImportsEvents

Microsoft Internal Use Only.

_dispImportsEvents_Event

Microsoft Internal Use Only.

_dispReferencesEvents

Microsoft Internal Use Only.

_dispReferencesEvents_Event

Microsoft Internal Use Only.

_ImportsEvents

Refer to ImportsEvents for this functionality. Do not instantiate this class.

_ReferencesEvents

Refer to ReferencesEvents for this functionality. Do not instantiate this class.

BuildManager

Used by third-party developers to manage the portable executable (PE) files produced by running custom tools.

BuildManagerEvents

Provides access to the events of the BuildManager. Use this object for functionality and refer to BuildManagerEventsClass for this object’s documentation.

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.

FolderProperties

This type provides internal-only access to file properties. For more information, see Accessing Project Type Specific Project, Project Item, and Configuration Properties.

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.

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.

ProjectConfigurationProperties

This type provides internal-only access to file properties. For more information, see Accessing Project Type Specific Project, Project Item, and Configuration Properties.

ProjectProperties

This type provides internal-only access to file properties. For more information, see Accessing Project Type Specific Project, Project Item, and Configuration Properties.

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.

References

Contains all the references to external components in a Visual Basic or C# project.

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.

SVsProjectItem
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.

VSProjectEvents

Provides access to events of the References, Imports, and BuildManager objects.

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.

WebSettings

Represents the settings for Web projects.

Enums

prjBuildAction

Specifies a value indicating the type of build action for the current project item.

prjCompare

Specifies the default string comparison method for a project.

prjCopyProjectOption

This enumeration is used by the CopyProject(String, String, prjCopyProjectOption, String, String) to determine which project files are copied when the project is copied.

prjExecCommand

Microsoft Internal Use Only.

prjHTMLPageLayout

Used by the DefaultHTMLPageLayout of the Project.Properties collection object. The DefaultHTMLPageLayout specifies the default layout for new HTML pages.

prjOptionExplicit

Used by the OptionExplicit property.

prjOptionStrict

Used by the OptionStrict property.

prjOriginatorKeyMode

Used by the AssemblyOriginatorKeyMode. If the project has an originator key, it may be supplied through a key file or a key container.

prjOutputType

Used by the OutputType. Three output types are supported: Windows application, console application, and class library.

prjProjectType

Used by the ProjectType. This enumeration lists the two types of projects, local and Web.

prjReferenceType

Indicates whether a Reference is a .NET Framework assembly or a COM component.

prjScriptLanguage

Used by the DefaultClientScript. Two script languages are supported, ECMAScript (JScript, JavaScript) and VBScript.

prjStartAction

Used by the StartAction property to indicate the start action of a project for debugging.

prjTargetSchema

Used by the DefaultTargetSchema to define the HTML platform the application needs to be compatible with.

prjWarningLevel

Used by the WarningLevel property to indicate the types of warnings displayed during compilation.

prjWebAccessMethod

Used by the WebAccessMethod.

tagWebPrjAuthoringAccess

Used by the WebSettings of the VSLangProj.

webPrjAuthoringAccess

Used by the AuthoringAccess property.

webrefUrlBehavior

Used by the UrlBehavior property.

Delegates

_dispBuildManagerEvents_DesignTimeOutputDeletedEventHandler

Microsoft Internal Use Only.

_dispBuildManagerEvents_DesignTimeOutputDirtyEventHandler

Microsoft Internal Use Only.

_dispImportsEvents_ImportAddedEventHandler

Microsoft Internal Use Only.

_dispImportsEvents_ImportRemovedEventHandler

Microsoft Internal Use Only.

_dispReferencesEvents_ReferenceAddedEventHandler

Microsoft Internal Use Only.

_dispReferencesEvents_ReferenceChangedEventHandler

Microsoft Internal Use Only.

_dispReferencesEvents_ReferenceRemovedEventHandler

Microsoft Internal Use Only.

Remarks

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.