Die Option -p
für dotnet run
ist veraltet.
-p
ist als Abkürzung für --project
veraltet, und die Verwendung von -p
generiert eine Warnung.
Diese Warnung stammt vom CLI-Parser, sodass sie in der Regel keine Fehler verursacht, wenn Warnungen als Fehler behandelt werden. Wenn Ihr Prozess jedoch MSBuild oder CI umschließt und nach dem Begriff „Warnung“ sucht, wird die Warnung in dieser Überprüfung angezeigt.
Eingeführt in Version
.NET SDK 6.0.100
Altes Verhalten
in früheren .NET-Versionen: -p
gab --project
an.
Neues Verhalten
Ab .NET 6 gibt die Übergabe von -p
an dotnet run
eine Warnung aus, die veraltet ist, und deshalb stattdessen die vollständige --project
-Option verwendet werden soll. Trotz der Warnung ist -p
immer noch eine gültige Abkürzung für --project
.
Grund für die Änderung
Wir erklären -p
für veraltet aufgrund der engen Beziehung von dotnet run
mit dotnet build
und dotnet publish
. Dieser Breaking Change ist der erste Schritt bei der Ausrichtung der Abkürzungen für diese Befehle. Weitere Informationen finden Sie unter Spezifikation zum Auflösen von „-p“ in „dotnet run“.
Empfohlene Maßnahme
Verwenden Sie --project
, wenn eine neue Warnung angezeigt wird. Wenn Sie über ein Projektargument verfügen, das =
enthält, und Sie die Abkürzung -p
verwenden, wird die Option als --property
interpretiert.
Überprüfen Sie alle Skripts, die dotnet run
verwenden, bei denen Sie die Warnung möglicherweise übersehen, wenn -p
verwendet wird.
Wenn Sie über Skripts verfügen, die dotnet run
verwenden und die Ausgabe verarbeiten, kann es zu einer Unterbrechung kommen. dotnet run
gibt in der Regel keine eigenen Ausgaben aus, wenn keine Fehler auftreten, sodass Sie nur die Ausgabe des Programms erhalten, das gerade ausgeführt wird. Wenn Sie über ein Skript oder ein anderes Programm verfügen, das dotnet run
umschließt und die Ausgabe analysiert, gibt die Warnung unerwarteten Text aus und kann zu einem Fehler führen.
Betroffene APIs
Nicht zutreffend