दिलचस्प पोस्ट
एंड्रॉइड केनवास आयताकार आकर्षित डेल्फी आवेदन के लिए प्लगइन्स सिस्टम – बीपीएल बनाम डीएलएल? आकृति अनुपात में jQuery का आकार बदलना के लिए नियमित अभिव्यक्ति अक्षांश डेटा सेट नहीं कर सकता जावा में, स्ट्रिंग x के लिए, s.length () की रनटाइम लागत क्या है? क्या यह ओ (1) या ओ (एन) है? फ़ंक्शन के साथ जावास्क्रिप्ट टर्नरी ऑपरेटर का उदाहरण जावास्क्रिप्ट चर बाध्यकारी और पाश मावेन प्लगइन उपसर्ग संकल्प कैसे काम करता है? क्यों यह "findbugs" को हल कर रही है, लेकिन "जेटी" नहीं है? एक छवि का विशिष्ट भाग धुंधला (आयताकार, परिपत्र)? मैं एक एक्सेल कॉलम नाम कैसे प्राप्त करूं जो किसी दिए गए पूर्णांक से मेल खाती है? UINavigationBar मल्टी-लाइन शीर्षक विधि हस्ताक्षर का प्रकार बाधाओं का हिस्सा क्यों नहीं हैं? एकल जनक इकाई के साथ कोर डेटा प्रदर्शन AJAX द्वारा लोड की गई सामग्री की चौड़ाई में स्वचालित रूप से jQuery UI संवाद का आकार बदलें

वास्तविक .NET 4.5 संस्करण को कैसे स्थापित किया जा सके?

मेरी वास्तविक समस्या यह है कि मुझे .NET 4.5 पूर्ण सेटअप के दो संस्करणों का सामना करना पड़ा:

  • एक (संभवतः) पुराना एक है, जो SQL सर्वर डेटा उपकरण डाउनलोड करते समय भी उपलब्ध है
    • आकार: 50,349,920 9 50,349,920
    • a5e81d1b3905ada0a6e35fd6c6a2e1f4 : a5e81d1b3905ada0a6e35fd6c6a2e1f4
  • एक (संभवतः) नया वाला आज यहां से डाउनलोड किया गया है: http://www.microsoft.com/visualstudio/eng/downloads
    • आकार: 50,352,408
    • d02dc8b69a702a47c083278938c4d2f1 : d02dc8b69a702a47c083278938c4d2f1

दोनों सेटअप के लिए संस्करण 4.5.50709.17929 अंदर, मुख्य अंतर है netfx_Full.mzz फ़ाइल, लेकिन 7-ज़िप के साथ सामग्री को निकालने के बाद मैं एक ही संस्करण के साथ कई फाइलों के साथ समाप्त होता है, भले ही फ़ाइल सामग्री अलग है (मैंने 20 यादृच्छिक फाइलों की जांच की है के बारे में 426), तो मैं सच में नहीं बता सकता कि कौन एक नया है

क्या स्थापित करने के लिए वास्तविक रूप से स्थापित .NET 4.5 रनटाइम का विश्वसनीय तरीके से पता लगाने का कोई तरीका है, इसलिए मैं सेटअप केवल तब चला सकता हूँ जब यह वास्तव में आवश्यक हो?

अद्यतन करें

मैंने सभी 426 फाइलों की जांच कर ली है जिनकी अलग-अलग सामग्री है, और उन दोनों में एक ही उत्पादवर्सन और फाइल विर्सन दोनों सेटअपों में है। इसलिए, रजिस्ट्री या फ़ाइल चेकसम अगले कदम हैं।

अपडेट 2

रजिस्ट्री में सूचीबद्ध संस्करण दोनों सेटअप के लिए समान है: 4.5.50709

अपडेट 3

.NET 4.5.2 अब उपलब्ध है:

.NET ढाँचा का यह संस्करण .NET Framework 3.5 SP1 और पिछले संस्करणों के साथ साइड-बाय-साइड चलाता है, लेकिन .NET Framework 4, .NET Framework 4.5 और .NET Framework 4.5.1 के लिए इन-प्लेस अद्यतन करता है।

Solutions Collecting From Web of "वास्तविक .NET 4.5 संस्करण को कैसे स्थापित किया जा सके?"

