Quelle est la signification de la balise ProjectTypeGuids dans le fichier projet Visual Studio

Quelle est la signification de la balise ProjectTypeGuids dans un projet de studio visuel? Lorsque j’ai créé une application WPF, je vois deux GUID ici.

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

Est-ce que cela représente des applications de type WPF et Windows?

Si je crée mon propre type de projet (.myproj) contenant des fichiers .xaml et .cs, que dois-je remplir dans ces balises ProjectTypeGuids? Dois-je aussi devoir remplir le tag ProjectType?

Il serait également préférable que quelqu’un différencie les balises ProjectType et ProjectTypeGuids *.

  • {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} est le GUID pour le projet C #
  • {60dc8134-eba5-43b8-bcc9-bb4bc16c2548} correspond à un projet dans le package d’ {60dc8134-eba5-43b8-bcc9-bb4bc16c2548} WPF

Donc, votre ProjectTypeGuids est pour un projet WPF C #.

Vous pouvez voir la signification du GUID différent dans le registre:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Projects pour ProjectTypeGuids
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Packages pour référence de packages par un projet

Quelques ProjectTypeGuids

 Windows (C #) {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
 Windows (VB.NET) {F184B08F-C81C-45F6-A57F-5ABD9991F28F}
 Windows (Visual C ++) {8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}
 Application Web {349C5851-65DF-11DA-9384-00065B846F21}
 Site 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}
 Test {3AC096D0-A1C2-E12C-1390-A8335801FDAB}
 Dossier de solution {2150E333-8FDC-42A3-9474-1A3956D46DE8}      

De MZ-Tools: Liste des types de projets connus

Chaque projet Visual Studio a un type de projet (projet Windows, projet Smart Device, projet de site Web, etc.) et, dans certains cas, plusieurs types (sous-types ou variantes).

Chaque type de projet est identifié par un Guid unique, de sorte que chaque projet possède un ou plusieurs types de projet.

Type de projet Les guids sont généralement stockés dans le fichier de projet:

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

Mais pour certains projets spéciaux (comme certains projets de firebase database) et les projets ne contenant pas de fichier (tels que les projets de sites Web), le type de projet est également stocké dans le fichier de solution:

 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 

Le type de projet Guids est stocké dans la clé de registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\\Projects . Cependant, tous les guids stockés dans cette clé de registre ne sont pas des types de projet réels. Certains d’entre eux ne sont utilisés que pour fournir des modèles de projet (pour les projets C # et VB.NET) et d’autres ont d’autres objectives. Le tableau suivant répertorie les types de projet connus.

 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} Dissortingbuted 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} 

Un thread à msdn a déjà été lancé et beaucoup de choses ont été discutées. Si quelqu’un est intéressé à connaître cela, cochez Quelle est la signification de la balise ProjectTypeGuids dans le fichier projet du studio visuel?

ProjectTypeGuids est utilisé par Visual Studio pour l’agrégation de projets. Dans votre exemple, vous avez un projet WPF (représenté par 60dc8134-eba5-43b8-bcc9-bb4bc16c2548 ) C (représenté par FAE04EC0-301F-11D3-BF4B-00C04F79EFBC ).

Si vous avez un type de projet personnalisé fonctionnant à la fois avec .xaml et .cs, vous devriez essayer d’append votre guide de projet personnalisé (spécifié par le GUID de votre usine de projet) comme suit:

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