風險降低:產品版本

在 .NET Framework 4.6 和更新版本中,產品版本設定已從舊版 .NET Framework (.NET Framework 4、4.5、4.5.1 和 4.5.2) 變更。

產品版本變更

以下是詳細的變更:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full 索引碼中的 Version 項目值已變更為 4.6.xxxxx (.NET Framework 4.6 及其點發行版本),以及 4.7.xxxxx (.NET Framework 4.7)。 在 .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 及其點發行版本)。 當您以滑鼠右鍵按一下檔案後再檢視檔案的 [屬性] 時,會看到這些新值。

  • Managed 組件的 AssemblyFileVersionAttributeAssemblyInformationalVersionAttribute 屬性,對於 .NET Framework 4.6 及其點版本,其 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 中,其會以 4.0.30319.xxxxx 格式傳回版本字串,其中 xxxxx 會小於 42000 (例如 "4.0.30319.18010")。 請注意,建議應用程式程式碼與 Environment.Version 屬性有任何新的相依性。

處理產品版本變更

一般而言,應用程式需要具備可偵測 .NET Framework 的執行階段版本和安裝目錄等項目的建議技術:

  • 若要偵測 .NET Framework 的執行階段版本,請參閱如何:判斷安裝的 .NET Framework 版本

  • 若要判斷 .NET Framework 的安裝路徑,請使用 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full 機碼中的 InstallPath 項目值。

    重要

    子機碼名稱是 NET Framework Setup,不是 .NET Framework Setup

  • 若要判斷 .NET Framework Common Language Runtime 的目錄路徑,請呼叫 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

另請參閱