关于安装路径:哪里是.NET Framework 4.5目录?

Where is the .NET Framework 4.5 directory?

我安装了Windows8和Visual Studio 2012,但在%WINDIR%\Microsoft.NET\Framework中没有v4.5目录。

我做错什么了吗,.NET 4.5和其他的不同吗?

如果是因为我没有安装这些工具,有没有一套不同的工具可以下载?据我所知,我可以构建.NET 4.5应用程序。


.NET 4.5是4.0的就地替换-您将在4.0目录中找到程序集。

请参阅Rick Strahl和Scott Hanselman关于这个主题的博客。

您还可以在以下位置找到特定版本:

1
2
C:\Program Files (x86)
eference Assemblies\Microsoft\Framework\.NETFramework


编辑:这个答案在2013年年中之前是正确的,但是自从大型msbuild更改后,您可能有一个更新的版本。更多详情请参见Jonny Leeds的回答。

C:\Windows\Microsoft.NET\Framework\v4.0.30319下的版本实际上是.NET 4.5。这有点奇怪,但可以肯定的是,mscorlib中包含了AsyncTaskMethodBuilder等用于异步的内容。

.NET 4.5有效地覆盖.NET 4。


.NET 4.5不是并排版本,它将替换4.0的程序集。与.NET 3.0、3.5和3.5SP1非常相似,它将程序集替换为2.0。又增加了一些新的。clr版本仍然是4.0.30319。您只关心引用程序集,它们位于C:Program Files
eference程序集中。


虽然上述答案是正确的,但值得注意的是,msbuild已经更改,并且不再随.NET框架一起提供,但它要么是独立的,要么是与Visual Studio一起提供的。结果它的二进制文件移动了…所以你在4.0.303619目录下找到的那个实际上是旧的!

我刚刚被这个发现-我发现自动绑定重定向只在从VisualStudio运行时有效,但在从命令行运行msbuild时无效…线索是在vs 2013中添加了绑定重定向(对于read.net framework 4.5)。如果您打开一个vs命令提示符,您将看到它现在从程序文件中得到,正如另一篇文章提到的那样。而我在路径上使用的是一个批处理文件,它链接到旧版本。

版本号

框架下:

1
2
3
4
5
6
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>

在"程序文件"下:

1
2
3
4
5
6
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>

网页不正确,我已经向微软指出了这一点,他们会修改的。

如上所述,.NET 4.5是4.0的就地升级,因此您只能使用Microsoft.NETFrameworkv4.0.30319。

msbuild的工具版本保持为"4.0"。


确定是否安装了4.5(而不是4.0)的官方方法是在注册表项中:

1
2
3
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
ET Framework Setup
DP\v4\Full

发布的dword必须大于378675这是微软的文档

在4.0.30319.XXXXX之后检查次要版本的所有其他答案似乎都是正确的(msbuild.exe-version,或clr.dll的属性),但我只需要一些文档(而不是博客)。