How do you tell the Visual Studio project type from an existing Visual Studio project

rbrayb picture rbrayb · Mar 19, 2009 · Viewed 92.5k times · Source

Using Visual Studio 2005.

Is there anything in the .sln or .vcproj files (or anywhere else) that defines the project type / subtype?

Edit: What I mean is that when you create a project, you first choose a language (e.g. Visual C#), then a project type (e.g. Windows) and then a subtype (e.g. Console Application).

Where is this information stored within the VS files?

Answer

CodingWithSpike picture CodingWithSpike · Mar 19, 2009

In the project XML files:

Console applications contain:

<OutputType>Exe</OutputType>

WinForms applications contain:

<OutputType>WinExe</OutputType>

Library (.dll) projects contain:

<OutputType>Library</OutputType>

and do NOT contain a

<ProjectTypeGuids>

ASP.NET and WCF projects contain:

<ProjectTypeGuids>{603c0e0b-db56-11dc-be95-000d561079b0};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>

The GUIDs do something to define exactly what type of project it is. The ones above were taken from an ASP.NET app. They exist in WCF projects too, and flipping around the GUIDs can fool Vis Studio into changing the project type when you open it.