Wo befindet sich das .NET Framework 4.5-Verzeichnis?


146

Ich habe Windows 8, Visual Studio 2012 installiert, habe aber kein v4.5-Verzeichnis %WINDIR%\Microsoft.NET\Framework.

Habe ich etwas falsch gemacht oder unterscheidet sich .NET 4.5 von anderen?

Wenn ich die Tools nicht installiert habe, gibt es eine Reihe verschiedener Tools zum Herunterladen? Soweit ich das beurteilen kann, kann ich .NET 4.5-Apps in Ordnung erstellen.


1
@Gustavo, bitte hör auf, dieses Tag in Fragen zu bearbeiten. Der Produktname lautet nicht 2011, sondern 11, und es ist bereits ein Tag vorhanden.
Charles

1
.NET 4.5 ist ein Ersatz. Lesen Sie diesen Blog-Beitrag .
Vijay

Antworten:


152

.NET 4.5 ist ein Ersatz für 4.0. Sie finden die Assemblys im 4.0-Verzeichnis.

Siehe die Blogs von Rick Strahl und Scott Hanselman zu diesem Thema.

Sie finden die spezifischen Versionen auch in:

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

1
Danke, aber was ist mit dieser Seite von MSDN? msdn.microsoft.com/en-us/library/bb397428 . Es erwähnt ein 4.5.0.0-Verzeichnis?
Nick Randell

@NickRandell - Sie haben nach den Baugruppen gefragt. Dieser Artikel über das SDK / Tools.
Oded

@NickRandell - Und da dies nicht auf Ihrem System vorhanden ist, überprüfen Sie die Version der Assemblys im 4.0-Verzeichnis, um festzustellen, ob es sich tatsächlich um 4.5 handelt (wie in den verknüpften Blogs beschrieben).
Oded

Ich habe definitiv 4.5 in diesen Verzeichnissen, aber eine Idee über die Tools?
Nick Randell

5
Zu Ihrer Information: Ich habe gerade v4.5.2 auf meinem Windows Server 2008 R2 installiert. Die Assemblys befinden sich tatsächlich in C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319, wie von Jon Skeet angegeben.
Harsimranb

86

BEARBEITEN: Diese Antwort war bis Mitte 2013 korrekt, aber Sie haben möglicherweise eine neuere Version seit der großen Änderung von msbuild . Weitere Informationen finden Sie in der Antwort von Jonny Leeds .

Die Version unter C:\Windows\Microsoft.NET\Framework\v4.0.30319tatsächlich ist .NET 4.5. Es ist ein wenig seltsam, aber sicherlich mscorlibenthält es AsyncTaskMethodBuilderusw., die für Async verwendet werden.

.NET 4.5 überschreibt effektiv .NET 4.


Gilt das noch für die offizielle Veröffentlichung?
Earlz

@Kiquenet: Ich vermute, dass die endgültige Version entfernt wurde; Es ist als separates Nuget-Paket erhältlich.
Jon Skeet

Dies ist fast wahr - aber msbuild ist umgezogen - siehe meinen Beitrag unten
JonnyRaa

@JonnyLeeds: Danke - habe einen Verweis auf den Blog-Beitrag hinzugefügt.
Jon Skeet

28

.NET 4.5 ist keine Side-by-Side-Version, sondern ersetzt die Assemblys für 4.0. Ähnlich wie .NET 3.0 ersetzten 3.5 und 3.5SP1 die Assemblys für 2.0. Und einige neue hinzugefügt. Die CLR-Version ist immer noch 4.0.30319. Sie kümmern sich nur um die Referenzassemblys, sie befinden sich in c: \ Programme \ Referenzassemblys.


Ich hatte gedacht, 3.0 und 3.5 haben gerade Assemblys hinzugefügt - und nicht mscorlib ersetzt (sagen wir) wie 4.5. Oder stimmte das vielleicht für 3.0, aber nicht für 3.5?
Jon Skeet

@ Jon - nein, sie wurden tatsächlich ersetzt. Das verursachte etwas Elend, weil sich die [AssemblyVersion] nicht geändert hatte. Die hinzugefügte Überlastung von WaitHandle.WaitOne (int) war besonders berüchtigt. In .NET 4 gab es Gegenmaßnahmen, um dieses Problem zu vermeiden. Die Referenzassemblys sind keine Kopie der GAC-ed-Assembly mehr. Sie sind speziell, sie enthalten keine IL.
Hans Passant

Gibt es zum Testen mehrerer Versionen einfache Alternativen zu virtuellen Maschinen? Und wird Windows Update standardmäßig automatisch auf 4.5 aktualisiert?
Tuntable

2
Das sieht nach einer Frage aus, nicht nach einem Kommentar. Fragen werden oben auf der Seite angezeigt. Klicken Sie auf die Schaltfläche Frage stellen, um sie dort abzulegen.
Hans Passant

17

Obwohl die obigen Antworten richtig sind, ist es erwähnenswert, dass sich MSBuild geändert hat und nicht mehr mit dem .net-Framework geliefert wird, sondern entweder eigenständig oder mit Visual Studio. Infolgedessen haben sich die Binärdateien verschoben ... also ist diejenige, die Sie im Verzeichnis 4.0.303619 erhalten, tatsächlich die alte!

Ich bin gerade davon überrascht worden - ich habe festgestellt, dass automatische Bindungsumleitungen nur funktionieren, wenn sie über VisualStudio ausgeführt werden, nicht jedoch, wenn msbuild über die Befehlszeile ausgeführt wird. Der Hinweis war, dass Bindungsumleitungen in VS 2013 hinzugefügt wurden (für diesen Lesevorgang). Netzrahmen 4.5). Wenn Sie eine vs-Eingabeaufforderung öffnen, wird sie jetzt aus Programmdateien abgerufen, wie im anderen Artikel erwähnt. Während ich auf meinem Pfad eine Batch-Datei verwendete, die mit der alten Version verknüpft war.

Versionsnummern

Im Rahmen:

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>

Unter Programmdateien:

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

Die Webseite ist falsch und ich habe MS darauf hingewiesen, und sie werden es ändern lassen.

Wie bereits oben erwähnt, handelt es sich bei .NET 4.5 um ein direktes Upgrade von 4.0, sodass Sie nur Microsoft.NET \ Framework \ v4.0.30319 verwenden.

Die ToolVersion für MSBuild bleibt bei "4.0".


3

Der offizielle Weg, um herauszufinden, ob Sie 4.5 installiert haben (und nicht 4.0), finden Sie in den Registrierungsschlüsseln:

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

Relesae DWORD muss größer als 378675 sein. Hier ist das Microsoft- Dokument dafür

Alle anderen Antworten zum Überprüfen der Nebenversion nach 4.0.30319.xxxxx scheinen jedoch korrekt zu sein (msbuild.exe -version oder Eigenschaften von clr.dll). Ich brauchte nur etwas Dokumentiertes (kein Blog).


Beachten Sie \ v4 \, nicht \ v4.0 \, was anders ist!
Tuntable
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.