एमएस ने हाल ही में कुछ परिदृश्यों में .NET 4.0 के साथ पिछड़े संगतता को बहाल करने के लिए .NET 4.5 समझौता किया (देखें http://blogs.msdn.com/b/dotnet/archive/2012/10/17/net-framework-4-5-off -एक-महान- start.aspx )।

यह संभव है कि एमएस ने इन बदलावों के साथ सेटअप को अपडेट किया है (ताकि उपयोगकर्ता .NET 4.5 को अपग्रेड कर सकें। कॉम्पेट परेशानी में नहीं चलते हैं), यद्यपि मुझे नहीं पता कि वे सेटअप की संस्करण संख्या क्यों नहीं बदलेगी

साथ ही, नोट करें कि .NET संस्करण संख्या और रनटाइम संस्करण संख्या के बीच अंतर है System.Environment.Version द्वारा रिपोर्ट के अनुसार। उत्तरार्द्ध अभी भी 4.0.30319 है। * .NET 4.5 के लिए, केवल संशोधन संख्या में परिवर्तन (.NET 4.5 अद्यतन के साथ और हर सुरक्षा अद्यतन के साथ)।

जंगली में चलने वाले क्रम के कुछ उदाहरण यहां दिए गए हैं:

बेस 4.0

  • 4.0.30319.1 = .NET 4.0 RTM
  • 4.0.30319.269 = .NET 4.0 पर Windows XP SP3, 7, 7 SP1 ( MS12-035 जीडीआर सुरक्षा अद्यतन के साथ)
  • 4.0.30319.276 = .नेट 4.0 पर Windows XP SP3 (4.0.3 रनटाइम अपडेट)
  • 4.0.30319.296 = .नेट 4.0 पर Windows XP SP3, 7 ( MS12-074 जीडीआर सुरक्षा अद्यतन के साथ)
  • 4.0.30319.544 = .NET 4.0 पर Windows XP SP3, 7, 7 SP1 ( MS12-035 LDR सुरक्षा अद्यतन के साथ)
  • 4.0.30319.1008 = .नेट 4.0 पर Windows XP SP3, 7, 7 SP1 ( MS13-052 जीडीआर सुरक्षा अद्यतन के साथ)
  • 4.0.30319.1022 = .NET 4.0 पर Windows XP SP3, 7, 7 SP1 ( MS14-009 जीडीआर सुरक्षा अद्यतन के साथ)
  • 4.0.30319.1026 = .नेट 4.0 पर Windows XP SP3, 7, 7 SP1 ( MS14-057 जीडीआर सुरक्षा अद्यतन के साथ)
  • 4.0.30319.2034 = .नेट 4.0 पर Windows XP SP3, 7, 7 SP1 ( MS14-009 LDR सुरक्षा अद्यतन के साथ)

4.5

  • 4.0.30319.17626 = .NET 4.5 आर.सी.
  • 4.0.30319.17929 = .NET 4.5 RTM
  • 4.0.30319.18010 = .NET 4.5 विंडोज 8 पर
  • 4.0.30319.18052 = .NET 4.5 पर विंडोज 7 SP1 64-बिट
  • 4.0.30319.18063 = .NET 4.5 पर विंडोज 7 SP1 64-बिट ( MS14-009 सुरक्षा अद्यतन के साथ)

4.5.1

  • 4.0.30319.18408 = .NET 4.5.1 पर विंडोज 7 SP1 64-बिट
  • 4.0.30319.18444 = .NET 4.5.1 पर विंडोज 7 SP1 64-बिट ( MS14-009 सुरक्षा अद्यतन के साथ)
  • 4.0.30319.34014 = .NET 4.5.1 विंडोज 8.1 64-बिट पर

4.5.2

  • 4.0.30319.34209 = .नेट 4.5.2 पर विंडोज 7 SP1 64-बिट
  • 4.0.30319.34209 = .NET 4.5.2 विंडोज 8.1 64-बिट पर

4.6 और बाद में

  • 4.0.30319.42000

मुझे अपने Windows अद्यतन इतिहास में कोई भी .NET अपडेट दिखाई नहीं दे रहा है, इसलिए मुझे लगता है कि v18010 के अपडेट को KB 2756872 के भाग के रूप में स्थापित किया गया था।

अद्यतन: जाहिरा तौर पर माइक्रोसॉफ्ट मूल डाउनलोड में डिजिटल हस्ताक्षर के साथ एक गलती के कारण .NET 4.5 सेटअप अद्यतन। KB 2770445

 public class DA { public static class VersionNetFramework { public static string Get45or451FromRegistry() {//https://msdn.microsoft.com/en-us/library/hh925568(v=vs.110).aspx using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey("SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full\\")) { int releaseKey = Convert.ToInt32(ndpKey.GetValue("Release")); if (true) { return (@"Version: " + CheckFor45DotVersion(releaseKey)); } } } // Checking the version using >= will enable forward compatibility, // however you should always compile your code on newer versions of // the framework to ensure your app works the same. private static string CheckFor45DotVersion(int releaseKey) {//https://msdn.microsoft.com/en-us/library/hh925568(v=vs.110).aspx if (releaseKey >= 394271) return "4.6.1 installed on all other Windows OS versions or later"; if (releaseKey >= 394254) return "4.6.1 installed on Windows 10 or later"; if (releaseKey >= 393297) return "4.6 installed on all other Windows OS versions or later"; if (releaseKey >= 393295) return "4.6 installed with Windows 10 or later"; if (releaseKey >= 379893) return "4.5.2 or later"; if (releaseKey >= 378758) return "4.5.1 installed on Windows 8, Windows 7 SP1, or Windows Vista SP2 or later"; if (releaseKey >= 378675) return "4.5.1 installed with Windows 8.1 or later"; if (releaseKey >= 378389) return "4.5 or later"; return "No 4.5 or later version detected"; } public static string GetVersionFromRegistry() {//https://msdn.microsoft.com/en-us/library/hh925568(v=vs.110).aspx string res = @""; // Opens the registry key for the .NET Framework entry. using (RegistryKey ndpKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, ""). OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\")) { // As an alternative, if you know the computers you will query are running .NET Framework 4.5 // or later, you can use: // using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, // RegistryView.Registry32).OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\")) foreach (string versionKeyName in ndpKey.GetSubKeyNames()) { if (versionKeyName.StartsWith("v")) { RegistryKey versionKey = ndpKey.OpenSubKey(versionKeyName); string name = (string)versionKey.GetValue("Version", ""); string sp = versionKey.GetValue("SP", "").ToString(); string install = versionKey.GetValue("Install", "").ToString(); if (install == "") //no install info, must be later. res += (versionKeyName + " " + name) + Environment.NewLine; else { if (sp != "" && install == "1") { res += (versionKeyName + " " + name + " SP" + sp) + Environment.NewLine; } } if (name != "") { continue; } foreach (string subKeyName in versionKey.GetSubKeyNames()) { RegistryKey subKey = versionKey.OpenSubKey(subKeyName); name = (string)subKey.GetValue("Version", ""); if (name != "") sp = subKey.GetValue("SP", "").ToString(); install = subKey.GetValue("Install", "").ToString(); if (install == "") //no install info, must be later. res += (versionKeyName + " " + name) + Environment.NewLine; else { if (sp != "" && install == "1") { res += (" " + subKeyName + " " + name + " SP" + sp) + Environment.NewLine; } else if (install == "1") { res += (" " + subKeyName + " " + name) + Environment.NewLine; } } } } } } return res; } public static string GetUpdateHistory() {//https://msdn.microsoft.com/en-us/library/hh925567(v=vs.110).aspx string res=@""; using (RegistryKey baseKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(@"SOFTWARE\Microsoft\Updates")) { foreach (string baseKeyName in baseKey.GetSubKeyNames()) { if (baseKeyName.Contains(".NET Framework") || baseKeyName.StartsWith("KB") || baseKeyName.Contains(".NETFramework")) { using (RegistryKey updateKey = baseKey.OpenSubKey(baseKeyName)) { string name = (string)updateKey.GetValue("PackageName", ""); res += baseKeyName + " " + name + Environment.NewLine; foreach (string kbKeyName in updateKey.GetSubKeyNames()) { using (RegistryKey kbKey = updateKey.OpenSubKey(kbKeyName)) { name = (string)kbKey.GetValue("PackageName", ""); res += (" " + kbKeyName + " " + name) + Environment.NewLine; if (kbKey.SubKeyCount > 0) { foreach (string sbKeyName in kbKey.GetSubKeyNames()) { using (RegistryKey sbSubKey = kbKey.OpenSubKey(sbKeyName)) { name = (string)sbSubKey.GetValue("PackageName", ""); if (name == "") name = (string)sbSubKey.GetValue("Description", ""); res += (" " + sbKeyName + " " + name) + Environment.NewLine; } } } } } } } } } return res; } } } 

आप हमेशा विंडोज / माइक्रोसॉफ्ट / माइक्रोसॉफ्ट / फ्रेमवर्क / 4.0.30319 पर जा सकते हैं और सिस्टम.dll फ़ाइल को देख सकते हैं … ठीक क्लिक करें गुण और विवरण पर जाएं..आपको संस्करण … system.dll दिखाएगा 4.5.2