2008-09-09 12 views
12

विजुअल स्टूडियो समाधान फ़ाइलों में प्रति परियोजना प्रविष्टि में दो GUID शामिल हैं। मुझे लगता है कि इनमें से एक विधानसभाInfo.csएक एसएलएन फ़ाइल में GUIDs

क्या कोई यह सुनिश्चित करने के लिए जानता है कि ये कहां से आए हैं, और उनके लिए क्या उपयोग किया जाता है?

+0

इसके बारे में पूर्ण स्रोत कोड नमूना के साथ कोई अंतिम समाधान? – Kiquenet

उत्तर

13

न तो GUID विधानसभाInfo.cs के समान GUID है (यह असेंबली के लिए GUID है, विजुअल स्टूडियो से बंधे नहीं बल्कि निर्माण के अंतिम उत्पाद)।

तो, SLN फ़ाइल में एक ठेठ लाइन (नोटपैड या संपादक के-चुनाव में .sln खोलने अगर आप इस देखना चाहते हैं) के लिए:

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleSandbox", "ConsoleSandbox\ConsoleSandbox.csproj", "{55A1FD06-FB00-4F8A-9153-C432357F5CAC}" 

दूसरा GUID के लिए एक अनूठा GUID है परियोजना खुद ही। समाधान फ़ाइल यह है कि परियोजना के लिए अन्य सेटिंग्स मैप करने के लिए उपयोग करता है:

GlobalSection(ProjectConfigurationPlatforms) = postSolution 
    {55A1FD06-FB00-4F8A-9153-C432357F5CAC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 
    {55A1FD06-FB00-4F8A-9153-C432357F5CAC}.Debug|Any CPU.Build.0 = Debug|Any CPU 
    {55A1FD06-FB00-4F8A-9153-C432357F5CAC}.Release|Any CPU.ActiveCfg = Release|Any CPU 
    {55A1FD06-FB00-4F8A-9153-C432357F5CAC}.Release|Any CPU.Build.0 = Release|Any CPU 

EndGlobalSection

पहले GUID वास्तव में एक GUID समाधान ही (मेरा मानना ​​है कि) के लिए अद्वितीय GUID है। यदि आपके पास एक से अधिक प्रोजेक्ट के साथ समाधान है, तो आप वास्तव में निम्न की तरह कुछ देखेंगे:

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleSandbox", "ConsoleSandbox\ConsoleSandbox.csproj", "{55A1FD06-FB00-4F8A-9153-C432357F5CAC}" 
EndProject 
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Composite", "..\CompositeWPF\Source\CAL\Composite\Composite.csproj", "{77138947-1D13-4E22-AEE0-5D0DD046CA34}" 
EndProject 
+0

एसएलएन फाइल के लिए सी # में कोई पार्सिंग? यह एक दयालु एसएलएन फ़ाइल एक्सएमएल प्रारूप नहीं है। @ जेसनऑल्सन – Kiquenet

+5

पहला GUID प्रोजेक्ट प्रकार की पहचान करता है, जैसा कि संक्षेप में यहां बताया गया है - http://msdn.microsoft.com/en-us/library/bb165951(v=vs.90).aspx। प्रोजेक्ट प्रकारों की सूची के लिए http://www.mztools.com/Articles/2008/MZ2008017.aspx भी देखें। (मैं अभी भी सोच रहा हूं कि समाधान फ़ोल्डर के लिए कोई विशेष मार्गदर्शिका है ...) – yoyo

+1

लिंक @Yoyo के लिए धन्यवाद। फ़ोल्डर GUID {2150E333-8FDC-42A3-9474-1A3956D46DE8} लगता है। – Giles

6

According to MSDN:

[Project] बयान अद्वितीय परियोजना GUID और परियोजना प्रकार GUID शामिल हैं। इस जानकारी का उपयोग द्वारा फ़ाइल या समाधान से संबंधित फ़ाइलों को खोजने के लिए पर्यावरण का उपयोग किया जाता है, और VSPackage को प्रत्येक प्रोजेक्ट के लिए की आवश्यकता होती है। प्रोजेक्ट GUID प्रोजेक्ट से संबंधित विशिष्ट VSPackage लोड करने के लिए IVsProjectFactory को पास किया गया है, तो प्रोजेक्ट VSPackage द्वारा लोड किया गया है।

संबंधित मुद्दे