2012-09-09 34 views
5

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

अब तक मैं vcxproj फ़ाइलों को हाथ से संपादित करके सबसे समस्याग्रस्त असंगतताओं से छुटकारा पाने में कामयाब रहा हूं लेकिन यह वास्तव में एक स्वीकार्य रणनीति नहीं है क्योंकि इस विशेष समाधान में 80 से अधिक प्रोजेक्ट फ़ाइलें हैं।

क्या कोई ऐसा उपकरण है जो आंतरिक स्थिरता के लिए एमएसबील्ड फ़ाइल की जांच कर सकता है और "आपकी प्रोजेक्ट फाइलों के अनुसार लापता कॉन्फ़िगरेशन को हाइलाइट करता है, यह कहता है कि यह कॉन्फ़िगरेशन एक्स, वाई और जेड प्रदान करता है लेकिन फ़ाइल एक्स के लिए कस्टम बिल्ड कार्य केवल कॉन्फ़िगरेशन एक्स का समर्थन करता है और जेड "?

अद्यतन: विशिष्ट समस्या मैं हल करने के लिए अभी रूप vcxproj फ़ाइल linting के और अधिक सामान्य समस्या के लिए विरोध कुछ विन्यास के लिए याद आ रही सशर्त का है कोशिश कर रहा हूँ। दुर्भाग्य से सशर्त जोड़ना और अपडेट करना एक खोज-और-प्रतिस्थापन उपकरण का उपयोग करके सुरक्षित रूप से पूरा कर सकता है। इसे प्रोग्रामेटिक रूप से और सही तरीके से करने के लिए सबसे अधिक संभावना है कि डोम मैनिपुलेशन की आवश्यकता होगी और यह देखते हुए कि मैं बिल्ड फाइलों की आंतरिक संरचना से परिचित हूं, अब तक ऐसा लगता है कि एक टेक्स्ट एडिटर का उपयोग करना जो मूल संरचनात्मक XML सत्यापन करने में सक्षम है, पूरा करने का सबसे तेज़ तरीका है हाथ में काम।

जो मैं वास्तव में देखना चाहता हूं वह एक ऐसा उपकरण होगा जो कम से कम इन समस्याओं को कम करने के लिए इन समस्याओं को कम करने के लिए इन समस्याओं को कम कर सकता है।

उत्तर

1

कॉन्फ़िगरेशन सामान्य रूप से एक वीएस अवधारणा हैं। वे MSBuild में अंतर्निहित नहीं हैं लेकिन संपत्ति समूहों पर सशर्त विशेषताओं का उपयोग करके हासिल किए गए हैं। सबसे अधिक संभावना अपनी परियोजना फ़ाइलें मान्य MSBuild परियोजनाओं कर रहे हैं, लेकिन उनमें से कुछ डिफ़ॉल्ट पैरामीटर के साथ निर्माण नहीं है - मैं हाथ से उन्हें संपादित करने के लिए नहीं सुझाव देंगे, लेकिन या तो

  • एक उपकरण के लिए ढूंढें और बदलें का उपयोग ठीक उन्हें
  • का निरीक्षण किया और इस परियोजना फ़ाइलों

कुछ भी नहीं है कि आप के लिए यह प्रदर्शन करेंगे, मुझे डर लग रहा है ठीक करने के लिए Microsoft.Build.Construction एपीआई का उपयोग करता है एक छोटा सा एप्लिकेशन लिखें।

+0

माइक्रोसॉफ्ट.बिल्ड.कॉन्स्ट्रक्शन एपीआई दिलचस्प लग रहा है, धन्यवाद! मैंने इस तथ्य को प्रतिबिंबित करने के लिए प्रश्न संपादित किया है कि वर्तमान समस्याएं जो मैं देख रहा हूं दुर्भाग्य से खोज-और-प्रतिस्थापन उपकरण से थोड़ा कम है जो मैं आमतौर पर उपयोग करता हूं, हालांकि मैं शायद कुछ काम करने के लिए एक रूबी स्क्रिप्ट को फेंक सकता हूं । –