Де знаходиться каталог .NET Framework 4.5?


146

Я встановив Windows 8, Visual Studio 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 - Ви запитували про збори. Ця стаття про SDK / інструменти.
Одід

@NickRandell - А оскільки цього немає у вашій системі, подивіться на версію збірок в каталозі 4.0, щоб побачити, чи справді вони є 4.5 (як описано в пов'язаних блогах).
Одід

У цих каталогах у мене точно 4,5, але будь-яке уявлення про інструменти?
Нік Ренделл

5
FYI: Я щойно встановив v4.5.2 на своєму Windows Server 2008 R2. Асамблеї фактично знаходяться на C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319, на що вказував Джон Скіт.
harsimranb

86

РЕДАКТУВАННЯ: Ця відповідь була правильною до середини 2013 року, але, можливо, у вас є новіша версія після великої зміни msbuild . Дивіться відповідь Джоні Лідса для отримання більш детальної інформації.

Версія під C:\Windows\Microsoft.NET\Framework\v4.0.30319фактично є .NET 4.5. Це трохи дивно, але, безумовно, mscorlibє AsyncTaskMethodBuilderі т.д., які використовуються для асинхронізації.

.NET 4.5 ефективно перезаписує .NET 4.


Чи все-таки це вірно з офіційним випуском?
Earlz

@Kiquenet: підозрюю, що остаточний реліз був видалений; він доступний як окремий пакунок нута.
Джон Скіт

це майже правда - але msbuild перемістився - дивіться моє повідомлення нижче
JonnyRaa

@JonnyLeeds: Спасибі - додали посилання на допис у блозі.
Джон Скіт

28

.NET 4.5 не є побічною версією, він замінює збірки для 4.0. Начебто .NET 3.0, 3.5 та 3.5SP1 замінили збірки на 2.0. І додав кілька нових. Версія CLR все ще становить 4.0.30319. Ви дбаєте лише про еталонні збірки, вони знаходяться в c: \ program файлах \ посиланнях.


Я подумав, що 3.0 і 3.5 лише додали збірки - не замінюючи (скажімо) mscorlib, як це робить 4.5. Або це може бути правдою для 3.0, але не для 3.5?
Джон Скіт

@Jon - ні, їх фактично замінили. Це спричинило певні нещастя, оскільки [AssemblyVersion] не змінився. Особливо горезвісний додав WaitHandle.WaitOne (int) перевантаження. У .NET 4 відбулися контрзаходи, щоб уникнути цієї проблеми, еталонні збірки більше не є копією збірки GAC-ed. Вони особливі, вони не містять ІЛ.
Ганс Пасант

Для тестування в декількох версіях чи є легкі альтернативи віртуальним машинам? І чи оновлення Windows Update автоматично оновляється до 4,5 за замовчуванням?
Tuntable

2
Це виглядає як питання, а не коментар. Питання йдуть у верхній частині сторінки, натисніть кнопку Задати питання, щоб розмістити її туди.
Ганс Пасант

17

Хоча наведені вище відповіді правильні, варто відзначити, що MSBuild змінився і він більше не постачається з .net рамкою, він приходить або окремо, або з візуальною студією. Як результат, його двійкові файли переміщені ... тож той, який ви потрапляєте в каталог 4.0.303619, насправді є старим!

Мене щойно навернуло це - я виявив, що автоматичні переадресації прив'язки працювали лише під час запуску з VisualStudio, але не під час запуску msbuild з командного рядка ... підказка полягала в тому, що перенаправлення прив’язки додані у VS 2013 (для цього прочитано. чистий каркас 4.5). Якщо ви відкриєте командний рядок vs, ви побачите, що тепер він отримує його з програмних файлів, як згадується в іншій статті. Тоді як я використовував пакетний файл на своєму шляху, який посилався на стару версію.

Номери версій

У рамках:

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

Веб-сторінка невірна, і я вказав на це MS, і вони змінять її.

Як уже було сказано вище .NET 4.5 - це місцеве оновлення 4.0, тому у вас буде лише Microsoft.NET \ Framework \ v4.0.30319.

ToolVersion для MSBuild залишається на рівні "4.0".


3

Офіційний спосіб з’ясувати, чи встановлено у вас 4.5 (а не 4.0) в ключах реєстру:

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

Relesae DWORD має бути більшим, ніж 378675 Ось документ Microsoft для цього

всі інші відповіді перевірки незначної версії після 4.0.30319.xxxxx здаються правильними, хоча (msbuild.exe -версія або властивості clr.dll), мені просто потрібно було щось задокументовано (не блог)


Примітка \ v4 \, а не \ v4.0 \, що відрізняється!
Tuntable
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.