我已经安装了Windows 8,Visual Studio 2012,但其中没有v4.5目录%WINDIR%\Microsoft.NET\Framework
。
我做错了什么,还是.NET 4.5与众不同?
如果是因为我尚未安装工具,那么是否有一组可供下载的其他工具?据我所知,我能够构建.NET 4.5应用程序。
我已经安装了Windows 8,Visual Studio 2012,但其中没有v4.5目录%WINDIR%\Microsoft.NET\Framework
。
我做错了什么,还是.NET 4.5与众不同?
如果是因为我尚未安装工具,那么是否有一组可供下载的其他工具?据我所知,我能够构建.NET 4.5应用程序。
Answers:
.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中添加了绑定重定向(针对该阅读。网络框架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>