如何区分 VisualStudio 项目类型和现有 VisualStudio 项目类型

使用 VisualStudio2005。

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

编辑: 我的意思是,当你创建一个项目时,你首先选择一种语言(例如 Visual c #) ,然后是一个项目类型(例如 Windows) ,然后是一个子类型(例如控制台应用)。

这些信息存储在 VS 文件中的什么地方?

118511 次浏览

Vproj 文件定义了项目类型,例如,下面定义了一个 C + + 项目。

<VisualStudioProject
ProjectType="Visual C++"

Project 标记还包括编译器版本。

在解决方案资源管理器中双击“ My Project”,查看“ Application type:”ComboBox。它告诉您(并允许您更改)项目类型。

在项目 XML 文件中:

控制台应用程序包括:

<OutputType>Exe</OutputType>

WinForms 应用程序包括:

<OutputType>WinExe</OutputType>

库(. dll)项目包含:

<OutputType>Library</OutputType>

并且不包含

<ProjectTypeGuids>

ASP.NET 和周转基金项目包括:

<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 时,通过翻转 GUID 可以欺骗 Vis Studio 来更改项目类型。

经过进一步的研究,我发现:

信息: 已知项目类型列表 Guids

我的.sln 文件包含:

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

链接显示:

项目类型描述项目类型指南
Windows (C #){ FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}

所以它是 Windows c # ,子类型是@HardCode 的回复,对我来说,是“控制台应用”。

如果您有兴趣查找项目的子类型,例如在 C # Windows 项目类别下,检查它是 Windows 窗体应用程序还是 WPF

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

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

跟随: 解决方案资源管理器-> 鼠标悬停/右键单击项目项(而不是项目文件夹)。检查 Properties 视图以查找是否单击了文件夹或项目)-> Properties。 然后,所有的信息是可用的项目。

右键单击解决方案,然后单击文件资源管理器中的打开文件夹。导航到项目文件。悬停在上面,工具提示显示项目文件的类型。

  1. 右键单击解决方案的项目。
  2. 打开属性-> 应用程序选项卡。
  3. 在右侧,您可以看到“ Output Type”,它定义了现有解决方案的项目类型。

简单的解决办法。

如果您想知道它是 WCF 项目还是 ASP.NET Web 服务,只需在文件资源管理器中打开项目的文件夹。您可以用鼠标悬停在图标上,工具提示将显示如图所示的项目类型。此外,您可以在文件资源管理器中的 类型列下查看,它也显示在那里。

周转基金网上服务项目: WCF Web Service

NET 网络服务项目: ASP.NET Web Service

还要注意,如果您的项目有一个参考资料。Designer.cs 或设置。Cs 在其 物业文件夹中很可能是一个 WinForms 应用程序。