我已经安装了 Windows 8、Visual Studio 2012 但在%WINDIR%\Microsoft.NET\Framework
.
我做错了什么,还是 .NET 4.5 与其他版本不同?
如果是因为我没有安装工具,有没有一套不同的工具可以下载?据我所知,我可以构建 .NET 4.5 应用程序。
我已经安装了 Windows 8、Visual Studio 2012 但在%WINDIR%\Microsoft.NET\Framework
.
我做错了什么,还是 .NET 4.5 与其他版本不同?
如果是因为我没有安装工具,有没有一套不同的工具可以下载?据我所知,我可以构建 .NET 4.5 应用程序。
.NET 4.5 是 4.0 的就地替代品 - 您将在 4.0 目录中找到程序集。
请参阅Rick Strahl和Scott Hanselman关于此主题的博客。
您还可以在以下位置找到特定版本:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework
编辑:这个答案在 2013 年年中之前是正确的,但你可能有一个更新的版本,因为大的 msbuild 变化。有关更多详细信息,请参阅Jonny Leeds 的答案。
C:\Windows\Microsoft.NET\Framework\v4.0.30319
实际下的版本是.NET 4.5。这有点奇怪,但肯定mscorlib
包含AsyncTaskMethodBuilder
用于异步的 etc。
.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\reference 程序集中。
虽然上述答案是正确的,但值得注意的是MSBuild 已经改变并且不再随 .net 框架一起提供,它要么是独立的,要么是与 Visual Studio 一起提供的。结果它的二进制文件被移动了......所以你在 4.0.303619 目录下得到的那个实际上是旧的!
我刚刚被这个发现 - 我发现自动绑定重定向仅在从 VisualStudio 运行时才起作用,但在从命令行运行 msbuild 时不起作用......线索是在 VS 2013 中添加了绑定重定向(对于那个 read .净框架 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>
该网页不正确,我已向 MS 指出了这一点,他们将对其进行更改。
如上所述,.NET 4.5 是 4.0 的就地升级,因此您将只有 Microsoft.NET\Framework\v4.0.30319。
MSBuild 的 ToolVersion 仍为“4.0”。
确定您是否安装了 4.5(而不是 4.0)的官方方法是在注册表项中:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
Relesae DWORD 需要大于 378675 这是Microsoft doc
不过,在 4.0.30319.xxxxx 之后检查次要版本的所有其他答案似乎都是正确的(msbuild.exe -version 或 clr.dll 的属性),我只需要记录一些东西(不是博客)