Answers:
在项目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可以执行一些操作来准确定义项目类型。上面的内容来自ASP.NET应用程序。它们也存在于WCF项目中,并且在打开GUID时翻转它会欺骗Vis Studio更改项目类型。
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<OutputType>Exe</OutputType>
但事实证明它是通过GUID而不是控制台应用程序的Web应用程序
一些进一步的研究,我发现:
我的.sln文件包含:
Visual Studio 2005
项目(“ { FAE04EC0-301F-11D3-BF4B-00C04F79EFBC }”)=“ AddNumbers”,“ AddNumbers.csproj”,“ {2C81C5BB-E3B0-457E-BC02-73C76634CCD6}”
链接显示:
项目类型描述项目类型Guid
Windows(C#){ FAE04EC0-301F-11D3-BF4B-00C04F79EFBC }
因此它是Windows C#,其子类型根据@HardCode的回复。就我而言,它是“控制台应用程序”。
.vproj文件定义项目类型,例如,以下定义C ++项目。
<VisualStudioProject
ProjectType="Visual C++"
项目标签还包括编译器版本。
如果您有兴趣查找项目的子类型,即在C#Windows项目类别下,请检查它是Windows Form应用程序还是WPF。
尝试在项目中添加新项目,它将显示特定于该项目类型的项目以及默认选项。
例如,如果有一个WPF项目,它将显示与WPF相关的选项,例如“窗口”,“页面”,“用户控件” ...如果是窗口表单应用程序,则显示“窗口表单”等..
右键单击解决方案,然后在文件资源管理器中单击打开文件夹。导航到项目文件。将鼠标悬停在其上,工具提示将显示项目文件的类型。