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

Viewed 115589

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?

9 Answers

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.

Some further research and I found this:

INFO: List of known project type Guids.

My .sln file contains:

Visual Studio 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddNumbers", "AddNumbers.csproj", "{2C81C5BB-E3B0-457E-BC02-73C76634CCD6}"

The link shows:

Project Type Description Project Type Guid
Windows (C#) {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}

So it's Windows C# and the subtype is as per @HardCode's reply. In my case, it's "Console Application".

  1. Right Click on Project of a solution.
  2. Open Properties -> Application Tab.
  3. On the right you can see 'Output Type' which defines your project type of an existing solution.

The .vproj file defines the project type, for example, the following defines a C++ project.

<VisualStudioProject
   ProjectType="Visual C++"

The project tag also includes the compiler version.

Double-click on "My Project" in the Solution Explorer, and look at the "Application type:" ComboBox. It tells you (and lets you change) the project type.

Easy solution.

If you want to know if it's a WCF Project or ASP.NET Web Service simply open your project's folders in File Explorer. You can hover over the icon with your mouse and a tooltip will display the project type as shown in the picture. Also, you can look under the Type column in File Explorer and it shows it there as well.

WCF Web Service Project: WCF Web Service

ASP.NET Web Service Project: ASP.NET Web Service

Also to note, if your project has a Resources.Designer.cs or Settings.Designer.cs in its Properties folder it's likely a WinForms application.

Follow: Solution Explorer -> hover/right click over your project item ( not the project folder. Check the Properties view to find if you clicked on the folder or the project) -> Properties. Then all information is available for the project.

Right click on solution and click open folder in file explorer. Navigate to Project file. hover on it, tool tip displays the type of project file.

Related