Share via


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'.

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

Confira também