2009-06-24 17 views
11

पर PublicResXFileCodeGenerator चल रहा है हम * .resx फ़ाइलों से * .esignign.c.c फ़ाइलों को उत्पन्न करने के लिए PublicResXFileCodeGenerator का उपयोग कर रहे हैं। वर्तमान में, जब भी .resx सहेजा जाता है या जब हम राइट क्लिक करते हैं और "कस्टम टूल चलाएं" चुनते हैं तो ये उत्पन्न होते हैं।संकलन समय

मैं इसे मैन्युअल रूप से करने के बजाय, स्वचालित रूप से निर्माण समय पर इस उपकरण को चलाने में सक्षम होना चाहता हूं। Designer.cs फ़ाइलों को स्रोत नियंत्रण के तहत नहीं रखा जाता है, इसलिए हर बार जब कोई संसाधन संसाधन बदलता है, या पहले पहले चेकआउट को मैन्युअल रूप से उत्पन्न करना होता है तो उसे परेशान करना पड़ता है। यह ठीक है अगर फाइलें हर निर्माण पर उत्पन्न होती हैं, क्योंकि वे बहुत बड़े नहीं होते हैं, लेकिन जब वे पुराने होते हैं तो इसे केवल कूलर भी किया जाता है।

नोट: यह विजुअल स्टूडियो बिल्ड का हिस्सा होगा, कमांड लाइन बिल्ड नहीं। मुझे एक और सवाल का जवाब मिला कि यह वीएस के भीतर से संभव है, बस कमांड लाइन नहीं: Run a Visual Studio custom tool at build time

उत्तर

3

आप एक वीएस मैक्रो लिख सकते हैं जो आपको आवश्यकता होने पर कस्टम टूल चलाता है। स्वचालन विधि VSProjectItem.RunCustomTool है। Run Custom Tool for entire solution

अन्यथा, PublicResXFileCodeGeneratorStronglyTypedResourceBuilder Class पर सिर्फ एक वी.एस. आवरण है, कि आप जिस तरह से आप चाहते हैं स्वचालित कर सकते हैं: एक ऐसी ही समस्या के लिए इतने पर इस जवाब पर एक नज़र डालें। मुझे नहीं पता कि इसके ऊपर एक एमएसबिल्ड कार्य है या नहीं, लेकिन आप एक भी लिख सकते हैं, या आप एक पूर्व निर्माण चरण में एक कस्टम प्रोग्राम लिख सकते हैं। इस वर्ग का उपयोग करने के तरीके पर एक उदाहरण दिया गया है: Strongly typed resources in ASP.NET

+0

मुझे यह काम करने के लिए मिला। मैंने एक विजुअल स्टूडियो ऐड-इन बनाया है जो मेरी प्रोजेक्ट बनने पर प्रत्येक resx फ़ाइल पर कस्टम बिल्ड टूल चलाता है। – Sjoerd

+0

मैंने इसके बारे में लिखा: [निर्माण करते समय प्रत्येक resx फ़ाइल पर कस्टम टूल चलाएं] (http://linuxonly.nl/docs/49/145_Run_custom_tool_on_each_resx_file_when_building.html) – Sjoerd

1

इस Code Project Article पर एक नज़र डालें। ऐसा लगता है कि आप जो चाहते हैं उसे प्राप्त करने के लिए यह एक अच्छा प्रारंभिक बिंदु है।

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