Qual é o significado da tag ProjectTypeGuids no arquivo de projeto do Visual Studio

Qual é o significado da tag ProjectTypeGuids em um projeto de estúdio visual? Quando criei um aplicativo WPF, estou vendo dois GUIDs aqui.

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

Eles representam o tipo de aplicativos WPF e Windows?

Se eu criar meu próprio tipo de projeto (.myproj) que possui arquivos .xaml e .cs, o que devo preencher com essas tags ProjectTypeGuids? Eu também preciso preencher a tag ProjectType?

Também seria melhor se alguém diferenciasse as tags ProjectType e ProjectTypeGuids *.

  • {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} é o GUID do projeto C #
  • {60dc8134-eba5-43b8-bcc9-bb4bc16c2548} é para projeto no pacote de sabores do WPF

Portanto, seu ProjectTypeGuids é para um projeto WPF C #.

Você pode ver o significado dos diferentes GUID no registro:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Projects para ProjectTypeGuids
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Packages para referência de pacotes por algum projeto

Alguns ProjectTypeGuids

 Windows (C #) {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
 Windows (VB.NET) {F184B08F-C81C-45F6-A57F-5ABD9991F28F}
 Windows (Visual C ++) {8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}
 Aplicação Web {349C5851-65DF-11DA-9384-00065B846F21}
 Informação para a Web {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}
 Teste {3AC096D0-A1C2-E12C-1390-A8335801FDAB}
 Pasta de Soluções {2150E333-8FDC-42A3-9474-1A3956D46DE8}      

De MZ-Tools: Lista de Guids conhecidos do tipo de projeto :

Todo projeto do Visual Studio tem um tipo de projeto (projeto do Windows, projeto de dispositivo inteligente, projeto de site, etc.) e, em alguns casos, mais de um tipo (subtipos ou tipos).

Cada tipo de projeto é identificado por um GUID exclusivo, portanto, cada projeto possui um ou mais Guids do tipo de projeto.

Tipos de projeto Guids são armazenados geralmente no arquivo de projeto:

  {A860303F-1F3F-4691-B57E-529FC101A107};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} ...  

Mas para alguns projetos especiais (como alguns projetos de database) e projetos sem um arquivo (como projetos de sites), o tipo de projeto é armazenado também no arquivo de solução:

 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 

O tipo de projeto Guids é armazenado na chave de registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\\Projects . No entanto, nem todos os Guids armazenados nessa chave de registro são tipos de projeto reais. Alguns deles são usados ​​apenas para fornecer modelos de projeto (para projetos C # e VB.NET) e outros têm outros propósitos. A tabela a seguir lista Guids do tipo de projeto conhecido.

 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} 

Um thread no msdn já foi iniciado e muito foi discutido lá fora. Se alguém estiver interessado em saber sobre isso, verifique qual é o significado da tag ProjectTypeGuids no arquivo de projeto do Visual Studio

ProjectTypeGuids é usado pelo Visual Studio para agregação de projeto. No seu exemplo, você tem um projeto C # do WPF (representado por 60dc8134-eba5-43b8-bcc9-bb4bc16c2548 ) (representado por FAE04EC0-301F-11D3-BF4B-00C04F79EFBC ).

Se você tiver um tipo de projeto personalizado trabalhando com ambos .xaml e .cs, você deve tentar adicionar seu guid de projeto personalizado (especificado pelo GUID de fábrica do projeto) conforme abaixo:

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