2009-01-14 3 views
6

मैं वर्तमान में स्ट्रिंग.फॉर्मेट और एम्बेडधारकों को एम्बेड करने का उपयोग कर गतिशील रूप से कोड उत्पन्न कर रहा हूं - लेकिन टेम्पलेट के रूप में उपयोग के लिए सी # कोड को दोबारा सुधारना एक दर्द है, और मुझे लगता है कि एक टी 4 टेम्पलेट का उपयोग करना बेहतर होगा।क्या मैं अपने उत्पाद के साथ माइक्रोसॉफ्ट टी 4 इंजन को फिर से वितरित कर सकता हूं?

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

किसी और ने ऐसा किया? या (कानूनी) जवाब पता है?

+1

टी 4 पुनर्वितरण योग्य (ईयूएलए) लाइसेंस क्या कहता है? क्या एक पुनर्वितरण योग्य है? –

+0

यह समस्या है - मैं या तो (अभी तक) में से एक को खोजने में सक्षम नहीं हूं। मुझे पता है कि इसे किसी भी तरह एमएस में आंतरिक रूप से पैक किया जाना चाहिए क्योंकि इसका उपयोग अभी अपने नए पी एंड पी ब्लूप्रिंट्स उत्पाद में किया जा रहा है। – Rammesses

उत्तर

5

ऐसा लगता है कि जल्द ही एक और विकल्प हो सकता है।

कल, Miguel de Icaza monodevelop में टी -4 एकीकरण के बारे में पोस्ट, तो मैं वहाँ उम्मीद कर रहा हूँ अब एक मोनो बराबर टी -4 टूलसेट किसी भी समय हो सकता है।

देखें: http://tirania.org/blog/archive/2009/Mar-10.html

+0

यह वास्तव में जारी किया गया है, और आप MonoDevelop भंडार से स्रोत कोड प्राप्त कर सकते हैं। नेट और (झगड़ा के साथ) के खिलाफ एक त्वरित संकलन, आपको अपनी परियोजनाओं के लिए उपयोग में आसान टी 4 इंजन मिलता है। मुझे लगता है कि मुझे इसे काम करने के लिए एक हाउ-टू ब्लॉग-पोस्ट लिखना चाहिए। – Rammesses

3

आप DSLToolsRedist के हिस्से के रूप में टी 4 को फिर से वितरित कर सकते हैं, हालांकि, इसे विजुअल स्टूडियो 2005 मानक संस्करण या उच्चतर स्थापित करने की आवश्यकता है। मुझे विश्वास नहीं है कि टी 4 को इस समय विजुअल स्टूडियो के बिना कानूनी रूप से पुनर्वितरित किया जा सकता है। आपके द्वारा वर्णित परिदृश्य directly supported in Visual Studio 2010

0

मुझे याद आया कि यह 2006 में वापस आया था (इससे पहले कि मुझे पता था कि टी 4 क्या था!) ​​और यह खोज गया और http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/1ab0bf3f-2810-4adf-bf75-900b98dee8e2/ दुर्भाग्य से गेटडॉटनेट लिंक टूटा हुआ है। उस धागे में whethere कहने के लिए मुश्किल है कि वे सहमत हैं कि आप कानूनी रूप से वीएस के टी 4 बाहरी होस्ट कर सकते हैं और पुनर्वितरण - या नहीं।

2

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

1

मेरे पास अपना स्वयं का टेम्पलेट कोड जनरेटर सिस्टम है, जो कोड को अलग-अलग एपडोमेन में संकलित करता है, इससे पहले वीएस -2008 बाहर आया था।

यदि आप रुचि रखते हैं, तो एक टिप्पणी पोस्ट करें और मैं कोड में एक यूआरएल पोस्ट करूंगा।

मेरे टेम्पलेटिंग इंजन का उपयोग करने के लिए कोड here है, आप इसे किसी वेब ब्राउज़र के साथ ब्राउज़ कर सकते हैं या Subversion क्लाइंट पर इंगित कर सकते हैं। नोट, यहां से शुरू होने वाला लिंक वास्तव में शब्द के बाद बंद हो जाता है, लेकिन सर्वर-साइड डब्लूएमडी रेंडरर निम्न पाठ पर लिंक को लीक करता है।

