2013-01-04 73 views
9

मैंने एक ऐसी परियोजना को कोड किया जो आपके डेटाबेस टेबल लेता है - जिसे आप चुनते हैं और तालिकाओं के कॉलम से संबंधित सी # कक्षाएं बनाते हैं। पसंद, फ़िल्टर, क्वेरी इत्यादिप्रोग्राम स्टूडियो स्टूडियो प्रोजेक्ट में प्रोग्रामेटिक रूप से एक नया विजुअल स्टूडियो प्रोजेक्ट कैसे उत्पन्न करें?

यह पूरी तरह से काम करता है, मैं पूर्ण कार्यक्षमता के साथ 6 अलग-अलग वर्ग उत्पन्न कर सकता हूं - मेरी ज़रूरतों पर निर्भर करता है - एक क्लिक के साथ एक टेबल के लिए। टी 4 वास्तव में चट्टानों!

लेकिन, मैं इन कक्षाओं के लिए एक नई परियोजना बनाना चाहता हूं। जैसा कि आप समझ गए थे, यह केवल इन फ़ाइलों को बनाने का मेरा अंतिम उद्देश्य नहीं था।

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

मैंने इस मुद्दे से संबंधित विभिन्न प्रश्न पढ़े, लेकिन यह मेरे लिए पर्याप्त नहीं था। उदाहरण के लिए, Create a Visual Studio project programmatically मेरी समस्या के करीब है, लेकिन यह मुझे संतुष्ट नहीं किया। मुझे नहीं पता कि नई परियोजना के प्रकार का चयन कैसे करें।

मैंने Programmatically generate Visual Studio Solution पर देखा लेकिन मुझे अपने जेनरेट किए गए वर्गों को नया समाधान देने का कोई तरीका नहीं मिला। इसके अलावा मैंने देखा। यह मुझे संतुष्ट नहीं किया। इसे स्थापित करने के बाद, मैंने देखा कि इसे अधिकांश विजुअल स्टूडियो 2008 में डिज़ाइन किया गया था और यह उपयोगकर्ता से प्रोजेक्ट का नाम लेता है। तो, वृक्ष सर्जन इस समस्या का समाधान नहीं था।

मुझे क्या चाहिए, यह जानने के लिए कि एक नई परियोजना की संरचना को कैसे कोड करें और इसे प्रोग्रामेटिक रूप से बनाएं। उत्तर खोजने के बाद, मैं एक परियोजना बनाने की योजना बना रहा हूं कि, जब आप अपना नया प्रोजेक्ट नाम, डेटाबेस नाम (ओं), टेबल नाम और आपके ब्राउज़र में किस प्रकार की कक्षाओं की आवश्यकता हो, तो टी 4 और सी # आपके लिए काम करेगा और टा-दा! आपके पास एक नई परियोजना होगी जिसमें नियंत्रक, सहायक और वहां नई कक्षाएं होंगी।

क्या यह संभव है?

+2

इसका कभी भी उपयोग नहीं किया गया, लेकिन मार्गदर्शन स्वचालन पर एक नज़र डालें: http://msdn.microsoft.com/en-us/library/ff687174.aspx –

+0

जानकारी के लिए धन्यवाद, मैं अब साइट पर देख रहा हूं। मैं इसकी सराहना करता हूं। – caner

+0

मुझे लगता है कि सी # परियोजनाएं अन्य सभी परियोजनाओं की तरह एमएसबिल्ड प्रारूप में हैं। [इस पोस्ट] को देखने का प्रयास करें (http://social.msdn.microsoft.com/Forums/en-US/msbuild/thread/b3db4d7c-b7d1-4958-9145-bfd34cc75320)। मैं इस मामले में क्या करूँगा एक परियोजना के साथ एक टेम्पलेट बनाना और एक समाधान जिसमें फाइलधारकों के लिए प्लेसहोल्डर हैं और केवल टेम्पलेट में फ़ाइल नाम इंजेक्ट करें। – Buzzy

उत्तर

4

जीएटी/जीएएक्स आपकी सबसे अच्छी शर्त है। मैंने वही किया जो आप मेरे पिछले काम में पूछ रहे थे। जेले ड्रुइट्स जीएएक्स/जीएटी को सबसे अच्छा बताते हैं। मैंने वीएस समाधान में परियोजनाओं और कक्षाओं को उत्पन्न करने के लिए अपने 6 ब्लॉग (नीचे 2 लिंक) का उपयोग किया। उनका सत्र 3 से 6 आपका सर्वश्रेष्ठ दांव हो जाएगा

http://jelle.druyts.net/2006/06/29/GAS05TuningTheCProjects.aspx

http://jelle.druyts.net/2006/07/03/GAS06GeneratingClasses.aspx

hist अपने ब्लॉग से पोस्ट 1-4 प्राप्त करें। एक नए सदस्य के रूप में, मैं यहां सभी लिंक पोस्ट करने की अनुमति नहीं देता हूं