Compartir a través de


RuntimeIdentifier devuelve la plataforma para la que se creó el entorno de ejecución.

RuntimeInformation.RuntimeIdentifier devuelve la plataforma para la que se creó el tiempo de ejecución, en lugar de un valor calculado en tiempo de ejecución.

Comportamiento anterior

El valor era un identificador en tiempo de ejecución (RID) calculado a través de archivos o API del sistema operativo. Esto generalmente significaba que era un RID específico de la versión y específico de la distribución. Por ejemplo, al ejecutar una aplicación en Windows 11, el valor era win10-x64 o, en Ubuntu 20.04, podría ser ubuntu.20.04-x64.

Nuevo comportamiento

A partir de .NET 8, el valor es el RID para el que se creó el entorno de ejecución. Esto significa que para las compilaciones portátiles del entorno de ejecución (todas las compilaciones proporcionadas por Microsoft), el valor no es específico de la versión y no es específico de la distribución. Por ejemplo, el valor de Windows 11 es win-x64y en Ubuntu 20.04, es linux-x64. En el caso de las compilaciones no portátiles (source-build), la compilación establece un RID de compilación que puede tener una versión y una distribución, y ese valor es el RID que se devuelve.

Versión introducida

.NET 8 RC 1

Tipo de cambio disruptivo

Este es un cambio de comportamiento.

Motivo del cambio

Este cambio está en línea con un cambio de .NET 8 a una resolución de recursos específica de RID y el traslado de un tiempo de ejecución compatible con distribuciones. RuntimeInformation.RuntimeIdentifier es un valor opaco que debe representar la plataforma en la que el host o el entorno de ejecución se consideran en ejecución. En .NET 8, que corresponde a la plataforma para la que se compila el host o el entorno de ejecución, en lugar de un RID calculado en tiempo de ejecución.

RuntimeInformation.RuntimeIdentifier es un valor opaco y no está pensado para descomponerse en sus partes componentes. Para la versión del sistema operativo de la máquina real en la que se ejecuta una aplicación, use Environment.OSVersion. Para obtener una descripción, emplee RuntimeInformation.OSDescription. Para un identificador específico (distribución) y la versión correspondiente en Linux, puede leer el archivo os-release .

Las APIs afectadas

Consulte también