ध्यान दें कि अगर आप सिर्फ इतना है कि नाम स्थान में एक फ़ाइल की प्रतिलिपि है, तो यह अपने आप में संकलन नहीं होगा, यह LVK.Delegates और LVK.Scripting में कुछ सामान की आवश्यकता है, ऊपर के लिंक से स्तरों के एक जोड़े अप नामस्थान । यदि आप पूरी लाइब्रेरी को चूसना नहीं चाहते हैं, तो आपको संकलित होने तक एक बार में शिकायत करने वाले टुकड़ों को निकालने की आवश्यकता होगी।

उसी भंडार में /LVK_3_5/trunk/Binaries/Debug/LVK पर लाइब्रेरी का एक बाइनरी संस्करण भी है। यदि आप डाउनलोड करते हैं कि यह केवल एक संदर्भ जोड़ने के रूप में सरल है, और कक्षा LVK.Text.Templates.TextTemplate की जांच कर रहा है।

दुर्भाग्यवश मेरे पास इस समय मेरी लाइब्रेरी के लिए कोई उदाहरण नहीं है।

TextTemplate tt = new TextTemplate(); 
tt.Source = "... code here, check example file above ..."; 
tt.Compile(); 
String output = tt.Generate(singleObjectParameter); 

टेम्पलेट के अंदर, जो मूल रूप से सभी कोड है कि एक ही विधि में सम्मिलित किया जाता है (जिसका अर्थ है कि यह करने में सक्षम होने के मामले में टी -4 के रूप में के रूप में अच्छा नहीं है है:

मूल रूप से, एक टेम्पलेट का उपयोग करने विधियों को आसानी से जोड़ें, लेकिन आप अज्ञात विधियों का उपयोग कर सकते हैं), आपके पास डेटा नामक पैरामीटर के रूप में उसमें पारित डेटा ऑब्जेक्ट तक पहुंच होगी।

तो बस उत्पादन के लिए पारित पैरामीटर की सामग्री:

<%= data %> 

यह दोहराने के लिए:

<% for (Int32 index = 0; index < 10; index++) { %> 
<%= data %> 
<% } %> 

आप प्रश्न हैं, तो [email protected] पर अपने ईमेल भेजते हैं।

0

यह एक वास्तविक शर्म की बात है, लेकिन जैसा कि ओलेग बताते हैं, अगर यह अपरीक्षित है तो आप इसे कैसे जारी कर सकते हैं।

Lassevk, निश्चित रूप से मुझे इसमें रुचि है - एक टेम्पलेट इंजन के बारे में मैं 10 साल पहले का निर्माण rehashing के बारे में सोच रहा था, लेकिन मैं हमेशा एक आसान जीवन के लिए साइन अप कर रहा हूँ!

2

स्पष्टता के लिए, सरकारी जवाब यह है कि आप दृश्य स्टूडियो से एक अलग टुकड़े के रूप में माइक्रोसॉफ्ट टी -4 इंजन वितरित नहीं किया जा सकता है।

हालांकि, विजुअल स्टूडियो 2010 के रूप में, आप का उपयोग करें और precompiled टेम्पलेट्स, जो दृश्य स्टूडियो पर कोई निर्भरता पुनर्वितरित कर सकते हैं।

आप विजुअल स्टूडियो के एक मशीन पर विजुअल स्टूडियो के बाहर टी 4 का भी उपयोग कर सकते हैं जिसमें विजुअल स्टूडियो स्थापित है।

तुम भी लाइसेंस कर सकते हैं और किसी कीमत पर पृथक शैल दृश्य स्टूडियो पुनर्वितरित, और का उपयोग करें कि अपने उपकरणों के लिए एक मेजबान के रूप में - यह टी -4 भी शामिल है।

दृश्य स्टूडियो 2010 SP1 के रूप में, आप टी -4 अपने वी.एस. में buildserver.txt में लाइसेंस के माध्यम से अपने निर्माण मशीन के लिए कॉपी करने के लिए निर्देशिका स्थापित लाइसेंस प्राप्त है।

+0

क्या आप विजुअल स्टूडियो पृथक शैल के बारे में बिंदु को स्पष्ट कर सकते हैं। क्या यह कथन प्रभावी ढंग से नहीं है "हां आप बिना किसी कीमत पर टी 4 को फिर से वितरित कर सकते हैं"? – Andy

+0

आप अलग शैल को विभाजित नहीं कर सकते हैं, यह खोल में होस्ट किए गए टूल बनाने और वितरित करने के लिए है, लेकिन टी 4 निश्चित रूप से इसका हिस्सा है। – GarethJ

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

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