Обработка команд NativeAOT CLI, включенная по умолчанию

Начиная с .NET 11, интерфейс командной строки ПАКЕТА SDK для .NET позволяет выполнять быструю обработку команд NativeAOT по умолчанию на всех платформах. Этот путь управляется переменной DOTNET_CLI_ENABLEAOT среды, значение по умолчанию которой изменяется отключено на включенное. Распространенные dotnet вызовы, такие как синтаксический анализ командной строки, --info--versionи растущий набор встроенных и внешних команд, обрабатываются собственной точкой входа, которая прозрачно возвращается в управляемый интерфейс командной строки для всего, что он не обрабатывает.

Представленная версия

.NET 11 предварительная версия 7

Предыдущее поведение

Ранее быстрый путь cli NativeAOT был отключен по умолчанию на всех платформах. Если DOTNET_CLI_ENABLEAOT не было явно задано значение истинности (true,, 1yesилиon), каждое dotnet вызов было обработано управляемым интерфейсом командной строки.

Новое поведение

Начиная с .NET 11 быстрый путь к cli NativeAOT включен по умолчанию на всех платформах (Windows, macOS и Linux). Поддерживаемые команды обрабатываются в собственном коде, и все неподдерживаемые прозрачно возвращаются к управляемому интерфейсу командной строки. Чтобы отказаться от каждого вызова в управляемом интерфейсе командной строки, задайте DOTNET_CLI_ENABLEAOT значение фальсии: false, , 0noили off.

Тип разрушающего изменения

Это изменение поведения.

Причина изменения

Теперь, когда собственный путь обработки команд достиг четности с управляемым интерфейсом командной строки, включение его по умолчанию обеспечивает широкое реальное тестирование и улучшает производительность запуска CLI для распространенных команд.

Собственный путь предназначен для поведения, идентичного управляемому интерфейсу командной строки и не должен требовать никаких действий. Если вы наблюдаете разницу в поведении, задайте переменную DOTNET_CLI_ENABLEAOT=false среды (или0no, или, илиoff), чтобы отказаться от всех вызовов в управляемый интерфейс командной строки. Сообщите о разнице https://github.com/dotnet/sdk/issuesв .

Затронутые API

None.