Visual Studio 프로젝트 파일에서 ProjectTypeGuids 태그의 중요성은 무엇입니까?


99

Visual Studio 프로젝트에서 ProjectTypeGuids 태그의 중요성은 무엇입니까 ?? WPF 응용 프로그램을 만들 때 여기에 두 개의 GUID가 표시됩니다.

{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}**

WPF 및 Windows 유형의 응용 프로그램을 나타 냅니까?

.xaml 및 .cs 파일이있는 고유 한 프로젝트 유형 (.myproj)을 만드는 경우이 ProjectTypeGuids 태그를 무엇으로 채워야합니까? ProjectType 태그도 채워야합니까?

누군가 ProjectType과 ProjectTypeGuids * 태그를 구별하는 것이 더 좋을 것입니다.

답변:


139
  • {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} C # 프로젝트의 GUID입니다.
  • {60dc8134-eba5-43b8-bcc9-bb4bc16c2548} WPF 플레이버 패키지의 프로젝트 용입니다.

그래서 당신 ProjectTypeGuids은 WPF C # 프로젝트입니다.

레지스터에서 다른 GUID의 의미를 볼 수 있습니다.

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Projects ProjectTypeGuids 용
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Packages 일부 프로젝트에서 패키지 참조 용

일부 ProjectTypeGuids

