Параметр -p
для dotnet run
устарел.
-p
не рекомендуется использовать в качестве сокращения --project
, а при использовании -p
выдается предупреждение.
Это предупреждение поступает из средства синтаксического анализа CLI, поэтому оно обычно не вызывает сбои, если предупреждения обрабатываются как ошибки. Однако если процесс создает оболочку для MSBuild или CI и проверяет наличие текста "Warning", при такой проверке будет выдано предупреждение.
Представленные версии
Пакет SDK для .NET 6.0.100
Старое поведение
В предыдущих версиях .NET -p
обозначало --project
.
Новое поведение
Начиная с .NET 6 передача параметра -p
в dotnet run
вызывает предупреждение о том, что этот параметр устарел, а вместо него используется параметр --project
. Несмотря на предупреждение, -p
по-прежнему является допустимым сокращением для --project
.
Причина изменения
Мы не рекомендуем использовать -p
, так как dotnet run
близко связано с dotnet build
и dotnet publish
. Это критическое изменение является первым шагом по унификации сокращений для этих команд. Дополнительные сведения см. в статье Спецификация для разрешения "-p" в "dotnet run".
Рекомендуемое действие
При возникновении нового предупреждения используйте --project
. Если у вас есть аргумент проекта, включающий =
, а используется сокращение -p
, параметр будет интерпретирован как --property
.
Проверьте все скрипты, использующие dotnet run
, в которых можно не заметить предупреждение, если используется -p
.
Если у вас есть скрипты, использующие dotnet run
и обрабатывающие выходные данные, может возникнуть нарушение работы. Если нет ошибок, dotnet run
обычно не выводит какие-либо свои данные, поэтому вы получаете только выходные данные выполняемой программы. Если у вас есть скрипт или другая программа, которая заключает dotnet run
в оболочку и анализирует выходные данные, предупреждение будет содержать неожиданный текст и может привести к сбою.
Затронутые API
Н/П