2013-01-16 5 views
5

मैं एक उपकरण लिख रहा हूं जो मेरे स्रोत पेड़ का निरीक्षण करता है .vcproj और .csproj प्रोजेक्ट्स (VS2005)। मैं यह जानना चाहता हूं कि प्रत्येक परियोजना एक आवेदन है, डीएलएल या स्थिर lib परियोजना।यह कैसे बताना है कि कोई विजुअल स्टूडियो प्रोजेक्ट फ़ाइल अनुप्रयोग, डीएलएल या स्थैतिक लाइब्रेरी प्रोजेक्ट का प्रतिनिधित्व करती है या नहीं?

सी # के लिए, मुझे लगता है कि इस प्रश्न का उत्तर है (How do you tell the Visual Studio project type from an existing Visual Studio project) लेकिन मुझे सी ++ परियोजनाओं में स्पष्ट समानांतर नहीं मिल रहा है। यदि संभव हो तो मैं पाठ में एक साधारण खोज शब्द के रूप में उपयोग कर सकता हूं।

+0

2012 में यह 'लेबल =' कॉन्फ़िगरेशन के साथ 'प्रॉपर्टी ग्रुप' में '<कॉन्फ़िगरेशन टाइप> एप्लिकेशन

+2

मुझे यकीन है कि उन्होंने सी ++ –

+0

के लिए 2010 में काफी कुछ बदल दिया है, जो भी समाधान आप उपयोग करते हैं उसे दोबारा जांचने के लिए, आप प्रोजेक्ट पर राइट-क्लिक करके किसी दिए गए प्रोजेक्ट प्रकार को सत्यापित कर सकते हैं, 'Properties'->' कॉन्फ़िगरेशन प्रॉपर्टीज'- > 'सामान्य'->' कॉन्फ़िगरेशन प्रकार '("परियोजना डिफ़ॉल्ट के तहत) – bunkerdive

उत्तर

5

आपको .vcproj फ़ाइल में "कॉन्फ़िगरेशन टाइप" विशेषता को पार्स करने की आवश्यकता होगी। <VisualStudioProject><Configurations><Configuration> तत्व की एक विशेषता। यह एक डीएलएल परियोजना के लिए "2" है, एक स्थिर पुस्तकालय परियोजना के लिए "4"। सावधान रहें कि अलग-अलग कॉन्फ़िगरेशन में इस विशेषता के लिए अलग-अलग मान हो सकते हैं, हालांकि यह बहुत असामान्य होगा।

आप सामान्य रूप से .vcproj फ़ाइल की प्रति बनाकर इन चीजों को सामान्य रिवर्स-इंजीनियर करते हैं, प्रोजेक्ट + प्रॉपर्टी पेज में बदलाव करते हैं, फ़ाइल + सेवएल का उपयोग करते हैं और फिर दो .vcproj फ़ाइलों की तुलना में क्या बदलते हैं इसकी तुलना करें।

विजुअल स्टूडियो के पुराने संस्करण में बहुत सारे प्रयास करने के लिए थोड़ा सा देखें। सॉफ्टवेयर इंजीनियरिंग में आठ साल बहुत लंबा समय है, खासकर सी ++ 11 मानक जारी होने के बाद। सी ++ प्रोजेक्ट फ़ाइल प्रारूप नाटकीय रूप से वीएस -2010 में बदल गया, अब एक .vcxproj फ़ाइल जो एमएसबिल्ड के माध्यम से निर्माण का समर्थन करके वीएस में शेष भाषाओं में शामिल हो गई। जब आप अपने वीएस संस्करण को कुछ दिन अपग्रेड करते हैं तो आपको यह सब फिर से करना होगा। अब बेहतर करें क्योंकि यह सुनिश्चित करने के बाद कि आप अपने उपकरण पर निर्भर होने के बाद बाद में ऐसा करना आसान नहीं होगा।

+0

अद्यतन बाहरी कारकों द्वारा संचालित होता है, इसलिए इस मामले में परीक्षण के _long_ सूची में" इस छोटी उपयोगिता को अपडेट करें "जोड़ने के लिए ठीक है जब हम एक दिन चलते हैं 2010 तक या उससे आगे :) –

+0

कॉन्फ़िगरेशन टाइप = "1" एप्लिकेशन या एक्सई प्रोजेक्ट के लिए है। – Nathan

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