RuntimeIdentifier returnerar plattform som körningen skapades för
RuntimeInformation.RuntimeIdentifier returnerar den plattform som körningen skapades för i stället för ett värde som beräknades vid körning.
Tidigare beteende
Värdet var en körningsidentifierare (RID) som beräknades via OS-filer eller API:er. Detta innebar i allmänhet att det var en versionsspecifik och distributionsspecifik RID. När du till exempel kör ett program på Windows 11 var win10-x64
eller, på Ubuntu 20.04, kan det vara ubuntu.20.04-x64
.
Nytt beteende
Från och med .NET 8 är värdet RID som körningen skapades för. Det innebär att för portabla versioner av körningen (alla Microsoft-tillhandahållna versioner) är värdet icke-versionsspecifikt och icke-distributionsspecifikt. Värdet på Windows 11 är win-x64
till exempel , och på Ubuntu 20.04 är linux-x64
det . För icke-bärbara versioner (source-build) anger bygget ett rid-bygge som kan ha en version och distribution, och det värdet är rid som returneras.
Version introducerad
.NET 8 RC 1
Typ av icke-bakåtkompatibel ändring
Den här ändringen är en beteendeförändring.
Orsak till ändringen
Den här ändringen är i linje med en .NET 8-ändring av RID-specifik tillgångsmatchning och övergången från en distributionsmedveten körning. RuntimeInformation.RuntimeIdentifier är ett täckande värde som ska representera den plattform där värden eller körningen anser sig vara igång. I .NET 8 motsvarar det den plattform för vilken värden eller körningen skapas, i stället för en RID som beräknas vid körning.
Rekommenderad åtgärd
RuntimeInformation.RuntimeIdentifier är ett täckande värde som inte är avsett att parsas i dess komponentdelar. För operativsystemversionen av den faktiska datorn som ett program körs på använder du Environment.OSVersion. För en beskrivning använder du RuntimeInformation.OSDescription. För ett specifikt ID (distribution) och motsvarande version på Linux kan du läsa os-versionsfilen .