A opção -p
do dotnet run
foi preterida
-p
foi preterida como abreviação de --project
e o uso de -p
gera um aviso.
Esse aviso vem do analisador da CLI, portanto, não deverá causar falhas quando os avisos forem tratados como erros. No entanto, se o processo encapsular o MSBuild ou a CI e verificar se há o texto "Aviso", o aviso aparecerá nessa verificação.
Versão introduzida
SDK do .NET 6.0.100
Comportamento antigo
Em versões anteriores do .NET, -p
indicava --project
.
Novo comportamento
Do .NET 6 em diante, a passagem de -p
para dotnet run
resulta em um aviso de que ela foi preterida e que a opção completa --project
deve ser usada. Apesar do aviso, -p
ainda é uma abreviação válida para --project
.
Motivo da alteração
Estamos preterindo -p
por causa da relação próxima que dotnet run
tem com dotnet build
e dotnet publish
. Essa alteração interruptiva é a primeira etapa para alinhar as abreviações desses comandos. Para obter mais informações, confira Especificação para resolver '-p' no 'dotnet run'.
Ação recomendada
Se você encontrar o novo aviso, use --project
. Se você tiver um argumento de projeto que inclua um =
e usar a abreviação -p
, a opção será interpretada como --property
.
Examine todos os scripts que usam dotnet run
em que você possa ignorar o aviso em caso de uso de -p
.
Se você tiver scripts que estejam usando dotnet run
e processar a saída, poderá haver uma interrupção. dotnet run
não costuma gerar nada quando não há erros, portanto, você só obtém a saída do programa que está sendo executado. Se você tiver um script ou outro programa que encapsule dotnet run
e analise a saída, o aviso será um texto inesperado e poderá causar falha.
APIs afetadas
N/D