Controlling Projects and Solutions
The Visual Studio automation model provides objects and collections that enable you to control the solution, projects, and the project items within the project, regardless of the programming language in which the application was written.
In addition to this core, language-agnostic project automation model, each programming language has its own project automation model which provides access to features unique to that language.
The Solution2 object and the Projects collection (which is returned by Projects and Projects) contain a reference to the solution, as well as references to all projects in that solution, respectively.
A virtual project is one that is not associated with a particular project but is rather associated with the solution. A solution can contain two additional virtual projects: the Solution Items and the Miscellaneous Files projects.
To learn more about
Controlling the solution, and projects within the solution.
How to programmatically create solution and project build configurations.
Dealing with projects that do not support the Visual Studio automation model.
Working with the virtual projects — Solution Items and Miscellaneous Items projects.
Saving solution and project variable values between integrated development environment (IDE) sessions.
Manipulating Solution Explorer.
Controlling Visual Basic and Visual C# projects.
Controlling Visual C++ projects.