विज़ुअल स्टूडियो प्रोजेक्ट फ़ाइल में ProjectTypeGuids टैग का क्या महत्व है


99

एक दृश्य स्टूडियो परियोजना में ProjectTypeGuids टैग का क्या महत्व है ?? जब मैंने एक WPF एप्लिकेशन बनाया, तो मैं यहां दो GUID देख रहा हूं।

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

क्या यह डब्ल्यूपीएफ और विंडोज प्रकार के अनुप्रयोगों का प्रतिनिधित्व करता है?

अगर मैं अपना स्वयं का प्रोजेक्ट प्रकार (.myproj) बनाऊं, जिसमें .xaml और .cs फाइलें हों, तो मुझे इस ProjectTypeGuids टैग में क्या भरना चाहिए? क्या मुझे ProjectType टैग भरने की आवश्यकता है?

यह भी बेहतर होगा कि कोई व्यक्ति ProjectType और ProjectTypeGuids * टैग को अलग कर दे।

जवाबों:


139
  • {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} सी # परियोजना के लिए गाइड है
  • {60dc8134-eba5-43b8-bcc9-bb4bc16c2548} WPF फ्लेवर पैकेज में प्रोजेक्ट के लिए है

तो आपका ProjectTypeGuidsWPF C # प्रोजेक्ट के लिए है।

आप रजिस्टर में अलग GUID का अर्थ देख सकते हैं:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Projects ProjectTypeGuids के लिए
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Packages कुछ परियोजना द्वारा संकुल संदर्भ के लिए

कुछ ProjectTypeGuids

