.NET फ्रेमवर्क 4.5 निर्देशिका कहाँ है?


146

मैंने विंडोज 8, विजुअल स्टूडियो 2012 स्थापित किया है, लेकिन इसमें v4.5 निर्देशिका नहीं है %WINDIR%\Microsoft.NET\Framework

क्या मैंने कुछ गलत किया है, या .NET 4.5 दूसरों से अलग है?

यदि ऐसा है क्योंकि मैंने उपकरण स्थापित नहीं किए हैं, तो क्या डाउनलोड करने के लिए विभिन्न उपकरणों का एक सेट है? जहां तक ​​मैं बता सकता हूं, मैं .NET 4.5 एप्लिकेशन को ठीक करने में सक्षम हूं।


1
@Gustavo, कृपया उस टैग को प्रश्नों में संपादित करना बंद करें। उत्पाद का नाम 2011 नहीं है , लेकिन 11 है, और पहले से ही एक मौजूदा टैग है।
चार्ल्स

1
.NET 4.5 एक स्थान पर प्रतिस्थापन है। इस ब्लॉग पोस्ट को देखें ।
विजय

संभव डुप्लिकेट: stackoverflow.com/questions/9546353/…
होउमन

जवाबों:


152

.NET 4.5 4.0 के स्थान पर प्रतिस्थापन है - आपको 4.0 निर्देशिका में असेंबलियां मिलेंगी।

इस विषय पर रिक स्ट्राल और स्कॉट हैंसेलमैन के ब्लॉग देखें ।

आप इसमें विशिष्ट संस्करण भी पा सकते हैं:

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework

1
धन्यवाद, लेकिन MSDN से इस पृष्ठ के बारे में क्या। msdn.microsoft.com/en-us/library/bb397428 । इसमें 4.5.0.0 निर्देशिका का उल्लेख है?
निक रैंडल

@NickRandell - आपने विधानसभाओं के बारे में पूछा। एसडीके / टूल के बारे में वह लेख।
ऊद

@NickRandell - और चूंकि यह आपके सिस्टम पर नहीं है, इसलिए 4.0 निर्देशिका में असेंबलियों के संस्करण को देखें कि क्या वे वास्तव में 4.5 हैं (जैसा कि लिंक किए गए ब्लॉगों में वर्णित है)।
ऊद

मुझे निश्चित रूप से उन निर्देशिकाओं में 4.5 मिला है, लेकिन उपकरण के बारे में कोई विचार?
निक रेंडेल

5
FYI करें: मैंने अभी-अभी अपने Windows Server 2008 R2 पर v4.5.2 स्थापित किया है। असेंबली वास्तव में C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 हैं, जैसा कि जॉन स्कीट द्वारा बताया गया है।
हरसिमरनब

86

EDIT: 2013 के मध्य तक यह उत्तर सही था, लेकिन बड़े msbuild बदलाव के बाद आपके पास अधिक हाल का संस्करण हो सकता है । देखें जॉनी लीड्स से जवाब अधिक जानकारी के लिए।

C:\Windows\Microsoft.NET\Framework\v4.0.30319वास्तव में संस्करण .NET 4.5 है। यह थोड़ा अजीब है, लेकिन निश्चित रूप mscorlibसे इसमें AsyncTaskMethodBuilderआदि शामिल हैं जो async के लिए उपयोग किए जाते हैं।

.NET 4.5 प्रभावी रूप से .NET 4 को अधिलेखित करता है


क्या यह अभी भी आधिकारिक रिलीज के साथ सच है?
अर्लज़ सेप

@Kiquenet: मुझे संदेह है कि अंतिम रिलीज को हटा दिया गया था; यह एक अलग नगेट पैकेज के रूप में उपलब्ध है।
जॉन स्कीट

यह लगभग सच है - लेकिन msbuild स्थानांतरित हो गया है - नीचे मेरी पोस्ट देखें
जॉनी राया

@JonnyLeeds: धन्यवाद - ने ब्लॉग पोस्ट का एक संदर्भ जोड़ा है।
जॉन स्कीट

28

