共用方式為


RuntimeIdentifier 會傳回建立執行階段所在的平台

RuntimeInformation.RuntimeIdentifier 會傳回執行階段建置的平台,而不是執行階段計算的值。

先前的行為

此值是透過 OS 檔案或 API 計算的執行階段識別碼 (RID)。 這通常表示它是版本特定的和散發版本特定的 RID。 例如,在 Windows 11 上執行應用程式時,值是 win10-x64,或者在 Ubuntu 20.04 上,可能是 ubuntu.20.04-x64

新的行為

從 .NET 8 開始,此值為建置執行階段的 RID。 這表示對於執行階段的可攜式組建 (所有 Microsoft 提供的組建),此值為非版本特定和非散發版本特定。 例如,Windows 11 上的值為 win-x64,而 Ubuntu 20.04 上的值 linux-x64。 針對非可攜式組建 (來源組建),組建會設定可具有版本和散發版本的組建 RID,而該值則是傳回的 RID。

導入的版本

.NET 8 RC 1

中斷性變更的類型

此變更為行為變更

變更原因

這項變更與 .NET 8 變更一致,以 RID 特定資產解析,並移出散發版本感知執行階段。 RuntimeInformation.RuntimeIdentifier 是一個不透明值,應該代表主機或執行階段認為自己正在執行的平台。 在 .NET 8 中,對應至主機或執行階段建置平台,而不是在執行階段計算的 RID。

RuntimeInformation.RuntimeIdentifier 是不透明的值,不是要剖析成其元件元件。 針對應用程式執行之實際電腦的 OS 版本,請使用 Environment.OSVersion。 如需描述,請使用 RuntimeInformation.OSDescription。 針對 Linux 上的特定識別碼 (散發版本) 和對應的版本,您可以讀取 os-release 檔案。

受影響的 API

另請參閱