共用方式為


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

RuntimeInformation.RuntimeIdentifier 回傳執行時所建構的平台,而非執行時計算的值。

先前的行為

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

新行為

從 .NET 8 開始,此值為建置運行時間的 RID。 這表示對於執行階段的可攜式組建(所有微軟提供的組建),此值與版本和發行版本無關。 例如,Windows 11 win-x64上的值為 ,而 Ubuntu 20.04 上的 linux-x64值為 。 針對非可攜式組建(source-build),系統會為組建設置一個可以包括版本和發行版的 RID,並且該值就是返回的 RID。

推出的版本

.NET 8 RC 1

破壞性變更的類型

此變更為行為變更

變更的原因

這項變更與 .NET 8 中 RID 特定資產解析 的變更一致,並且會逐步棄用對特定發行版敏感的執行環境。 RuntimeInformation.RuntimeIdentifier 是一個不透明值,應該代表主機或執行階段認為自己正在運行的平臺。 在 .NET 8 中,這對應於主機或執行時所建置的平台,而非執行時計算的 RID。

RuntimeInformation.RuntimeIdentifier 是不透明的值,並不適合被剖析成其組成部分。 針對應用程式執行之實際電腦的 OS 版本,請使用 Environment.OSVersion。 如需描述,請使用 RuntimeInformation.OSDescription。 針對 Linux 上的特定 ID(散發版本)及其相應版本,您可以讀取 os-release 檔案。

受影響的 API

另請參閱