Windows (C #) {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
Windows (VB.NET) {F184B08F-C81C-45F6-A57F-5ABD9991F28F}
Windows (Visual C ++) {8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}
웹 애플리케이션 {349C5851-65DF-11DA-9384-00065B846F21}
웹 사이트 {E24C65DC-7377-472B-9ABA-BC803B73C61A}
WCF {3D9AD99F-2412-4246-B90B-4EAA41C64699}
WPF {60DC8134-EBA5-43B8-BCC9-BB4BC16C2548}
XNA (Windows) {6D335F3A-9D43-41b4-9D22-F6F17C4BE596}
XNA (XBox) {2DF5C3F4-5A5F-47a9-8E94-23B4456F55E2}
XNA (Zune) {D399B71A-8929-442a-A9AC-8BEC78BB2433}
Silverlight {A1591282-1198-4647-A2B1-27E5FF5F6F3B}
ASP.NET MVC {F85E285D-A4E0-4152-9332-AB1D724D3325}
ASP.NET MVC 4 {E3E379DF-F4C6-4180-9B81-6769533ABE47}
{3AC096D0-A1C2-E12C-1390-A8335801FDAB} 테스트
솔루션 폴더 {2150E333-8FDC-42A3-9474-1A3956D46DE8}      

1
좋아, 이제 .xaml 파일이 포함 된 내 프로젝트 (.myproj)를 만들고 싶다면 해당 GUID로 프로젝트 파일을 맛보아야합니까?
sudarsanyes

.xaml 및 .cs 파일이있는 프로젝트 인 경우 새 프로젝트 유형이 정말로 필요합니까? 그렇게한다면 다른 Guid를 사용해야 할 것 같습니다.
Julien Hoarau

1
덕분에 ASP.NET MVC를 기존 ASP.NET WebForms 프로젝트에 병합 할 때 도움이되었으며 콘텐츠 메뉴가 새 컨트롤러, 뷰 등의 폴더에 걸려 있기를 원했습니다.
Rick Glos 2011

1
@Meligy GUID 목록은 이 답변을 참조하십시오 .
Athari

6
도대체 왜 GUID를 사용합니까? 그들은 단지 "Windows (C #)"를 사용하여 모든 위치의 Windows 레지스트리에서 조회해야하는 일부 둔한 GUID 대신 C # 프로젝트를 나타낼 수는 없습니다.
Sandy Chapman 2011

20

에서 MZ-도구 : 알려진 프로젝트 형식의 GUID를 목록 :

모든 Visual Studio 프로젝트에는 프로젝트 유형 (Windows 프로젝트, 스마트 장치 프로젝트, 웹 사이트 프로젝트 등)이 있으며 경우에 따라 둘 이상의 유형 (하위 유형 또는 플레이버)이 있습니다.

모든 프로젝트 유형은 고유 한 Guid로 식별되므로 모든 프로젝트에는 하나 이상의 프로젝트 유형 Guid가 있습니다.

프로젝트 유형 Guid는 일반적으로 프로젝트 파일에 저장됩니다.

<PropertyGroup>
    <ProjectTypeGuids>{A860303F-1F3F-4691-B57E-529FC101A107};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    ...
</PropertyGroup> 

그러나 일부 특수 프로젝트 (예 : 일부 데이터베이스 프로젝트) 및 파일이없는 프로젝트 (예 : 웹 사이트 프로젝트)의 경우 프로젝트 유형도 솔루션 파일에 저장됩니다.

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "SqlServerProject1", "SqlServerProject1.vbproj", "{BE5F0BE0-93CD-4FCE-A853-9096A442DF1B}"
EndProject

프로젝트 유형 Guid는 레지스트리 키에 저장됩니다 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<version>\Projects. 그러나 해당 레지스트리 키에 저장된 모든 Guid가 실제 프로젝트 유형은 아닙니다. 일부는 프로젝트 템플릿 (C # 및 VB.NET 프로젝트 용)을 제공하는 데만 사용되며 다른 일부는 다른 용도로 사용됩니다. 다음 표에는 알려진 프로젝트 유형 Guid가 나열되어 있습니다.

Project Type Description                 Project Type Guid

Windows (C#)                             {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
Windows (VB.NET)                         {F184B08F-C81C-45F6-A57F-5ABD9991F28F}
Windows (Visual C++)                     {8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}
Web Application                          {349C5851-65DF-11DA-9384-00065B846F21}
Web Site                                 {E24C65DC-7377-472B-9ABA-BC803B73C61A}
Distributed System                       {F135691A-BF7E-435D-8960-F99683D2D49C}
Windows Communication Foundation (WCF)   {3D9AD99F-2412-4246-B90B-4EAA41C64699}
Windows Presentation Foundation (WPF)    {60DC8134-EBA5-43B8-BCC9-BB4BC16C2548}
Visual Database Tools                    {C252FEB5-A946-4202-B1D4-9916A0590387}
Database                                 {A9ACE9BB-CECE-4E62-9AA4-C7E7C5BD2124}
Database (other project types)           {4F174C21-8C12-11D0-8340-0000F80270F8}
Test                                     {3AC096D0-A1C2-E12C-1390-A8335801FDAB}
Legacy (2003) Smart Device (C#)          {20D4826A-C6FA-45DB-90F4-C717570B9F32}
Legacy (2003) Smart Device (VB.NET)      {CB4CE8C6-1BDB-4DC7-A4D3-65A1999772F8}
Smart Device (C#)                        {4D628B5B-2FBC-4AA6-8C16-197242AEB884}
Smart Device (VB.NET)                    {68B1623D-7FB9-47D8-8664-7ECEA3297D4F}
Workflow (C#)                            {14822709-B5A1-4724-98CA-57A101D1B079}
Workflow (VB.NET)                        {D59BE175-2ED0-4C54-BE3D-CDAA9F3214C8}
Deployment Merge Module                  {06A35CCD-C46D-44D5-987B-CF40FF872267}
Deployment Cab                           {3EA9E505-35AC-4774-B492-AD1749C4943A}
Deployment Setup                         {978C614F-708E-4E1A-B201-565925725DBA}
Deployment Smart Device Cab              {AB322303-2255-48EF-A496-5904EB18DA55}
Visual Studio Tools for Apps (VSTA)      {A860303F-1F3F-4691-B57E-529FC101A107}
Visual Studio Tools for Office (VSTO)    {BAA0C2D2-18E2-41B9-852F-F413020CAA33}
SharePoint Workflow                      {F8810EC1-6754-47FC-A15F-DFABD2E3FA90}
XNA (Windows)                            {6D335F3A-9D43-41b4-9D22-F6F17C4BE596}
XNA (XBox)                               {2DF5C3F4-5A5F-47a9-8E94-23B4456F55E2}
XNA (Zune)                               {D399B71A-8929-442a-A9AC-8BEC78BB2433}
SharePoint (VB.NET)                      {EC05E597-79D4-47f3-ADA0-324C4F7C7484}
SharePoint (C#)                          {593B0543-81F6-4436-BA1E-4747859CAAE2}
Silverlight                              {A1591282-1198-4647-A2B1-27E5FF5F6F3B}
ASP.NET MVC 1.0                          {603C0E0B-DB56-11DC-BE95-000D561079B0}
ASP.NET MVC 2.0                          {F85E285D-A4E0-4152-9332-AB1D724D3325}
ASP.NET MVC 3.0                          {E53F8FEA-EAE0-44A6-8774-FFD645390401}
ASP.NET MVC 4.0                          {E3E379DF-F4C6-4180-9B81-6769533ABE47}

Windows 8의 레지스트리 위치에서 이러한 GUID를 찾을 수 없습니다. MS가 다른 위치로 이동합니까?
Vincent

@Vincent이 GUID는 Visual Studio 및 관련 제품의 실행 파일에 어딘가에 저장되어 있습니다.
Athari

3
@Vincent : 64 비트 Windows에서 프로젝트 유형 GUID는 레지스트리 키에 저장됩니다 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\<version>\Projects.
Andreas Bilger 2014-06-24

여기에 사용 가능한 projecttypeguids 목록이 있습니다. codeproject.com/Reference/720512/…
Frederik Struck-Schøning

12

msdn의 스레드는 이미 시작되었으며 많은 논의가있었습니다. 누구든지 이것에 대해 알고 싶다면 Visual Studio 프로젝트 파일에서 ProjectTypeGuids 태그의 중요성을 확인 하십시오.

ProjectTypeGuids는 Visual Studio에서 프로젝트 집계를 위해 사용됩니다. 귀하의 예에는 WPF ( 60dc8134-eba5-43b8-bcc9-bb4bc16c2548로 표시 ) C # 프로젝트 ( FAE04EC0-301F-11D3-BF4B-00C04F79EFBC로 표시 )가 있습니다.

.xaml 및 .cs 모두에서 작동하는 사용자 지정 프로젝트 유형이있는 경우 아래와 같이 사용자 지정 프로젝트 GUID (프로젝트 팩토리 GUID에서 지정)를 추가해야합니다.

<ProjectTypeGuids>{YourProjectFactoryClassGUID};{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} </ProjectTypeGuids>


2
(당신이 공유 한 페이지를 포함하여) 어디에도 projecttypeguids가 필요한 이유를 명확하게 설명하는 곳이 없다는 것은 슬픈 일입니다. MS의 누군가가 여러분이 공유 한 페이지에서 projecttypeguid가 프로젝트 집계 전용이라고 설명했습니다. 그게 무슨 뜻입니까? 누가 알아.
Cary
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.