Control de comandos de la CLI de NativeAOT habilitado de forma predeterminada

A partir de .NET 11, la CLI del SDK de .NET habilita su ruta de acceso rápida de control rápido compilado por NativeAOT de forma predeterminada en todas las plataformas. Esta ruta de acceso se controla mediante la DOTNET_CLI_ENABLEAOT variable de entorno, cuyos cambios predeterminados de deshabilitados a habilitados. Las invocaciones comunes dotnet , como el análisis de línea de comandos, --version, --infoy un conjunto creciente de comandos integrados y externos, se controlan mediante un punto de entrada nativo que vuelve de forma transparente a la CLI administrada para cualquier cosa que no controle.

Versión introducida

.NET 11 Preview 7

Comportamiento anterior

Anteriormente, la ruta de acceso rápida de la CLI de NativeAOT estaba desactivada de forma predeterminada en todas las plataformas. A menos que DOTNET_CLI_ENABLEAOT se establezca explícitamente en un valor de verdad (true, 1, yeso on), cada dotnet invocación se controló mediante la CLI administrada.

Nuevo comportamiento

A partir de .NET 11, la ruta de acceso rápida de la CLI de NativeAOT está activada de forma predeterminada en todas las plataformas (Windows, macOS y Linux). Los comandos admitidos se controlan de forma nativa y todo lo que no se admite de forma transparente vuelve a la CLI administrada. Para rechazar y enrutar cada invocación a la CLI administrada, establezca DOTNET_CLI_ENABLEAOT en un valor falso: false, 0, noo off.

Tipo de cambio disruptivo

Este es un cambio de comportamiento.

Motivo del cambio

Ahora que la ruta de acceso nativa de control de comandos ha alcanzado la paridad con la CLI administrada, habilitarla de forma predeterminada proporciona pruebas generales del mundo real y mejora el rendimiento de inicio de la CLI para comandos comunes.

La ruta de acceso nativa está diseñada para ser idéntica al comportamiento de la CLI administrada y no debe requerir ninguna acción. Si observa una diferencia en el comportamiento, establezca la variable DOTNET_CLI_ENABLEAOT=false de entorno (o 0, noo off) para excluir y enrutar todas las invocaciones a la CLI administrada. Notifique la diferencia en https://github.com/dotnet/sdk/issues.

Las APIs afectadas

None.