RuntimeIdentifier restituisce la piattaforma per cui è stato compilato il runtime
RuntimeInformation.RuntimeIdentifier restituisce la piattaforma per la quale è stato compilato il runtime, anziché un valore calcolato in fase di esecuzione.
Comportamento precedente
Il valore è un identificatore di runtime (RID) calcolato tramite file del sistema operativo o API. Questo significava in genere un RID specifico della versione e della distribuzione. Ad esempio, quando si esegue un'applicazione in Windows 11, il valore è stato win10-x64
o, in Ubuntu 20.04, potrebbe essere ubuntu.20.04-x64
.
Nuovo comportamento
A partire da .NET 8, il valore è il RID per cui è stato compilato il runtime. Ciò significa che per le build portabili del runtime (tutte le build fornite da Microsoft), il valore non è specifico per la versione e non specifico per la distribuzione. Ad esempio, il valore in Windows 11 è win-x64
e in Ubuntu 20.04 è linux-x64
. Per le build non portabili (build di origine), la build imposta un RID build che può avere una versione e una distribuzione e tale valore è il RID restituito.
Versione introdotta
.NET 8 RC 1
Tipo di modifica che causa un'interruzione
Questa è una modifica funzionale.
Motivo della modifica
Questa modifica è in linea con una modifica di .NET 8 per la risoluzione degli asset specifica del RID e lo spostamento da un runtime compatibile con la distribuzione. RuntimeInformation.RuntimeIdentifier è un valore opaco che deve rappresentare la piattaforma in cui l'host o il runtime considera di essere in esecuzione. In .NET 8, che corrisponde alla piattaforma per la quale viene compilato l'host o il runtime, anziché un RID calcolato in fase di esecuzione.
Azione consigliata
RuntimeInformation.RuntimeIdentifier è un valore opaco e non deve essere analizzato nelle parti del componente. Per la versione del sistema operativo del computer effettivo in cui è in esecuzione un'applicazione, usare Environment.OSVersion. Per una descrizione, usare RuntimeInformation.OSDescription. Per un ID specifico (distribuzione) e la versione corrispondente in Linux, è possibile leggere il file versione del sistema operativo.