Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описываются новые функции и улучшения пакета SDK для .NET для .NET 10. Оно обновлено для предварительной версии 5.
Очистка ссылок на пакеты, предоставляемые платформой
Начиная с .NET 10 функция аудита NuGet теперь может обрезать ссылки на пакеты, предоставляемые платформой , которые не используются проектом. Эта функция включена по умолчанию для всех net
целевых платформ (например, net8.0
и net10.0
) и .NET Standard 2.0 и более больших целевых платформ. Это изменение помогает уменьшить количество пакетов, которые восстанавливаются и анализируются во время процесса сборки, что может привести к более быстрому времени сборки и сокращению использования дискового пространства. Это также может привести к уменьшению количества ложных срабатываний при аудите NuGet и использовании других механизмов проверки зависимостей.
Если эта функция включена, может появиться сокращение содержимого созданных .deps.json файлов приложений. Все ссылки на пакеты, предоставленные средой выполнения .NET, автоматически удаляются из созданного файла зависимостей.
Хотя эта функция включена по умолчанию для перечисленных TFM, её можно отключить, установив значение RestoreEnablePackagePruning
для свойства false
в файле проекта или в файле Directory.Build.props.
Более согласованный порядок команд
Начиная с .NET 10, dotnet
средство CLI включает новые псевдонимы для распространенных команд, чтобы упростить их запоминать и вводить. Новые команды показаны в следующей таблице.
Новая форма с приоритетом существительного | Псевдоним для |
---|---|
dotnet package add |
dotnet add package |
dotnet package list |
dotnet list package |
dotnet package remove |
dotnet remove package |
dotnet reference add |
dotnet add reference |
dotnet reference list |
dotnet list reference |
dotnet reference remove |
dotnet remove reference |
Новые формы с приоритетом существительного соответствуют общим стандартам CLI, что делает dotnet
более согласованным с другими инструментами. Хотя глагольные формы продолжают работать, лучше использовать формы с существительными для улучшения читаемости и согласованности в скриптах и документации.
Команды CLI по умолчанию для интерактивного режима в интерактивных терминалах
Теперь --interactive
флаг включен по умолчанию для команд CLI в интерактивных терминалах. Это изменение позволяет командам динамически извлекать учетные данные или выполнять другие интерактивные действия, не требуя явного задания флага. Для неинтерактивных сценариев можно отключить интерактивность, указав --interactive false
.
Скрипты встроенного автодополнения оболочки по клавише Tab
Теперь dotnet
интерфейс командной строки поддерживает создание собственных скриптов завершения вкладок для популярных оболочк с помощью dotnet completions generate [SHELL]
команды. Поддерживаемые оболочки включают bash
, fish
, nushell
, powershell
и zsh
. Эти сценарии повышают удобство использования, предоставляя более быстрые и более интегрированные функции завершения вкладок. Например, в PowerShell можно включить автозаполнение, добавив следующее в $PROFILE
:
dotnet completions script pwsh | out-String | Invoke-Expression -ErrorAction SilentlyContinue
Консольные приложения могут создавать образы контейнеров в собственном коде
Консольные приложения теперь могут создавать образы контейнеров через dotnet publish /t:PublishContainer
, без необходимости в свойстве <EnableSdkContainerSupport>
в файле проекта. Это обеспечивает соответствие поведения консольных приложений поведениям приложений ASP.NET Core и Worker SDK.
Явное управление форматом изображений контейнеров
Новое <ContainerImageFormat>
свойство позволяет явно задать формат образов контейнеров либо Docker
, или OCI
. Это свойство переопределяет поведение по умолчанию, которое зависит от формата базового образа и того, является ли контейнер многоархитектурным.
Поддержка платформы тестирования Майкрософт в dotnet test
Начиная с .NET 10, dotnet test
изначально поддерживает Microsoft.Testing.Platform. Чтобы включить эту функцию, добавьте следующую конфигурацию в файл dotnet.config :
[dotnet.test.runner]
name = "Microsoft.Testing.Platform"
Дополнительные сведения см. в разделе "Тестирование с помощью dotnet test
".