2008-10-02 16 views
6

में कनवर्ट करने के लिए समस्याएं हम .NET 2.0 से 3.5 तक 20+ परियोजनाओं के साथ समाधान चला रहे हैं और साथ ही विजुअल स्टूडियो 2005 से 2008 तक चल रहे हैं। हम भी एमएस एंटलिब 2.0 से 4.0 तक स्विचिंग के साथ ही।.NET 2.0 समाधान को .NET 3.5

  • कोई कारण दृश्य स्टूडियो जादूगर हमारे लिए समाधान परिवर्तित होने से बचाने के वहाँ है?
  • 3.5 के साथ 3.5 पूरी तरह पीछे पीछे संगत है?
  • 2.0 के साथ Entlib 4.0 पूरी तरह पीछे पीछे संगत है?

संपादित करें: मतलब मैं थोड़ा उलझन में हो सकता है जब मैं इस लिखा था, पीछे की ओर संगतता माना जाता है;/3.5

में संकलन कुछ ऐसा है जिसे एक 2.0 परियोजना है कि काम नहीं करेगा में मौजूद है :)

// डब्ल्यू

उत्तर

6

हम 2005 से 2008 तक एक बड़े समाधान (20+ परियोजनाओं) को अपग्रेड करते हैं लेकिन यह वास्तव में मामूली था। मूल रूप से परियोजना उन्नयन। अंतर्निहित ढांचा अभी भी वही है क्योंकि 3.0/3.5 और 2.0 दोनों समान कोर फ्रेमवर्क साझा करते हैं।

जैसा कि ऊपर बताया गया था, भले ही आप उन्नयन कर रहे हों, आपको परियोजनाओं के लिए ढांचे के संदर्भ को बदलने की आवश्यकता नहीं है - असल में, यह 3.0/3.5 में बदलने के बजाय 2.0 पर ढांचे को छोड़ने के लिए डिफ़ॉल्ट है। इसका मतलब यह है कि आप संदर्भ (परियोजना प्रॉपर्टी पेज, एप्लिकेशन टेबल "लक्ष्य फ्रेमवर्क" फ़ील्ड) को बदलने तक 3.0/3.5 फीचर्स का लाभ नहीं ले पाएंगे, लेकिन इसका मतलब यह भी है कि आप अधिक आश्वस्त हैं कि अतिरिक्त संगतता नहीं होगी समस्याएं (जब तक कि संदर्भ बदल नहीं जाता है तब तक आपको 3.0/3.5 कोड जोड़ने में त्रुटि मिलेगी)।

TFS 2008 की नई सुविधाएँ अनदेखी नहीं की जानी चाहिए या तो आप अपने अनुप्रयोग के उन्नयन के लिए उपयोग करने के लिए TFS 2008

1.1 करने के लिए 2.0 रूपांतरण और अधिक दर्दनाक था सक्षम होने के लिए ... की जरूरत नहीं है, हालांकि

4

मैं जादूगर के साथ 2008 के लिए दृश्य स्टूडियो 2005 से कई परियोजनाओं के लिए उन्नत, और वे सब दर्द रहित हो गए (ठीक है ... उस सी ++ जानवर को छोड़कर। लेकिन आप किसी भी तरह से .NET के बारे में बात कर रहे हैं)।

ध्यान रखें कि आपको .NET संस्करण को अपग्रेड करने की आवश्यकता नहीं है। विजुअल स्टूडियो 2008 .NET 2.0, 3.0 और 3.5 का समर्थन करता है। हालांकि, 3.5 पीछे की ओर संगत है-वैसे भी, क्योंकि यह एक ही सीएलआर पर बैठता है और कम या ज्यादा, कुछ अतिरिक्त पुस्तकालयों में है। और "पुरानी" पुस्तकालय एक ही रहती है।

मुझे एंट्लिब के बारे में पता नहीं है।

आप अपने यूनिट परीक्षणों को आजमाएं और क्यों नहीं चलाते? :)

+0

Unittests, मैं करूंगा अगर मैं किसी भी था। :) – Wiren

+1

ईक - अब आप जानते हैं कि आपको उनकी आवश्यकता क्यों होगी;) – OregonGhost

+0

ओह हाँ! और यह एकमात्र कारण नहीं है ... :) – Wiren

1
  • क्या कोई कारण नहीं है कि विजुअल स्टूडियो विज़ार्ड हमारे लिए समाधान को परिवर्तित न करने दें?

सं

  • 3,5 पूरी तरह से पीछे की ओर 2.0 के साथ संगत है?

नहीं। 3.5 में नई विशेषताएं हैं जो पीछे की ओर पोर्ट नहीं रखती हैं। और (आईआईआरसी) 2.0 से 3.5 तक कुछ बहिष्कार हैं।

  • क्या Entlib 4.0 2.0 के साथ पूरी तरह से पीछे संगत है?

मुझे ऐसा नहीं लगता है। 3.5 एक आवश्यकता के रूप में सूचीबद्ध है।

बैकअप बनाएं, विज़ार्ड चलाएं, देखें कि क्या होता है। इसमें इतनी चंचल परियोजना के लिए कुछ समय लग सकता है लेकिन आप ऐसी स्थिति में रहेंगे जहां आप बता सकते हैं कि यह निर्माण/रन-अपेक्षित होगा या नहीं।

1

जब मैं 4.0 EntLib 2.0 से अपग्रेड मैं निम्नलिखित तोड़ने स्रोत कोड परिवर्तन मनाया अगर आप कैशिंग आवेदन ब्लॉक का उपयोग करें:

  • 2,0 में, आप CacheManager cache = CacheFactory.GetCacheManager() का उपयोग करके संचय प्रबंधक मिलता है।
  • 4.0 में, आपको CacheManagerICacheManager के साथ प्रतिस्थापित करना होगा या यह संकलित नहीं होगा।

इसके अलावा, अगर आप एक्सेप्शन हैंडलिंग ब्लॉक के लिए अपने स्वयं के अपवाद फ़ॉर्मेटर वर्ग लिख रहे हैं:

  • 2,0 में, आप हस्ताक्षर (TextWriter, Exception) के साथ एक निर्माता को परिभाषित करने के लिए है।
  • 4.0 में, यह अप्रचलित है, और आपको (TextWriter, Exception, Guid) हस्ताक्षर के साथ दूसरे कन्स्ट्रक्टर को परिभाषित करना होगा।
1

वहाँ जब 4.0 EntLib 3.1 से पलायन किसी भी तोड़ने परिवर्तन होना चाहिए नहीं कर रहे हैं:।

"सार्वजनिक एपीआई के लिए कोई तोड़ने परिवर्तन देखते हैं कि EL4 के डिजाइन लक्ष्यों में से एक था बस। याद EL4 .NET3.5 की आवश्यकता है।

--Grigori "

http://blogs.msdn.com/agile/archive/2008/05/16/enterprise-library-4-0-for-visual-studio-2008-released.aspx

(Grigori EntLib के लिए कार्यक्रम प्रबंधक है)

हालांकि मुझे 2.0 से 3.1 के बारे में निश्चित नहीं है। अगर मैं कल सही लोगों को @ पी & पी पा सकता हूं तो मैं इसे अपडेट कर दूंगा।

Ade