在 .NET Framework 4.6 及更高版本中,产品版本控制已从以前版本的 .NET Framework(.NET Framework 4、4.5、4.5.1 和 4.5.2)发生了变化。
产品版本更改
以下是详细的更改:
在 .NET Framework 4.6 及其点版本中,
Version
密钥的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
条目值已更改为4.6.
xxxxx,而在 .NET Framework 4.7 中已更改为4.7.
xxxxx。 在 .NET Framework 4.5、4.5.1 和 4.5.2 中,其格式4.5.
为 xxxxx。.NET Framework 文件的文件和产品版本控制已从早期版本控制方案
4.0.30319.x
更改为4.6.X.0
.NET Framework 4.6 及其点版本,以及4.7.X.0
.NET Framework 4.7 及其点版本。 右键单击文件后查看文件 的属性 时,可以看到这些新值。对于 .NET Framework 4.6 及其点版本,托管程序集的 AssemblyFileVersionAttribute 和 AssemblyInformationalVersionAttribute 特性具有格式为 Version 的
4.6.X.0
值,对于 .NET Framework 4.7,则为格式4.7.X.0
。从 .NET Framework 4.6 开始,该 Environment.Version 属性返回固定版本字符串
4.0.30319.42000
。 在 .NET Framework 4、4.5、4.5.1 和 4.5.2 中,它以小于 42000 的格式4.0.30319.xxxxx
xxxxx
返回版本字符串(例如,“4.0.30319.18010”)。 请注意,我们不建议应用程序代码对 Environment.Version 属性采用任何新的依赖项。
处理产品版本变更
通常,应用程序应依赖于用于检测 .NET Framework 运行时版本和安装目录等作的建议技术:
若要检测 .NET Framework 的运行时版本,请参阅 如何:确定安装了哪些 .NET Framework 版本。
若要确定 .NET Framework 的安装路径,请使用
InstallPath
密钥中的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
条目的值。重要
子项名称是
NET Framework Setup
,而不是.NET Framework Setup
。若要确定 .NET Framework 公共语言运行时的目录路径,请调用 RuntimeEnvironment.GetRuntimeDirectory 该方法。
若要获取 CLR 版本,请调用 RuntimeEnvironment.GetSystemVersion 该方法。 对于 .NET Framework 4 及其点版本(.NET Framework 4.5、4.5.1、4.5.2 和 .NET Framework 4.6、4.6.1、4.6.2 和 4.7),它将返回字符串
v4.0.30319
。