This documentation is archived and is not being maintained.

VSLangProj Namespace (VSLangProj2 and VSLangProj80) 

The VSLangProj80 namespace represents the most recently updated types and members of the project-specific automation model objects for Visual Basic, Visual C#, and Visual J#. VSLangProj and VSLangProj2 contain the earlier versions of the types and members.


While Visual Studio offers a core project automation model, it is, by its nature, somewhat 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:

  • VSLangProj

  • VSLangProj2

  • VSLangProj80

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 changing 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. An updated version of Reference that includes additions and changes is in the VSLangProj2 assembly and is named Reference2. Updates to Reference2 are in the Reference3 object in the VSLangProj80 assembly.

See Also