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.

  ClassDescription
Public classBuildManagerEventsClassInfrastructure. Refer to BuildManagerEvents for this functionality. Do not instantiate from this class.
Public classImportsEventsClassInfrastructure. Refer to ImportsEvents for this functionality. Do not instantiate from this class.
Public classPrjBrowseObjectCATIDThe 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 classPrjCATIDUsed for automation extension of the Project object.
Public classPrjKindIndicates the type of the Project object.
Public classReferencesEventsClassInfrastructure. Refer to ReferencesEvents for this functionality. Do not instantiate from this class.

  InterfaceDescription
Public interface_BuildManagerEventsInfrastructure. Refer to BuildManager for this functionality. Do not instantiate this class.
Public interface_dispBuildManagerEventsInfrastructure. Microsoft Internal Use Only.
Public interface_dispBuildManagerEvents_EventInfrastructure. Microsoft Internal Use Only.
Public interface_dispImportsEventsInfrastructure. Microsoft Internal Use Only.
Public interface_dispImportsEvents_EventInfrastructure. Microsoft Internal Use Only.
Public interface_dispReferencesEventsInfrastructure. Microsoft Internal Use Only.
Public interface_dispReferencesEvents_EventInfrastructure. Microsoft Internal Use Only.
Public interface_ImportsEventsInfrastructure. Refer to ImportsEvents for this functionality. Do not instantiate this class.
Public interface_ReferencesEventsInfrastructure. Refer to ReferencesEvents for this functionality. Do not instantiate this class.
Public interfaceBuildManagerUsed by third-party developers to manage the portable executable (PE) files produced by running custom tools.
Public interfaceBuildManagerEventsProvides access to the events of the BuildManager. Use this object for functionality and refer to BuildManagerEventsClass for this object’s documentation.
Public interfaceFilePropertiesRepresents 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 interfaceFolderPropertiesThis type provides internal-only access to file properties. For more information, see Accessing Project Type Specific Project, Project Item, and Configuration Properties.
Public interfaceImportsContains 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 interfaceImportsEventsProvides 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 interfaceProjectConfigurationPropertiesThis type provides internal-only access to file properties. For more information, see Accessing Project Type Specific Project, Project Item, and Configuration Properties.
Public interfaceProjectPropertiesThis type provides internal-only access to file properties. For more information, see Accessing Project Type Specific Project, Project Item, and Configuration Properties.
Public interfaceReferenceRepresents 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 interfaceReferencesContains all the references to external components in a Visual Basic or C# project.
Public interfaceReferencesEventsProvides 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 interfaceVSProjectContains 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 interfaceVSProjectEventsProvides access to events of the References, Imports, and BuildManager objects.
Public interfaceVSProjectItemContains 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 interfaceWebSettingsRepresents the settings for Web projects.

  DelegateDescription
Public delegate_dispBuildManagerEvents_DesignTimeOutputDeletedEventHandlerInfrastructure. Microsoft Internal Use Only.
Public delegate_dispBuildManagerEvents_DesignTimeOutputDirtyEventHandlerInfrastructure. Microsoft Internal Use Only.
Public delegate_dispImportsEvents_ImportAddedEventHandlerInfrastructure. Microsoft Internal Use Only.
Public delegate_dispImportsEvents_ImportRemovedEventHandlerInfrastructure. Microsoft Internal Use Only.
Public delegate_dispReferencesEvents_ReferenceAddedEventHandlerInfrastructure. Microsoft Internal Use Only.
Public delegate_dispReferencesEvents_ReferenceChangedEventHandlerInfrastructure. Microsoft Internal Use Only.
Public delegate_dispReferencesEvents_ReferenceRemovedEventHandlerInfrastructure. Microsoft Internal Use Only.

  EnumerationDescription
Public enumerationprjBuildActionSpecifies a value indicating the type of build action for the current project item.
Public enumerationprjCompareSpecifies the default string comparison method for a project.
Public enumerationprjCopyProjectOptionThis enumeration is used by the CopyProject to determine which project files are copied when the project is copied.
Public enumerationprjExecCommandInfrastructure. Microsoft Internal Use Only.
Public enumerationprjHTMLPageLayoutUsed by the DefaultHTMLPageLayout of the Project.Properties collection object. The DefaultHTMLPageLayout specifies the default layout for new HTML pages.
Public enumerationprjOptionExplicitUsed by the OptionExplicit property.
Public enumerationprjOptionStrictUsed by the OptionStrict property.
Public enumerationprjOriginatorKeyModeUsed by the AssemblyOriginatorKeyMode. If the project has an originator key, it may be supplied through a key file or a key container.
Public enumerationprjOutputTypeUsed by the OutputType. Three output types are supported: Windows application, console application, and class library.
Public enumerationprjProjectTypeUsed by the ProjectType. This enumeration lists the two types of projects, local and Web.
Public enumerationprjReferenceTypeIndicates whether a Reference is a .NET Framework assembly or a COM component.
Public enumerationprjScriptLanguageUsed by the DefaultClientScript. Two script languages are supported, ECMAScript (JScript, JavaScript) and VBScript.
Public enumerationprjStartActionUsed by the StartAction property to indicate the start action of a project for debugging.
Public enumerationprjTargetSchemaUsed by the DefaultTargetSchema to define the HTML platform the application needs to be compatible with.
Public enumerationprjWarningLevelUsed by the WarningLevel property to indicate the types of warnings displayed during compilation.
Public enumerationprjWebAccessMethodUsed by the WebAccessMethod.
Public enumerationtagWebPrjAuthoringAccessUsed by the WebSettings of the VSLangProj.
Public enumerationwebPrjAuthoringAccessUsed by the AuthoringAccess property.
Public enumerationwebrefUrlBehaviorUsed by the UrlBehavior property.
Show: