¿Dónde está el directorio .NET Framework 4.5?


146

He instalado Windows 8, Visual Studio 2012 pero no tengo un directorio v4.5 en %WINDIR%\Microsoft.NET\Framework .

¿He hecho algo mal o .NET 4.5 es diferente de los demás?

Si es porque no he instalado las herramientas, ¿hay un conjunto de herramientas diferentes para descargar? Hasta donde puedo decir, puedo construir aplicaciones .NET 4.5 OK.


1
@Gustavo, por favor, dejar de modificar esa etiqueta en preguntas. El nombre del producto no es 2011, sino 11, y ya existe una etiqueta.
Charles

1
.NET 4.5 es un reemplazo en su lugar. Consulte esta publicación de blog .
Vijay

Respuestas:


152

.NET 4.5 es un reemplazo en su lugar para 4.0: encontrará los ensamblajes en el directorio 4.0.

Vea los blogs de Rick Strahl y Scott Hanselman sobre este tema.

También puede encontrar las versiones específicas en:

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

1
Gracias, pero ¿qué pasa con esta página de MSDN? msdn.microsoft.com/en-us/library/bb397428 . ¿Menciona un directorio 4.5.0.0?
Nick Randell

@NickRandell: preguntaste sobre los ensamblajes. Ese artículo sobre el SDK / herramientas.
Oded

@NickRandell: y dado que eso no está en su sistema, mire la versión de los ensamblajes en el directorio 4.0 para ver si realmente son 4.5 (como se describe en los blogs vinculados).
Oded

Definitivamente tengo 4.5 en esos directorios, pero ¿alguna idea sobre las herramientas?
Nick Randell

55
FYI: acabo de instalar v4.5.2 en mi Windows Server 2008 R2. Los ensamblados están en realidad en C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319, como señaló Jon Skeet.
harsimranb

86

EDITAR: Esta respuesta fue correcta hasta mediados de 2013, pero es posible que tenga una versión más reciente desde el gran cambio de msbuild . Vea la respuesta de Jonny Leeds para más detalles.

La versión en C:\Windows\Microsoft.NET\Framework\v4.0.30319realidad es .NET 4.5. Es un poco extraño, pero ciertamente mscorlibcontiene AsyncTaskMethodBuilderetc. que se usan para asíncrono.

.NET 4.5 sobrescribe efectivamente .NET 4.


¿Sigue siendo cierto con el lanzamiento oficial?
Earlz

@ Kiquenet: sospecho que se eliminó la versión final; Está disponible como un paquete Nuget separado.
Jon Skeet

esto es casi cierto, pero msbuild se ha movido - vea mi publicación a continuación
JonnyRaa

@JonnyLeeds: Gracias, he agregado una referencia a la publicación del blog.
Jon Skeet

28

.NET 4.5 no es una versión de lado a lado, reemplaza los ensamblados para 4.0. Al igual que .NET 3.0, 3.5 y 3.5SP1 reemplazaron los ensamblajes para 2.0. Y agregó algunos nuevos. La versión CLR sigue siendo 4.0.30319. Solo le importan los ensamblajes de referencia, están en c: \ archivos de programa \ ensamblajes de referencia.


Pensé que 3.0 y 3.5 acababan de agregar ensamblados, sin reemplazar (por ejemplo) mscorlib como lo hace 4.5. ¿O tal vez eso era cierto para 3.0 pero no 3.5?
Jon Skeet

@ Jon - no, en realidad fueron reemplazados. Eso causó algo de miseria porque la [Versión de la Asamblea] no cambió. La sobrecarga agregada WaitHandle.WaitOne (int) fue especialmente notoria. Hubo contramedidas en .NET 4 para evitar este problema, los ensambles de referencia ya no son una copia del ensamblado GAC-ed. Son especiales, no contienen IL.
Hans Passant

Para probar en varias versiones, ¿hay alternativas fáciles a las máquinas virtuales? ¿Y Windows Update se actualiza automáticamente a 4.5 por defecto?
Aplicable

2
Eso parece una pregunta, no un comentario. Las preguntas van en la parte superior de la página, haga clic en el botón Hacer pregunta para colocarlo allí.
Hans Passant

17

Si bien las respuestas anteriores son correctas, vale la pena señalar que MSBuild ha cambiado y ya no se incluye con el marco .net, viene solo o con Visual Studio. Como resultado, sus binarios se han movido ... ¡así que el que obtiene bajo el directorio 4.0.303619 es en realidad el antiguo!

Me ha sorprendido esto: encontré redireccionamientos de enlace automáticos solo funcionaban cuando se ejecutaba desde VisualStudio, pero no cuando se ejecutaba msbuild desde la línea de comandos ... la clave era que las redirecciones de enlace se agregaron en VS 2013 (para esa lectura. marco neto 4.5). Si abre un símbolo del sistema vs, verá que ahora lo obtiene de los archivos de programa como se menciona en el otro artículo. Mientras que estaba usando un archivo por lotes en mi ruta que se vinculaba a la versión anterior.

Números de versión

Bajo marco:

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>

Debajo de los archivos de programa:

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

La página web es incorrecta y se lo he señalado a MS y lo cambiarán.

Como ya se indicó anteriormente, .NET 4.5 es una actualización in situ de 4.0, por lo que solo tendrá Microsoft.NET \ Framework \ v4.0.30319.

ToolVersion para MSBuild permanece en "4.0".


3

La forma oficial de averiguar si tiene 4.5 instalado (y no 4.0) está en las claves de registro:

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

Relesae DWORD debe ser más grande que 378675 Aquí está el documento de Microsoft para ello

Sin embargo, todas las otras respuestas de verificar la versión menor después de 4.0.30319.xxxxx parecen correctas (versión de msbuild.exe o propiedades de clr.dll), solo necesitaba algo documentado (no un blog)


Nota \ v4 \, no \ v4.0 \ que es diferente.
Aplicable
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.