Obsługa poleceń interfejsu wiersza polecenia nativeAOT jest domyślnie włączona

Począwszy od .NET 11, interfejs wiersza polecenia zestawu SDK .NET domyślnie umożliwia obsługę szybkiej ścieżki na wszystkich platformach przy użyciu poleceń nativeAOT. Ta ścieżka jest kontrolowana przez zmienną DOTNET_CLI_ENABLEAOT środowiskową, której domyślne zmiany z wyłączone na włączone. Typowe dotnet wywołania, takie jak analizowanie wiersza polecenia, --version--info, i rosnący zestaw wbudowanych i zewnętrznych poleceń, są obsługiwane przez natywny punkt wejścia, który przezroczystie wraca do zarządzanego interfejsu wiersza polecenia dla wszystkich elementów, które nie są obsługiwane.

Wersja wprowadzona

.NET 11 (wersja zapoznawcza 7)

Poprzednie zachowanie

Wcześniej szybka ścieżka interfejsu wiersza polecenia NativeAOT była domyślnie wyłączona na wszystkich platformach. Chyba że DOTNET_CLI_ENABLEAOT jawnie ustawiono wartość prawda (true, 1, yeslub on), każde dotnet wywołanie zostało obsłużone przez zarządzany interfejs wiersza polecenia.

Nowe zachowanie

Począwszy od .NET 11, szybka ścieżka interfejsu wiersza polecenia NativeAOT jest domyślnie włączona na wszystkich platformach (Windows, macOS i Linux). Obsługiwane polecenia są obsługiwane natywnie, a wszystkie nieobsługiwane w sposób przezroczysty wracają do zarządzanego interfejsu wiersza polecenia. Aby zrezygnować i skierować każdą wywołanie do zarządzanego interfejsu wiersza polecenia, ustaw DOTNET_CLI_ENABLEAOT wartość fałszowania: false, , 0nolub off.

Typ zmiany przełamującej

Ta zmiana jest zmianą behawioralną.

Przyczyna zmiany

Teraz, gdy natywna ścieżka obsługi poleceń osiągnęła równoważność z zarządzanym interfejsem wiersza polecenia, włączenie go domyślnie zapewnia szerokie testowanie w świecie rzeczywistym i poprawia wydajność uruchamiania interfejsu wiersza polecenia dla typowych poleceń.

Ścieżka natywna ma być behawioralnie identyczna z zarządzanym interfejsem wiersza polecenia i nie powinna wymagać żadnej akcji. Jeśli zauważysz różnicę w zachowaniu, ustaw zmienną środowiskową DOTNET_CLI_ENABLEAOT=false (lub 0, nolub off) w celu rezygnacji i kierowania wszystkich wywołań do zarządzanego interfejsu wiersza polecenia. Zgłoś różnicę na https://github.com/dotnet/sdk/issuesstronie .

Interfejsy API, których dotyczy problem

None.