2010-02-26 4 views
23

प्रश्न काफी पुराना है और अक्सर पूछे जाने पर, मेरे यहां समान प्रश्न हैं लेकिन मेरा प्रश्न थोड़ा और विशिष्ट है।एएसपी.Net वेब साइट प्रोजेक्ट में वीबी नेट और सी # कोड मिलाकर?

क्यू 1। क्या एएसपी.Net वेबसाइट में सी # और वीबी.Net कोड मिश्रण करना कानूनी है? क्या यह काम करेगा या नहीं? अगर यह काम करता है तो यह कैसे किया जा सकता है? कोई नमूना अच्छा होगा।

प्रश्न 2। यदि मिश्रण सी # और वीबी नेट कोड का कोई असर पड़ता है तो कृपया उनको साझा करें।

मेरे पास एक वेब प्रोजेक्ट है जिसे VB.Net में कोड किया गया है। मैं परियोजना के एक मॉड्यूल पर काम कर रहा हूं। और मैं सी # में कोड करना चाहता हूँ। मैं पूरी परियोजना को सी # में परिवर्तित नहीं कर सकता क्योंकि मैं परियोजना पर काम करने वाला अकेला नहीं हूं। हालांकि, मैं जिस मॉड्यूल को बनाने का इरादा रखता हूं, मैं इसे सी # में बनाना चाहता हूं।

मैंने सुना है कि वेब प्रोजेक्ट के मामले में, यदि हम सी # में भाग लेते हैं और VB.net में भाग लेते हैं तो परियोजना को एक डीएल में संकलित करने में समस्याएं होती हैं। क्या यह सच है? यदि हां तो समाधान क्या है।

इसके अलावा, अगर मैं .NET में एक गतिशील लिंक लाइब्रेरी का निर्माण कर रहा हूं तो क्या मैं सी # और वीबी.Net कोड मिश्रण कर सकता हूं?

उत्तर

49
http://msdn.microsoft.com/en-us/library/t990ks23.aspx से

:

App_Code फ़ोल्डर

में एकाधिक प्रोग्रामिंग भाषाओं क्योंकि App_Code फ़ोल्डर में स्रोत कोड एक भी विधानसभा में संकलित किया गया है, App_Code फ़ोल्डर में सभी फ़ाइलों में होना चाहिए एक ही प्रोग्रामिंग भाषा। उदाहरण के लिए, App_Code फ़ोल्डर में Visual Basic और C# दोनों में स्रोत कोड शामिल नहीं हो सकता है।

हालांकि, आप ऐप_Cओडी फ़ोल्डर के उपफोल्डर्स को अलग संकलित इकाइयों के रूप में इलाज के लिए अपने वेब एप्लिकेशन को कॉन्फ़िगर कर सकते हैं। प्रत्येक फ़ोल्डर में एक अलग प्रोग्रामिंग भाषा में स्रोत कोड हो सकता है। कॉन्फ़िगरेशन को Web.config फ़ाइल के संकलन तत्व में कोड सबबैडोरियरी तत्व बनाकर और सबफ़ोल्डर का संदर्भ जोड़कर निर्दिष्ट किया गया है। निम्नलिखित उदाहरण बताता है कि आप VBCode और CSCode नामित सबफ़ोल्डर कॉन्फ़िगर हैं अलग विधानसभाओं में संकलित करने के लिए:

<compilation debug="false"> 
    <codeSubDirectories> 
     <add directoryName="VBCode" /> 
     <add directoryName="CSCode" /> 
    </codeSubDirectories> 
</compilation> 

VBCode और CSCode सबफ़ोल्डर के लिए संदर्भ क्या प्रोग्रामिंग भाषा सबफ़ोल्डर में निहित है के बारे में कोई जानकारी शामिल करने की जरूरत नहीं है । ऐप_Cोड फ़ोल्डर के साथ ही, एएसपी.NET सबफ़ोल्डर में फ़ाइलों के आधार पर उपयोग करने के लिए कंपाइलर का अनुमान लगाता है।

+3

+1। अच्छा उत्तर... –

+7

समाधान दिया गया एक वेब साइट परियोजना के लिए काम करता है। स्टीव ने एक वेब एप्लिकेशन प्रोजेक्ट के बारे में पूछा, हालांकि, जो ऐपकोड फ़ोल्डरों का उपयोग नहीं करता है। – Axeva

+0

क्या एक GENIUS .... +10000 –

0

ऐसा लगता है कि आप उन्हें एक ही प्रोजेक्ट में मिश्रित कर सकते हैं, क्या आप नियंत्रण के रूप में आवश्यक कोड का टुकड़ा करते हैं। तो यदि मुख्य साइट सी # में है और आप वीबी भाग करते हैं जो आप एसीएक्स नियंत्रण के रूप में चाहते हैं, तो आप अपनी साइट के भीतर इसे छोड़ और छोड़ सकते हैं।

मुझे एहसास नहीं हुआ कि आप ऐसा कर सकते हैं, लेकिन एक टीम के सदस्य ने काम के एक टुकड़े पर काम किया।

8

यहां जवाब जो सबसे अधिक वोट है केवल वेब साइट परियोजनाओं के लिए काम करता है, न कि वेब ऐप प्रोजेक्ट। मुझे लगता है कि बहुत से डेवलपर्स "वेब एप्लिकेशन" शब्द का प्रयोग आम तौर पर इस तथ्य को अनदेखा करते हैं कि तकनीकी रूप से यह .NET में एक अलग बात है। माइक्रोसॉफ्ट का कहना है, "डिफ़ॉल्ट रूप से, प्रोजेक्ट फ़ाइल में भाषा सेटिंग्स के आधार पर एक वेब अनुप्रयोग संकलित किया जाता है। अपवादों को बनाया जा सकता है, लेकिन यह अपेक्षाकृत कठिन है।" इसलिए, मुझे लगता है कि ऐसा करने का एकमात्र तरीका एक समाधान के भीतर दो अलग-अलग परियोजनाएं होगी। (फिर, एक वेब साइट प्रोजेक्ट में कोई समाधान या प्रोजेक्ट फ़ाइल नहीं है।) मुझे सभी विवरणों के बारे में निश्चित नहीं है।

+1

"(फिर से, एक वेब साइट प्रोजेक्ट में कोई समाधान या प्रोजेक्ट फ़ाइल नहीं है।)" यह * एक समाधान फ़ाइल हो सकती है, वास्तव में (वीएस आपको एक को बचाने के लिए भी संकेत दे सकती है), लेकिन हाँ, इसमें कोई परियोजना नहीं है। –

+0

@ user692918: +1, शीर्षक और सामग्री में सुधार किया गया। मेरे पास कई अन्य परियोजनाओं के साथ एक वेब साइट परियोजना के साथ समाधान था। –

+0

उपरोक्त समाधान वेब अनुप्रयोग परियोजना के लिए काम करता है? मेरे पास कई परियोजनाओं के साथ बड़ा वेब एप्लिकेशन है। मैं उसी वेब प्रोजेक्ट और अन्य क्लास लाइब्रेरी प्रोजेक्ट्स के साथ सी # पर नए बदलाव जोड़ने जा रहा हूं। क्या यह मेरे लिए काम करता है? –

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