2012-01-10 12 views
29

अतीत में .NET का हर नया संस्करण सीएलआर के एक नए संस्करण के साथ आया था। मुझे पता है .NET 1.0, 1.1, 2.0 और 4.0 ने किया, लेकिन .NET 3.0 और 3.5 नहीं था।क्या .NET 4.5 सीएलआर का एक नया संस्करण पेश करेगा?

क्या .NET 4.5 एक नया सीएलआर पेश करेगा? और कोई कैसे बताता है कि कोई नया सीएलआर है या नहीं?

उत्तर

28

हां, .NET 4.5 में सीएलआर का एक ब्रांड स्पैंकिंग नया संस्करण है, आप इसमें सुधार के बारे में पढ़ सकते हैं;

http://blogs.microsoft.co.il/blogs/sasha/archive/2011/09/17/improvements-in-the-clr-core-in-net-framework-4-5.aspx

स्पष्ट करने के लिए; यह सीएलआर का एक नया संस्करण है जो वास्तव में को 4.0 एक स्थानांतरित करता है, इसलिए इसे अपडेट करने के लिए या नया सीएलआर विवादित है या नहीं।

बताने के लिए जो CLR संस्करण के अंतर्गत चल रहे हैं, का उपयोग

System.Runtime.InteropServices.RuntimeEnvironment.GetSystemVersion() 
+2

आप 'नए' से क्या मतलब है ? एक अर्थ में सीएलआर में हर बदलाव को 'एक नया सीएलआर' के रूप में देखा जा सकता है। हालांकि, .NET 4.5 निश्चित रूप से साइड-बाय-साइड रिलीज नहीं है। यह .NET 4.0 को प्रतिस्थापित करेगा। उस अर्थ में हंस पासेंट का जवाब सही है। – Steven

+0

हां, मुझे लगता है कि आप इसे दोनों तरीकों से देख सकते हैं, 4.5 को अपग्रेड किए गए सीएलआर की आवश्यकता है, अगर आप इसे नए मानते हैं या नहीं, तो चर्चा का विषय है। –

+0

सवाल संदिग्ध है। यही कारण है कि आपके और हंस दोनों का जवाब सही है, जबकि आप सटीक विपरीत कहते हैं :-) – Steven

16

नहीं, यह अभी संस्करण 4.0.30319 है। Clr.dll और दोस्तों का नया संशोधन मौजूदा मशीन को आपकी मशीन पर बदल देगा। .NET 3.0, 3.5 और 3.5SP1 में उपयोग की जाने वाली वही योजना। यह देखने के लिए जांच कर रहा है कि 4.5 इंस्टॉल किए गए हैं, उन संस्करणों के समान दृष्टिकोण की आवश्यकता है, आप check the registry

+0

ऐसी फाइलें कहां हैं जहां कोई 'सीएलआर' स्थित होगा? –

+0

वे सी में हैं: \ विंडोज \ माइक्रोसॉफ्ट.NET \ Framework \ v4.0.30319 –

+0

मुझे नहीं लगता कि हम उस फ़ोल्डर को 'सीएलआर' सही मान सकते हैं? –

14

हां। version of the CLR changes4.0.30319.269 से 4.0.30319.17379 पर। इसलिए, सीएलआर नया है, लेकिन यह पीछे की तरफ है- .NET 4.0 सीएलआर के साथ संगत। आपको .NET v4.0 द्वारा लिखित और संकलित किसी भी कोड को फिर से संकलित करने की आवश्यकता नहीं है।

MSDN पर .NET Framework Versions and Dependencies पृष्ठ से:

.NET फ्रेमवर्क 4.5 आर सी एक में जगह अद्यतन आपके कंप्यूटर पर .NET फ्रेमवर्क 4 की जगह ली है। इस अद्यतन को स्थापित करने के बाद, आपके .NET Framework 4 ऐप्स को पुन: संकलन की आवश्यकता के बिना चलना जारी रखना चाहिए। हालांकि, .NET Framework में कुछ बदलावों को आपके ऐप कोड में बदलाव की आवश्यकता हो सकती है।

साथ ही, .NET Framework blog से:

.NET फ्रेमवर्क 4.5 एक में जगह अद्यतन कि .NET फ्रेमवर्क 4 (के बजाय एक साइड-बाई-साइड स्थापना) की जगह है। हमारा लक्ष्य .NET 4.5 के लिए पूरी तरह से नेट 4

के लिए बनाया गया अनुप्रयोगों के साथ पिछड़े संगत होना करने के लिए कुछ परिवर्तन है कि नहीं पीछे की ओर संगत कर रहे हैं है। एमएसडीएन पर Application Compatibility in the .NET Framework 4.5 RC पृष्ठ देखें।

माइक्रोसॉफ्ट से आधिकारिक मार्गदर्शन, और अच्छी कोडिंग अभ्यास, सीएलआर के विशिष्ट संस्करणों का पता लगाने के लिए नहीं है। इसके बजाय, आपको पता होना चाहिए कि कुछ विशेषताएं मौजूद हैं या नहीं।

public static bool IsDotNet45() 
{ 
    return Environment.Version.Major == 4 && 
      Environment.Version.Revision > 17000; 
} 

के बजाय कुछ ऐसा कार्य करें:

public static bool SupportsReflectionContext() 
{ 
    // Class "ReflectionContext" exists from .NET 4.5 onwards. 
    return Type.GetType("System.Reflection.ReflectionContext", false) != null; 
} 
0

.NET फ्रेमवर्क 4.5 कुछ अतिरिक्त सुविधाओं के साथ .NET फ्रेमवर्क 4 के लिए एक सर्विस पैक की तरह है।

+1

यह वर्णन करने के लिए थोड़ा अजीब तरीका लगता है। मुझे लगता है कि यह एक समानता के रूप में कुछ तरीकों से सच है, लेकिन मुझे पता नहीं है कि यह वास्तव में प्रश्न का उत्तर देता है: क्या कोई नया सीएलआर है। –

+0

मुझे इस टिप्पणी के साथ कोई समस्या नहीं है। सीएलआर 4.5 वास्तव में सीएलआर 4 की जगह लेता है, इसलिए इसे माना और अपडेट किया जाना चाहिए। – Yogee

2

हालांकि मुझे संदेह है कि यह प्रश्न के समय वर्तमान प्रारूप में उपलब्ध था, यहां एमएसडीएन पर CLR Guide है जहां यह सभी फ्रेमवर्क संस्करणों और सीएलआर संस्करण को शामिल करता है जिसमें वे शामिल हैं। मैंने इसे बहुत उपयोगी पाया, इसलिए मैंने सोचा कि मैं साझा करूंगा।

के बाद .NET 4.5 यह कहता है कि इसमें CLR 4 शामिल है।

0

स्कॉट हंसेलमैन के पास इस ब्लॉग को संबोधित करने वाले ब्लॉग पर एक पोस्ट है। आप यहाँ इसके बारे में पता कर सकते हैं:

http://www.hanselman.com/blog/NETVersioningAndMultiTargetingNET45IsAnInplaceUpgradeToNET40.aspx

यह की कमी है कि प्रदर्शन में सुधार और नए पुस्तकालयों जोड़ा CLR के लिए अद्यतन देखते हैं कि है। .NET 4.5 द्वारा उपयोग किया गया सीएलआर .NET 4 के साथ संगत है। इसे एक मामूली अपडेट माना जाता है। ये मामूली अपडेट माइक्रोसॉफ्ट एक इन-प्लेस अपडेट कहता है।

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