विंडोज (C #) {FAE04EC0-301F-11D3-BF4B-00C04F0EFF}
विंडोज (VB.NET) {F184B08F-C81C-45F6-A57F-5ABD9991F28F}
विंडोज (विजुअल 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 (विंडोज़) {6D335F3A-9D43-41b4-9D22-F6F17C4BE596}
XNA (XBox) {2DF5C3F4-5A5F-47a9-8E94-23B4456F55E2}
XNA (Zune) {D399B71A-8929-442a-A9AC-8BEC78BB2424}
सिल्वरलाइट {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
ठीक है, अब अगर मैं अपने स्वयं के प्रोजेक्ट (.myproj) को .xaml फाइलों के साथ बनाना चाहता हूं, तो क्या मुझे उस GUID के साथ प्रोजेक्ट फाइल का स्वाद चखना चाहिए ??
सुदर्शनीस

क्या आपको वास्तव में एक नए प्रोजेक्ट प्रकार की आवश्यकता है अगर यह .xaml और .cs फ़ाइलों के साथ एक प्रोजेक्ट है? यदि आप करते हैं, तो मुझे लगता है कि आपको एक अलग गाइड का उपयोग करना होगा।
जूलियन होराउ

1
धन्यवाद जब ASP.NET MVC को एक मौजूदा ASP.NET WebForms प्रोजेक्ट में विलय करने में मेरी मदद की गई थी और मैं चाहता था कि कंटेंट मेन्यू नए कंटोलर्स, व्यूज़ आदि फोल्डर से लटका रहे।
रिक ग्लोस

1
@ मैलीगाइड GUIDs की सूची के लिए, यह उत्तर देखें ।
अथारी

6
क्यों बिल्ली इसके लिए वे एक GUID का उपयोग करेंगे? क्या वे नहीं कर सकते हैं, आप जानते हैं, "विंडोज (C #)" का उपयोग कुछ अप्रभावित GUID के बजाय C # प्रोजेक्ट को इंगित करने के लिए करते हैं, जिसे आपको सभी स्थानों की Windows रजिस्ट्री में देखना होगा।
सैंडी चैपमैन

20

से MZ-उपकरण: ज्ञात परियोजना प्रकार GUIDs की सूची :

प्रत्येक विज़ुअल स्टूडियो प्रोजेक्ट में एक प्रोजेक्ट प्रकार (विंडोज प्रोजेक्ट, स्मार्ट डिवाइस प्रोजेक्ट, वेब साइट प्रोजेक्ट आदि) और कुछ मामलों में एक से अधिक प्रकार (सबटाइप्स या फ्लेवर्स) होते हैं।

प्रत्येक प्रोजेक्ट प्रकार की पहचान एक अद्वितीय मार्गदर्शक द्वारा की जाती है, इसलिए प्रत्येक प्रोजेक्ट में एक या अधिक प्रोजेक्ट प्रकार Guids होते हैं।

प्रोजेक्ट प्रकार के गाइड आमतौर पर प्रोजेक्ट फ़ाइल में संग्रहीत किए जाते हैं:

<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

रजिस्ट्री कुंजी में प्रोजेक्ट प्रकार मार्गदर्शिकाएँ संग्रहीत की जाती हैं HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<version>\Projects। हालाँकि, उस रजिस्ट्री कुंजी में संग्रहीत सभी गाइड वास्तविक परियोजना प्रकार नहीं हैं। उनमें से कुछ का उपयोग केवल प्रोजेक्ट टेम्पलेट प्रदान करने के लिए किया जाता है (C # और VB.NET परियोजनाओं के लिए) और अन्य के अन्य उद्देश्य हैं। निम्न तालिका ज्ञात प्रोजेक्ट प्रकार गिड्स को सूचीबद्ध करती है।

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}

मैं विंडोज़ 8 के तहत रजिस्ट्री स्थान से इन छापों को नहीं ढूँढ सकता, क्या एमएस उन्हें दूसरी जगह ले जाता है?
विंसेंट

@Vincent ये GUID कहीं और Visual Studio और संबंधित उत्पादों की निष्पादन योग्य फ़ाइलों में संग्रहीत हैं, मुझे लगता है।
अथारी

3
@Vincent: 64-बिट विंडोज पर, प्रोजेक्ट प्रकार GUID को रजिस्ट्री कुंजी में संग्रहीत किया जाता है HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\<version>\Projects
एंड्रियास बिलगर

यहाँ पर उपलब्ध प्रोजेक्टटाइपगिड्स की एक पूरी तरह से सूची है: codeproject.com/Reference/720512/…
फ्रेडरिक स्ट्रक-शोइंग

12

Msdn पर एक थ्रेड पहले ही शुरू किया जा चुका है और वहां बहुत चर्चा की जा चुकी है। अगर किसी को भी इस बारे में जानने की दिलचस्पी है, तो देखें कि Visual Studio प्रोजेक्ट फाइल में ProjectTypeGuids टैग का क्या महत्व है

ProjectTypeGuids प्रोजेक्ट एकत्रीकरण के लिए Visual Studio द्वारा उपयोग किया जाता है। आपके उदाहरण में आपके पास WPF ( 60dc8134-eba5-43b8-bcc9-bb4bc16c2548 द्वारा दर्शाया गया) C # प्रोजेक्ट ( FAE04EC0-301F-11203-BF4B-00C04F79EFBC द्वारा दर्शाया गया ) है।

यदि आपके पास .xaml और .cs दोनों के साथ काम करने का एक कस्टम प्रोजेक्ट प्रकार है, तो आपको अपने कस्टम प्रोजेक्ट गाइड (अपने प्रोजेक्ट फैक्ट्री GUID द्वारा निर्दिष्ट) को नीचे दिए अनुसार जोड़ने का प्रयास करना चाहिए:

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


2
यह दुख की बात है कि कहीं भी (आपके द्वारा साझा किए गए पृष्ठों सहित) स्पष्ट रूप से बताता है कि प्रोजेक्टटाइपगिड्स की आवश्यकता क्यों है। MS के किसी व्यक्ति ने आपके द्वारा साझा किए गए पृष्ठ पर समझाया कि प्रोजेक्टटाइपगिड्स केवल प्रोजेक्ट एकत्रीकरण के लिए हैं। इसका क्या मतलब है? कौन जाने।
कैरी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.