如何从现有的Visual Studio项目中告诉Visual Studio项目types

使用Visual Studio 2005。

.sln或.vcproj文件(或任何其他地方)中是否有定义项目types/子types的内容?

编辑:我的意思是,当你创build一个项目,你首先select一种语言(如Visual C#),然后项目types(如Windows),然后是子types(如控制台应用程序)。

这些信息在VS文件中存储在哪里?

在项目XML文件中:

控制台应用包含:

<OutputType>Exe</OutputType> 

WinForms应用程序包含:

 <OutputType>WinExe</OutputType> 

库(.dll)项目包含:

 <OutputType>Library</OutputType> 

并不包含一个

 <ProjectTypeGuids> 

ASP.NET和WCF项目包含:

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

GUID做一些事情来确定它是什么types的项目。 上面的这些是从ASP.NET应用程序中获取的。 它们也存在于WCF项目中,翻转GUID可以让Vis Studio在打开项目时改变项目types。

一些进一步的研究,我发现这一点:

INFO:已知项目typesGuid的列表 。

我的.sln文件包含:

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

链接显示:

项目types说明项目typesGuid
Windows(C#){ FAE04EC0-301F-11D3-BF4B-00C04F79EFBC }

所以它是Windows C#和子types是根据@ HardCode的答复。 在我的情况下,它是“控制台应用程序”。

双击解决scheme资源pipe理器中的“我的项目”,然后查看“应用程序types:”combobox。 它告诉你(并让你改变)项目types。

.vproj文件定义了项目types,例如,下面定义了一个C ++项目。

 <VisualStudioProject ProjectType="Visual C++" 

项目标签还包括编译器版本。

如果你有兴趣find一个项目的子types,即在C#Windows项目类别,检查它是否是Windows窗体应用程序或WPF

尝试在项目中添加新项目,它会显示特定于该项目types的项目以及默认选项。

例如,如果有一个WPF项目,它显示WPF相关的选项,如“窗口”,“页面”“用户控制”…在窗口窗体应用程序的情况下,它显示“窗体窗体”等…..