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

问题描述 投票:91回答:7

使用Visual Studio 2005。

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

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

这些信息存储在VS文件中的哪个位置?

visual-studio-2005
7个回答
47
投票

在项目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在打开它时更改项目类型。


38
投票

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

INFO: List of known project type Guids

我的.sln文件包含:

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

链接显示:

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

所以它是Windows C#,子类型是@ HardCode的回复。就我而言,它是“控制台应用程序”。


5
投票

.vproj文件定义项目类型,例如,以下定义了C ++项目。

<VisualStudioProject
   ProjectType="Visual C++"

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


4
投票

双击解决方案资源管理器中的“我的项目”,然后查看“应用程序类型:”ComboBox。它告诉您(并允许您更改)项目类型。


1
投票

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

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

例如,如果有一个WPF项目,它会显示WPF相关的选项,如'Window','Page''User Control'...如果是Window Form Application,它会显示'Window Form'等.....


0
投票

关注:解决方案资源管理器 - >悬停/右键单击项目项目(而不是项目文件夹。检查属性视图以查找是否单击了文件夹或项目) - >属性。然后,所有信息都可用于该项目。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.