Visual studio 如何从现有的VisualStudio项目中区分VisualStudio项目类型

Visual studio 如何从现有的VisualStudio项目中区分VisualStudio项目类型,visual-studio,visual-studio-2005,Visual Studio,Visual Studio 2005,使用VisualStudio2005 .sln或.vcproj文件(或任何其他文件)中是否有定义项目类型/子类型的内容 编辑:我的意思是,在创建项目时,首先选择一种语言(例如Visual C),然后选择一种项目类型(例如Windows),然后选择一个子类型(例如控制台应用程序) 该信息存储在VS文件中?。vProjfile定义项目类型,例如,下面定义了C++项目。 <VisualStudioProject ProjectType="Visual C++" 双击解决方案资源管理器中的

使用VisualStudio2005

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

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


该信息存储在VS文件中?

。vProjfile定义项目类型,例如,下面定义了C++项目。
<VisualStudioProject
   ProjectType="Visual C++"

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

在项目XML文件中:

控制台应用程序包含:

<OutputType>Exe</OutputType>
<OutputType>WinExe</OutputType>
<OutputType>Library</OutputType>
<ProjectTypeGuids>{603c0e0b-db56-11dc-be95-000d561079b0};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
Exe
WinForms应用程序包含:

<OutputType>Exe</OutputType>
<OutputType>WinExe</OutputType>
<OutputType>Library</OutputType>
<ProjectTypeGuids>{603c0e0b-db56-11dc-be95-000d561079b0};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
WinExe
库(.dll)项目包含:

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

<ProjectTypeGuids>

ASP.NET和WCF项目包含:

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

guid可以精确地定义它是什么类型的项目。上面这些是从ASP.NET应用程序中获取的。它们也存在于WCF项目中,在打开GUI时,随意使用GUI可以欺骗Vis Studio更改项目类型。

一些进一步的研究发现:

My.sln文件包含:

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

链接显示:

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


所以它是Windows C#,子类型与@HardCode的回复一致。在我的例子中,它是“控制台应用程序”

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

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

例如,如果有一个WPF项目,它会显示与WPF相关的选项,如“窗口”、“页面”、“用户控件”。。。如果是窗口窗体应用程序,则会显示“窗口窗体”等…

如下所示: 解决方案资源管理器->将鼠标悬停/右键单击在项目项(而不是项目文件夹)上。检查“属性”视图以查找是否单击了文件夹或项目->属性。
然后项目的所有信息都可用。

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

  • 右键单击解决方案的项目
  • 打开属性->应用程序选项卡
  • 在右边可以看到“输出类型”,它定义了现有解决方案的项目类型
  • 简单的解决方案

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

    WCF Web服务项目:

    ASP.NET Web服务项目:


    还要注意的是,如果项目的属性文件夹中有Resources.Designer.cs或Settings.Designer.cs,那么它很可能是一个WinForms应用程序。

    它们应该有一个图标,表示所用的语言(C#、VB等)。我想这就是你说的。偶像?它们是文本/xml文件。我在找一些表示C####/控制台应用程序之类的东西。你是指项目的输出吗?e、 应用程序、类库等?不知道双击?我是从“项目/物业”那里来的。同样的道理。你知道微软-有三种方法可以实现任何功能。我肯定还有一个键盘快捷键。应用程序类型组合框在哪里?是的,在哪里?我看到的最接近的东西是应用程序下的输出类型。是的,它是输出类型。注意,我相信扩展名是:.vcproj:)。dll项目可以包含ProjectTypeGuid,例如为NUnit测试创建dll时使用的
    {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
    项目XML文件是指.csproj文件吗?@BugalugsNash是的,C#项目的.csproj文件。我认为项目GUID方法更好。我的是
    Exe
    ,但事实证明它是一个通过Guid而不是控制台应用程序的Web应用程序。这里有一个列表,您可以用来比较Guid以获得项目类型:下面是另一个已知Guid列表:项目类型Guid的最新列表位于:stackoverflow.com/a/53485177/24874