.NET 4.5 है नहीं एक साइड-बाई-साइड संस्करण है, यह बदल देता है 4.0 के लिए विधानसभाओं। बहुत कुछ .NET 3.0, 3.5 और 3.5SP1 ने असेंबलियों को 2.0 के लिए बदल दिया। और कुछ नए जोड़े। सीएलआर संस्करण अभी भी 4.0.30319 है। आप केवल संदर्भ असेंबलियों की परवाह करते हैं, वे c: \ program files \ reference असेंबलियों में हैं।


मुझे लगा कि 3.0 और 3.5 में सिर्फ असेंबली जोड़ी गई हैं - 4.5 के रूप में mscorlib की जगह (कहते हैं) नहीं। या कि 3.0 के लिए शायद सच था, लेकिन 3.5 नहीं?
जॉन स्कीट

@ जॉन - नहीं, वे वास्तव में बदल गए। क्योंकि विधानसभा में बदलाव नहीं हुआ, इसलिए कुछ दुख हुआ। जोड़ा गया WaitHandle.WaitOne (int) अधिभार विशेष रूप से कुख्यात था। इस समस्या से बचने के लिए .NET 4 में काउंटर-उपाय थे, संदर्भ असेंबली अब GAC-ed असेंबली की प्रतिलिपि नहीं है। वे विशेष हैं, उनमें कोई आईएल नहीं है।
हंस पैसेंट

कई संस्करणों में परीक्षण के लिए, क्या वर्चुअल मशीन के लिए कोई आसान विकल्प है? और क्या विंडोज अपडेट डिफ़ॉल्ट रूप से स्वचालित रूप से 4.5 पर अपडेट होता है?
योनी

2
यह एक प्रश्न की तरह दिखता है, टिप्पणी का नहीं। प्रश्न पृष्ठ के शीर्ष पर जाते हैं, प्रश्न पूछें बटन पर क्लिक करके इसे वहां रखें।
हंस पैसेंट

17

जबकि उपरोक्त उत्तर सही हैं, यह ध्यान देने योग्य है कि MSBuild बदल गया है और यह अब .net ढांचे के साथ जहाज नहीं करता है, यह या तो अकेले या दृश्य स्टूडियो के साथ आता है। परिणामस्वरूप यह बायनेरिज़ स्थानांतरित हो गया है ... इसलिए आप 4.0.303619 निर्देशिका के तहत जो प्राप्त करते हैं वह वास्तव में पुराना है!

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

संस्करण संख्या

ढांचे के तहत:

PS C:\Windows\Microsoft.NET\Framework\v4.0.30319> .\msbuild.exe -version
Microsoft (R) Build Engine version 4.0.30319.33440
[Microsoft .NET Framework, version 4.0.30319.34014]
Copyright (C) Microsoft Corporation. All rights reserved.

4.0.30319.33440PS C:\Windows\Microsoft.NET\Framework\v4.0.30319>

प्रोग्राम फ़ाइलों के तहत:

PS C:\Program Files (x86)\MSBuild\12.0\Bin> .\MSBuild.exe -version
Microsoft (R) Build Engine version 12.0.21005.1
[Microsoft .NET Framework, version 4.0.30319.34014]
Copyright (C) Microsoft Corporation. All rights reserved.

12.0.21005.1PS C:\Program Files (x86)\MSBuild\12.0\Bin>

5

वेबपेज गलत है और मैंने इसे एमएस को इंगित किया है और वे इसे बदल देंगे।

जैसा कि पहले ही ऊपर बताया गया है। .NET 4.5 4.0 का इन-प्लेस अपग्रेड है, इसलिए आपके पास केवल Microsoft.NET \ Framework \ v4.0.30319 होगा।

MSBuild के लिए ToolVersion "4.0" पर रहता है।


3

यह पता लगाने का आधिकारिक तरीका है कि क्या आपने 4.5 स्थापित किया है (और 4.0 नहीं) रजिस्ट्री कुंजी में है:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full

Relesae DWORD को 378675 से बड़ा होना जरूरी है। इसके लिए Microsoft doc है

4.0.30319.xxxxx के बाद मामूली संस्करण की जाँच करने के अन्य सभी उत्तर सही प्रतीत होते हैं (msbuild.exe -version, या clr.dll के गुण), मुझे बस कुछ दस्तावेज चाहिए था (ब्लॉग नहीं)


नोट \ v4 \, नहीं \ v4.0 \ अलग है!
योनी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.