VSLangProj Namespace
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.