Freigeben über


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

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

Siehe auch