.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、および既存のタグがすでに存在しています。
Charles

1
.NET 4.5はインプレース置換です。このブログ投稿を参照しください。
Vijay

回答:


152

.NET 4.5は4.0のインプレース置換です。アセンブリは4.0ディレクトリにあります。

このトピックについては、Rick StrahlScott Hanselmanによるブログを参照してください。

特定のバージョンは次の場所にもあります。

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

1
ありがとうございます。ただし、MSDNのこのページはどうですか。msdn.microsoft.com/en-us/library/bb397428。4.5.0.0ディレクトリについて言及していますか?
Nick Randell

@NickRandell-アセンブリについて質問しました。SDK /ツールに関する記事。
2012

@NickRandell-そして、それはあなたのシステムにはないので、それらが実際に4.5であるかどうかを確認するために、4.0ディレクトリのアセンブリのバージョンを見てください(リンクされたブログで説明されています)。
2012

私は間違いなくこれらのディレクトリに4.5を持っていますが、ツールについて何か考えはありますか?
Nick Randell

5
参考:Windows Server 2008 R2にv4.5.2をインストールしました。Jon Skeetによって指摘されているように、アセンブリは実際にはC:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319にあります。
harsimranb 2015年

86

編集:この答えは2013年半ばまで正解でしたが、msbuildが大幅に変更されたためより新しいバージョンを使用している可能性があります。詳細については、Jonny Leedsの回答を参照しください。

C:\Windows\Microsoft.NET\Framework\v4.0.30319実際のバージョン .NET 4.5です。少し奇妙ですが、非同期に使用されるものがmscorlib含まれてAsyncTaskMethodBuilderいます。

.NET 4.5は、.NET 4を効果的に上書きします。


これは公式リリースにも当てはまりますか?
Earlz 2012

@Kiquenet:最終リリースが削除されたのではないかと思います。個別のnugetパッケージとして入手できます。
Jon Skeet

これはほぼ真実です-しかし、msbuildは移動しました-以下の私の投稿を参照してください
JonnyRaa '25

@JonnyLeeds:ありがとう-ブログ投稿への参照を追加しました。
Jon Skeet 2014

28

.NET 4.5はside-by-sideバージョンではなく、4.0のアセンブリを置き換えます。.NET 3.0と同様に、3.5および3.5SP1は2.0のアセンブリを置き換えました。そして、いくつかの新しいものを追加しました。CLRバージョンはまだ4.0.30319です。参照アセンブリのみが重要であり、それらはc:\ program files \ referenceアセンブリにあります。


3.0と3.5はアセンブリを追加したばかりだと思いました-4.5のようにmscorlibを(たとえば)置き換えません。それとも3.0では当てはまるが3.5では当てはまらないのでしょうか。
Jon Skeet

@ジョン-いいえ、実際には置き換えられました。[AssemblyVersion]は変更されなかったため、これはいくつかの悲惨さを引き起こしました。追加されたWaitHandle.WaitOne(int)オーバーロードは特に悪名高いものでした。この問題を回避するための対策が.NET 4にありました。参照アセンブリは、GACされたアセンブリのコピーではなくなりました。それらは特別であり、ILを含まない。
ハンスパッサント

複数のバージョンでテストする場合、仮想マシンに代わる簡単な方法はありますか?また、Windows Updateはデフォルトで自動的に4.5に更新されますか?
調整可能

2
コメントではなく質問のように見えます。質問はページの上部に移動し、[質問する]ボタンをクリックしてそこに配置します。
Hans Passant 2017

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しかありません。

MSBuildのToolVersionは「4.0」のままです。


3

(4.0ではなく)4.5がインストールされているかどうかを確認する正式な方法は、レジストリキーにあります。

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

Relesae DWORDは378675より大きくする必要がありますこれはMicrosoftのドキュメントです

4.0.30319.xxxxx以降のマイナーバージョンをチェックする他のすべての回答は正しいようです(msbuild.exe -versionまたはclr.dllのプロパティ)。


異なる\ v4.0 \ではなく、\ v4 \に注意してください!
調整可能
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.