2011-07-14 8 views
12

हमारे पास टी 4 टेम्पलेट्स का एक सेट है जिसे हमने अभी वीएस 2010 में माइग्रेट किया है और वे संकलित हैं लेकिन अब काम नहीं कर रहे हैं।आप कोड (आउटपुट नहीं) कैसे प्रदर्शित करते हैं। नेट टी 4 उत्पन्न करता है?

यह देखने के लिए कि वास्तव में पर हुड के तहत क्या चल रहा है, यह अस्थायी सीएस फाइलों को देखना उपयोगी होगा जो टी 4 वास्तविक टी 4 रूपांतरण उत्पन्न करने के लिए उत्पन्न करता है।

उत्तर

7

जैसा कि आप अब विजुअल स्टूडियो 2010 का उपयोग कर रहे हैं, आप टेक्स्ट टेम्पलेटिंगफाइल जेनरेटर से टेम्पलेट पर कस्टम टूल को अस्थायी रूप से TextTemplatingFilePreprocessor में भी बदल सकते हैं।

यह नियमित टेम्पलेट आउटपुट की बजाय सीधे आपके प्रोजेक्ट में अंतर्निहित कोड थूक देगा।

+0

+1 + सही: वह बेहद सुविधाजनक के लिए मेरा वोट जीतता है। यह .cs को सही बनाता है जहां .config था। ठंडा! बहुत धन्यवाद। –

+0

स्रोत नियंत्रण का उपयोग कर हर किसी को चेतावनी का एक शब्द ...टी 4 टूल को बदलने से पिछले आउटपुट फ़ाइल को हटाने के लिए चिह्नित किया जा सकता है। –

+0

+1 कक्षाओं वाली एक असेंबली में 'EF.Utility.CS.ttinclude 'संकलित करने के लिए इसका उपयोग किया गया। – Lukazoid

0

मुझे नहीं पता कि आप वास्तव में क्या करना चाहते हैं, हालांकि मुझे पता है कि दृश्य स्टूडियो में टी 4 कोड के माध्यम से कैसे कदम उठाना है। आपको विजुअल स्टूडियो का दूसरा उदाहरण शुरू करने की आवश्यकता है और इसे डीबग-> प्रक्रिया में अटैचमेंट का उपयोग करके पहले उदाहरण में संलग्न करना है ... (इसे स्वयं से जोड़ना, अजीब, मुझे पता है)। इसके बाद आप अपने दूसरे उदाहरण में टी 4 फाइल में ब्रेकपॉइंट्स डाल सकते हैं और यह रुक जाएगा और आपको इसके माध्यम से कदम उठाने देगा और देखें कि क्या हो रहा है।

संपादित करें:

आप की जरूरत है टी -4 इस के लिए कमांड लाइन टूल काम करने के बजाय दृश्य स्टूडियो में परिणत कर किया जाना है। अपनी प्रोजेक्ट में अपनी .tt फ़ाइल डालें और "कस्टम टूल" को अपनी गुणों में "TextTemplatingFileGenerator" पर सेट करें। जब भी आप फ़ाइल को सहेजने के लिए कहते हैं, या जब आप दायाँ क्लिक करते हैं और फ़ाइल पर "कस्टम टूल चलाएं" कहें तो यह फाइलें उत्पन्न करेगा। अधिक जानकारी के लिए this MSDN article देखें।

मैं भी tangible T4 editor प्राप्त करने की अनुशंसा करता हूं कि मुफ्त संस्करण कोड के हाइलाइटिंग और इंटेलिजेंस को 9 0% उपयोग मामलों के लिए जोड़ता है (यह केवल .NET ढांचे के लिए Core.dll में कार्यों के लिए जोड़ता है)। वेतन संस्करण सभी संलग्न असेंबली में इंटेलिजेंस जोड़ देगा।

संपादित 2: यदि आप वास्तव में अस्थायी सीएस फाइलों का उपयोग करना चाहते हैं तो आप देख सकते हैं कि अस्थायी फ़ोल्डर से सीएस फाइलें डीबगर में लोड की जाती हैं (मुझे बिल्कुल याद नहीं है)।

+0

मैंने कमांड लाइन विकल्पों के बारे में सामान को भ्रामक के रूप में हटा दिया (हम देव स्टूडियो में चल रहे हैं)। देव स्टूडियो की दूसरी प्रतिलिपि से ब्रेकपॉइंट हालांकि काम नहीं करता था। वीएस -2010-प्रति-1 में किसी भी टीटी फ़ाइल पर वीएस -2010-कॉपी -1 को जोड़ने के बाद, ब्रेकपॉइंट दिखाता है कि "ब्रेकपॉइंट वर्तमान में हिट नहीं होगा। इस दस्तावेज़ के लिए कोई प्रतीक लोड नहीं किया गया है"। क्या आप अधिक जानकारी प्रदान कर सकते हैं? –

+0

मैंने पहले कोशिश की है, और मूर्त टी 4 संपादक को अनलोड करना पड़ा क्योंकि यह मेरे अन्य ऐड-इन्स से विवादित था। मूल पाठ खोज विकल्प अब उपलब्ध नहीं थे। –

+0

@HiTech Magic, मैं अपने सेटअप में देखूंगा, लेकिन मेरे पास समय होने से कुछ घंटे पहले हो सकते हैं। आज रात की जांच करें। –

5

आप सेट

<#@ template debug="true"#> 

तो उत्पन्न कोड अपने अस्थायी निर्देशिका में छोड़ दिया जाएगा तो। मेरे विंडोज 7 सिस्टम पर, यह C:\Users\John Saunders\AppData\Local\Temp है।

+0

मैं जिस क्लाइंट पर हूं, वह सभी मशीनों पर विंडोज सर्वर 2003 चला रहा है। कोई विचार जहां फाइलें जा सकती हैं या उनका नाम क्या है, इसलिए मैं उन्हें पा सकता हूं? –

+1

उनके पास यादृच्छिक नाम हैं। शायद सी: \ Temp या% TEMP% पर्यावरण परिवर्तक का मान देखें। –

+0

% TEMP% सही स्थान था। आपका समाधान एक इलाज करता है और अब मैं यह देखने में सक्षम हूं कि यह क्या उत्पन्न कर रहा है। बहुत धन्यवाद। –

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