BUG: Empty interfaces in VSLangProj90.dll

Author: Carlos J. Quintero (Microsoft MVP) Applies to: Microsoft Visual Studio 2008
Date: June 2008    


This article describes a bug in the VSLangProj90.dll file provided by Visual Studio 2008.

More Information

The VSLangProjXX.dll files provided by each Visual Studio version contain additional classes, interfaces and enums of the automation model specific for VB.NET and C# projects. See the articles INFO: Assemblies used in Visual Studio Extensibility and HOWTO: Getting information specific to VB.NET and C# projects from an add-in or macro. Those DLLs contain interfaces such as VSLangProj2.ProjectProperties2, VSLangProj80.VBProjectProperties3, etc. whose properties are the names that you can use when calling the EnvDTE.Project.Properties collection (see the article HOWTO: Guess the names of a Properties collection from a Visual Studio add-in or macro).

While the new VSLangProj90.dll contains new automation enums such as VSLangProj90.prjOptionInfer and interfaces such as VBProjectProperties4, the interfaces are empty, despite there are new properties in Visual Studio that apply only to the version 2008, such as "OptionInfer" or "TargetFramework". These properties appear when iterating the EnvDTE.Project.Properties collection but do not appear in the VBProjectProperties4 interface.

Go to the 'Visual Studio Extensibility (VSX)' web site for more articles like this (Articles section)