मैं Visual Studio 2008 में प्रोजेक्ट कॉन्फ़िगरेशन कैसे निकालूँ?


98

मेरे पास एक विज़ुअल स्टूडियो 2008 समाधान है जिसमें मैंने कई पहले से मौजूद परियोजनाओं को आयात किया है। परियोजना मिश्रित-भाषा नमूना कोड (C #, VB, C ++ / CLI) हैं। वर्तमान में उनके पास कई कॉन्फ़िगरेशन हैं, लेकिन मैं चाहता हूं कि प्रत्येक प्रोजेक्ट में केवल एक ही "डीबग" कॉन्फ़िगरेशन हो।

कॉन्फ़िगरेशन प्रबंधक में, मैंने अन्य कॉन्फ़िगरेशन (जैसे "रिलीज़") को हटा दिया, लेकिन जैसा कि मैंने ऐसा किया था, मुझे यह बताने के लिए एक चेतावनी संदेश था कि वे व्यक्तिगत परियोजनाओं से हटाए नहीं जाएंगे।

और वास्तव में जब मैं किसी व्यक्तिगत प्रोजेक्ट पर नेविगेट करता हूं, तब भी इसमें "रिलीज़" और अन्य कॉन्फ़िगरेशन होते हैं, भले ही समाधान स्तर पर केवल "डीबग" हो।

मैं प्रत्येक प्रोजेक्ट से इन अतिरिक्त कॉन्फ़िगरेशनों को सबसे अच्छा कैसे निकाल सकता हूं? क्या मैं जीयूआई में ऐसा करने के लिए किसी तरह की अनदेखी कर रहा हूं, या मुझे सीधे प्रोजेक्ट फाइलों को संपादित करना चाहिए?

जवाबों:


191

कॉन्फ़िगरेशन प्रबंधक में, प्रत्येक प्रोजेक्ट के लिए "कॉन्फ़िगरेशन" कॉलम में "संपादित करें ..." का चयन करें (सक्रिय समाधान कॉन्फ़िगरेशन नामक ड्रॉपडाउन के माध्यम से नहीं) जो कॉन्फ़िगरेशन आप निकालना चाहते हैं।

पॉप अप होने वाले संवाद में, प्रत्येक अवांछित कॉन्फ़िगरेशन को चिह्नित करें और "निकालें" चुनें।


22
धन्यवाद! काश विजुअल स्टूडियो ने सभी परियोजनाओं में एक कॉन्फ़िगरेशन को हटाने के लिए एक तेज़ तरीका पेश किया। यदि आपके पास एक दर्जन परियोजनाएं हैं या तो एक समाधान में उनमें से प्रत्येक के माध्यम से जाने और मैन्युअल रूप से कॉन्फ़िगरेशन को हटाने का दर्द है।
स्टेफानो रिकियार्डी

1
@ मैथियास मैं भीख मांगता हूं। और नहीं, इसे बदला नहीं गया है (जब मैंने 2009 में इसका उत्तर संस्करण 2013 तक दिया था)।
टिम्बो

1
यदि मैं कॉन्फ़िगरेशन प्रबंधक में जाता हूं, तो संपादन के माध्यम से एक सक्रिय समाधान कॉन्फ़िगरेशन हटाएं, फिर कॉन्फ़िगरेशन प्रबंधक से कॉन्फ़िगरेशन वास्तव में हटा दिया जाता है। लेकिन अगर आप अब अपनी परियोजना के गुणों पर जाते हैं, तो कॉन्फ़िगरेशन अभी भी है। यदि आप .vcxproj फ़ाइलों के अंदर देखते हैं, तो कॉन्फ़िगरेशन अभी भी है। मैं विजुअल स्टूडियो 2013 (व्यावसायिक और अंतिम) का उपयोग करता हूं
मथायस

1
@ मैथियास ध्यान से पढ़ें (विशेषकर प्रत्येक प्रोजेक्ट का हिस्सा )। हो सकता है कि मेरे उत्तर में शब्द का चयन / आदेश सबसे अच्छी समझ के लिए ठीक से अनुकूलित नहीं है, लेकिन यह काम नहीं करता है या नहीं बदलता है।
टिम्बो

1
@Stefano Ricciardi 5 साल बाद, क्या आपको इस तरह के दर्द का हल मिला?
cppBeginner

10

टिम्बो के उत्तर को समझने में मदद के लिए, यहाँ वह बात कर रहा है। टिप्पणीकारों में से कुछ की तरह मुझे इसे खोजने में थोड़ा समय लगा।

यहां छवि विवरण दर्ज करें


9

किसी समाधान की सभी परियोजनाओं से कॉन्फ़िगरेशन को स्वचालित करने का सबसे अच्छा तरीका दृश्य स्टूडियो एपिस तक पहुंचने के लिए Nuget कंसोल कमांड का उपयोग करके किया जाता है।

पर जाएं उपकरण , Nuget पैकेज प्रबंधक , पैकेज प्रबंधक कंसोल

वहाँ से उपयोग:

Get-Project -All | Foreach { $_.ConfigurationManager.DeleteConfigurationRow("Release") }

इस तरह से आपने सभी प्रोजेक्ट्स से सभी कॉन्फ़िगरेशन को हटा दिया है "Release"। मैं दृढ़ता से सुझाव देता हूं कि आप अपने स्रोत कोड संस्करण सिस्तेम पर मतभेदों की हमेशा जांच करें, आप केवल csprojऔर कुछ मामलों में slnप्रभावित फाइलों को देखेंगे , यदि आप कॉन्फ़िगरेशन परिवर्तन (जैसे Web.Release.config) का उपयोग कर रहे हैं, तो वे अभी भी वहां होंगे।

आगे की जानकारी विजुअल स्टूडियो संस्करण-विशिष्ट एपीआई प्रलेखन पर उपलब्ध है , यह C ++, C #, F #, VB भाषाओं के लिए कम से कम VS 2015 से काम करता है।


क्या आप कुछ संदर्भ प्रदान कर सकते हैं जैसे आप इस कोड के साथ कैसे आते हैं? क्या कोई ट्यूटोरियल है? मैं यह सुनिश्चित करना चाहता हूं कि यह मेरी परियोजना को नहीं तोड़ेगी, इसे स्वयं बनाए रखने में सक्षम होगी, और शायद अन्य चीजों के लिए इसका उपयोग करेगी।
javaLover

धन्यवाद! मैंने देखा कि आपके लिंक में विषय का पेड़ (पृष्ठ का शीर्ष) है Docs > .NET > ... > DeleteConfigurationRow। क्या यह केवल .net समाधान के लिए काम करता है? क्या आपने इसे C ++ समाधान के लिए भी परीक्षण किया था?
javaLover

मेरे C ++ समाधान पर VS2019 में काम नहीं किया: त्रुटि HRESULT E_FAIL को कॉल से COM घटक में लौटा दिया गया है। लाइन में: 1 चार: 30 + ... | Toeach {$ _। ConfigurationManager.DeleteConfigurationRow ("DLL-Impor ... + CategoryInfo: OperationStontin: (:) [], COMException + FullQualifiedErrorId: System.untime.InteropServices.COMException Error HRESULT E_FAIL को COM से कॉल पर लौटा दिया गया है। घटक। लाइन पर: 1 char: 30 + ... | Foreach {$ _। configManager.DeleteConfigurationRow ("DLL-Impor ...
टेरी

मेरे लिए ठीक काम किया, सी ++ परियोजनाओं का समाधान। पारितोषिक के लिए धन्यवाद!
नॉर्डिक मेनफ्रेम

3

इस विशेष प्रश्न का उत्तर मुझे नहीं पता लेकिन VS2013 के साथ आप संपत्ति प्रबंधक टैब खोल सकते हैं, सभी प्रोजेक्ट कॉन्फ़िगरेशन का विस्तार कर सकते हैं, CTRL या SHIFT कुंजी का उपयोग करके कई चयन कर सकते हैं और एक साथ कई प्रोजेक्ट से कॉन्फ़िगरेशन हटा सकते हैं।


क्या यह C ++ प्रोजेक्ट्स के लिए ही है? मुझे लगता है कि आप जिस टैब का उल्लेख कर रहे हैं वह 'व्यू> अन्य विंडोज> प्रॉपर्टी मैनेजर' है?
स्टीवन एंडरसन

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.