2010-02-28 13 views
5

मेरे पास एक मूल सर्वर नियंत्रण है जिसे मैंने .NET 3.5 का उपयोग करके लिखा है। यदि मैं उस डीएल को किसी ऐसे व्यक्ति को देता हूं जो .NET 2.0 एप्लिकेशन चला रहा है, तो यह काम करेगा?असेंबली संगतता प्रश्न

उत्तर

1

जब तक आप किसी भी डीएलएल को .NET 3.0 या 3.5 में शामिल नहीं कर रहे हैं तो हाँ इसे काम करना चाहिए क्योंकि सीएलआर संस्करण .NET 2.0, 3.0, और 3.5 में समान हैं। मेरा मानना ​​है कि 2.0 असेंबली ("लाल बिट्स") में मामूली बदलाव हो सकते हैं लेकिन मुझे दोबारा जांच करनी होगी।

आप सुनिश्चित करने के लिए .NET 2.0 को लक्षित करने के लिए विजुअल स्टूडियो में प्रोजेक्ट गुणों को भी बदल सकते हैं। यदि आपका ऐप संकलित नहीं करता है तो यह किसी भी तरह .NET 2.0 पर नहीं चलता।

स्कॉट हंसेलमैन ने .NET 2.0-3.5 differences पोस्ट किया है।

+0

क्या प्रोजेक्ट गुणों में "लक्ष्य फ्रेमवर्क" सेटिंग संगतता पर कोई असर पड़ती है? –

+0

हां, इसे 2.0 पर सेट करें और विजुअल स्टूडियो आपको 2.0 फ्रेमवर्क में मौजूद कार्यक्षमता का उपयोग करने से रोक देगा। – Josh

+0

हां, आप सही हैं: 3.x में 2.0 "लाल बिट्स" में वास्तव में मामूली परिवर्तन हुए थे। चेतावनी दी जानी चाहिए, जब आप लक्ष्य फ्रेमवर्क सेट करते हैं तो विजुअल स्टूडियो इन्हें नहीं ढूंढ पाएगा: यह केवल 3.x असेंबली का उपयोग करने से रोकता है, न कि 2.0 असेंबली में 3.x विधियों। मुझे लगता है कि एक कोड विश्लेषण नियम है जो इन्हें पकड़ लेगा; 2.0 सर्विस पैक भी स्थापित करने से 3.x स्तरों पर लाल बिट्स अपडेट होते हैं। – itowlson

-1

सबसे पहले आपको करना चाहिए कि लक्ष्य फ्रेमवर्क को 2.0 में बदलने का प्रयास करें और देखें कि क्या आपका सर्वर कंट्रोल प्रोजेक्ट अभी भी संकलित है (प्रोजेक्ट पर राइट क्लिक करें, गुण चुनें, फिर लक्ष्य फ्रेमवर्क को ".NET Framework 2.0" में बदलें और "लक्ष्य फ्रेमवर्क परिवर्तन" संवाद में "हां" चुनें)। यदि यह अभी भी संकलित है तो आप काफी अच्छी शुरुआत में हैं। अब इसे संकलित करें, इसे एक नई वेबसाइट पर जोड़ें और यह देखने के लिए जांचें कि यह काम करता है या नहीं।

अधिकांश समय आपको शायद पता चलेगा कि आपका नियंत्रण किसी भी 3.5 विशिष्ट विशेषताओं का उपयोग नहीं करेगा, इसलिए एक बार जब आप इसे 3.5 के खिलाफ संकलित करने का प्रयास करेंगे तो आपको जाना अच्छा होगा!

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