2010-11-09 9 views
6

मैं टी 4 टेम्पलेट्स का एक सेट बना रहा हूं जो एक XML फ़ाइल से अपना डेटा एकत्र करते हैं। एक्सएमएल फ़ाइल बदलते समय टेम्पलेट को पुन: उत्पन्न करने के लिए विजुअल स्टूडियो को मजबूर करने का कोई तरीका है?बाह्य फ़ाइल संशोधित होने पर टी 4 टेम्पलेट को पुनर्निर्माण करें

वर्तमान में, डेवलपर्स को XML फ़ाइल को संशोधित करना होगा और फिर प्रत्येक टेम्पलेट को परिवर्तन प्राप्त करने के लिए पुनर्निर्माण करना होगा। मेरा लक्ष्य डेवलपर से T4 टेम्पलेट्स को पूरी तरह से छिपाना है ताकि उन्हें XML फ़ाइल को अपडेट करने के अलावा कोई भी कार्रवाई न करें।

अन्य जानकारी: हम विजुअल स्टूडियो 2008 विजुअल बेसिक प्रोजेक्ट्स का उपयोग कर रहे हैं।

+0

संभावित डुप्लिकेट [प्रत्येक बिल्ड पर एक टी 4 टेम्पलेट चलाने के लिए विजुअल स्टूडियो प्राप्त करें] (http://stackoverflow.com/questions/1646580/get-visual-studio-to-run-a-t4-template-on- प्रत्येक-निर्माण) – GSerg

+0

इस के लिए एक वीएस एक्सटेंशन है [AutoRunCustomTool] (https://visualstudiogallery.msdn.microsoft.com/ecb123bf-44bb-4ae3-91ee-a08fc1b9770e)। –

उत्तर

1

मैं कुछ महीने पहले इसी तरह की क्षमता की तलाश में था लेकिन मुझे पता चला कि आप एक और फ़ाइल बदलते समय स्वचालित रूप से टेम्पलेट आउटपुट को अमान्य नहीं कर सकते हैं। (उदाहरण के लिए घोषित करने के लिए है कि एक टेम्पलेट "निर्भर करता है" एक और फ़ाइल, Makefile शैली पर कोई तरीका नहीं है।)

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

+1

टी 4 आउटपुट फाइलें कहां हैं? –

0

यदि आपका लक्ष्य उन्हें पूरी तरह छिपाना है, तो मैं T4Awesome नामक एक एक्सटेंशन बना देता हूं जो आपको ऐसा करने देता है। समाधान के एक्सप्लोरर में समाधान और दृश्यमान होने के आपके टेम्पलेट्स के बजाय, मेरा एक्सटेंशन उन्हें एक फ़ोल्डर में छुपाता है, फिर उन्हें कस्टम टूल विंडो के माध्यम से विजुअल स्टूडियो में प्रस्तुत करता है। यह पैरामीटर को संकेत देने का समर्थन करता है ताकि आप अपनी एक्सएमएल फ़ाइल की आवश्यकता को दूर कर सकें।

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