2008-10-29 15 views
65

मैं एक परियोजना के लिए कुछ स्क्रीन और मध्यम-स्तरीय कोड उत्पन्न करने के लिए टी 4 का उपयोग कर रहा हूं, और मेरे कुछ टेम्पलेट कोड को सरल बनाने के लिए लिंक का उपयोग करना चाहता हूं। हालांकि, जब मैं लिंक का उपयोग करने का प्रयास करता हूं, तो टेम्पलेट एक वाक्यविन्यास त्रुटि रिपोर्ट करता है।मैं टी 4 टेम्पलेट में लिंक का उपयोग कैसे कर सकता हूं?

उत्तर

95

डिफ़ॉल्ट रूप से विजुअल स्टूडियो 2008 (और जैसा कि अधिकांश ऑनलाइन उदाहरणों में उपयोग किया जाता है) में टेम्पलेट को 2.0 फ्रेमवर्क के साथ संकलित किया गया है, जिसमें लिंक शामिल नहीं है। (MSDN forum thread देखें)

समस्या को हल करने के लिए, तीन चरणों की आवश्यकता है:

  1. अपने टेम्पलेट की भाषा विशेषता में, "सी # v3.5" या "VBv3.5" निर्दिष्ट - इस चरण आवश्यक नहीं है वीएस -2010 के लिए, जहां .NET 4.0 हमेशा उपयोग किया जाता है।

    <#@ template language="C#v3.5" #> 
    <#@ assembly name="System.Core" #> 
    <#@ import namespace="System.Linq" #> 
    

    अब आप Linq का उपयोग कर सकते हैं और:

  2. System.Core.dll
  3. आयात System.Linq नाम स्थान

आपका टेम्पलेट अब कुछ इस तरह दिखेगा के लिए एक विधानसभा निर्देश जोड़े आपके टेम्पलेट में अन्य नई भाषा विशेषताएं।

+0

मुझे System.Core.dll के 3.5 संस्करण को प्राप्त करने के लिए <# @ असेंबली नाम = "सिस्टम। कोर, संस्करण = 3.5.0.0, संस्कृति = तटस्थ, PublicKeyToken = b77a5c561934e089" #> का उपयोग करना पड़ा। –

+0

मौका से, "युक्त" परियोजना 2.0/3.0 प्रोजेक्ट थी? यह समझा सकता है कि क्यों नहीं पता था कि सिस्टम को कैसे ढूंढें। पूरी तरह से योग्य नाम के बिना। – GalacticCowboy

+0

मैंने भाषा को 'सी # 'से' सी # v3.5' में बदलने के बाद मेरे लिए काम किया। धन्यवाद! अजीब बात यह है कि इंटेलिजेंस ने इसे एक विकल्प के रूप में कैसे नहीं दिखाया! –

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