4

Visual Studio では、WinForms プロジェクトに要素を追加するためのコンテキスト メニュー コマンドは、WPF プロジェクトで表示されるものとは異なります。実際、最初に "Add->Windows Form" が表示され、2 番目に "Add->Window" が表示されます。VisualStudio が現在開いているプロジェクトの種類を区別できるパラメーター/構成はどれですか? 私の最初の賭けは .csproj ファイルでしたが、プロジェクトの種類に特徴的なものは何も見当たりません。

4

4 に答える 4

4

ProjectTypeGuidsVisualStudioが認識するプロジェクトの種類を特定します。プロジェクトファイルとソリューションファイルに含まれています。プロジェクトは、C#やVSTOなどの複数のプロジェクトタイプに属することができます。

WPFのGUIDはですが{60dc8134-eba5-43b8-bcc9-bb4bc16c2548}WinFormsのGUIDは{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}withOutputTypeですWinExe

于 2012-07-24T12:42:04.137 に答える
4

多くの場合ProjectTypeGuids、プロジェクト ファイルには、Visual Studio がプロジェクトの種類を判断できるようにする要素があります。プロジェクトを参照して、ソリューション ファイルにも記載されています。

<ProjectTypeGuids>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

例として。

プロジェクト GUID のリストへのやや古いリンクがありますが、ほとんどはまだ有効です: http://onlinecoder.blogspot.se/2009/09/visual-studio-projects-project-type.html

そして、これがブログ投稿であり、それが何であるかを概説しています:

http://www.dzimchuk.net/blog/post/ProjectTypeGuids-node-in-VS-project-files.aspx

「通常のクラス ライブラリ プロジェクトでは、'ProjectTypeGuids' ノードがまったくありませんでした。これらの不思議な GUID が何であるかを見つけるのにそれほど時間はかかりませんでした: List of known project type Guids .したがって、最初のものはそれが WPF プロジェクトであり、 2 つ目は C# プロジェクトだと言っています。」

于 2012-07-24T12:38:29.863 に答える
1

プロジェクトの種類を識別するのは、実際には.slnファイル内の GUID です。

Project("{PROJECT-TYPE-GUID}") = "OurSolution.Tests.Integration", "OurSolution.Tests.Integration\OurSolution.Tests.Integration.csproj", "{04A96D9A-FF90-4FDC-9265-704CC8D496BE}"
于 2012-07-24T12:40:16.977 に答える
1

ほぼ正しい、それはソリューション ファイルにあります。プロパティ ProjectTypeGuids を検索します。

プロジェクト タイプの GUID のリストを次に示します: http://www.mztools.com/articles/2008/mz2008017.aspx

編集: 回答については、この投稿も参照してください: How do you tell the Visual Studio project type from an existing Visual Studio project

于 2012-07-24T12:41:24.727 に答える