Freigeben über


Ausgabeänderung bei den dotnet workload-Befehlen

Die Ausgabe der folgenden Befehle hat sich geändert:

  • dotnet workload list --machine-readable
  • dotnet workload install --print-download-link-only
  • dotnet workload update --print-download-link-only
  • dotnet workload update --print-rollback

Zuvor haben die betroffenen Befehle Folgendes ausgegeben:

  • Start- und Endbegrenzungslinien für die benutzerdefinierte Analyse, um den JSON-Text zu finden.
  • Alle anderen Protokollierungstexte, die von den Befehlen während des normalen Vorgangs ausgegeben wurden
  • Der JSON-Datenkörper.

Jetzt geben diese Befehle nur den JSON-Textkörper aus.

Vorheriges Verhalten

Zuvor haben die betroffenen dotnet workload Befehle eine ähnliche Ausgabe wie folgt für den Befehl dotnet workload list --machine-readableerzeugt:

Failed to update the advertising manifest microsoft.net.sdk.tvos: Unable to load the service index for source https://REDACTED/index.json..
Failed to update the advertising manifest microsoft.net.sdk.android: Unable to load the service index for source https://REDACTED/index.json..
Failed to update the advertising manifest microsoft.net.sdk.maui: Unable to load the service index for source https://REDACTED/index.json..
Failed to update the advertising manifest microsoft.net.workload.emscripten: Unable to load the service index for source https://REDACTED/index.json..
Failed to update the advertising manifest microsoft.net.sdk.macos: Unable to load the service index for source https://REDACTED/index.json..
Failed to update the advertising manifest microsoft.net.sdk.maccatalyst: Unable to load the service index for source https://REDACTED/index.json..
Failed to update the advertising manifest microsoft.net.sdk.ios: Unable to load the service index for source https://REDACTED/index.json..
Failed to update the advertising manifest microsoft.net.workload.mono.toolchain: Unable to load the service index for source https://REDACTED/index.json..
==workloadListJsonOutputStart==
{"installed":["macos","ios"],"updateAvailable":[{"existingManifestVersion":"12.0.101-preview.10.249","availableUpdateManifestVersion":"12.0.101-preview.10.251","description":".NET SDK Workload for building macOS applications.","workloadId":"macos"},{"existingManifestVersion":"15.0.101-preview.9.31","availableUpdateManifestVersion":"15.0.101-preview.10.251","description":".NET SDK Workload for building iOS applications.","workloadId":"ios"}]}
==workloadListJsonOutputEnd==

Neues Verhalten

Ab .NET 9 haben die betroffenen dotnet workload Befehle eine ähnliche Ausgabe wie folgt für den Befehl dotnet workload list --machine-readableerzeugt:

{"installed":["macos","ios"],"updateAvailable":[{"existingManifestVersion":"12.0.101-preview.10.249","availableUpdateManifestVersion":"12.0.101-preview.10.251","description":".NET SDK Workload for building macOS applications.","workloadId":"macos"},{"existingManifestVersion":"15.0.101-preview.9.31","availableUpdateManifestVersion":"15.0.101-preview.10.251","description":".NET SDK Workload for building iOS applications.","workloadId":"ios"}]}

Eingeführte Version

.NET 9 Preview 1

Art der einschneidenden Änderung

Diese Änderung ist eine Verhaltensänderung.

Grund für Änderung

Wenn JSON angefordert wird, geben viele CLI-Produkte nur JSON aus. Wir wollten den Anforderungen folgen und auch nur JSON ausgeben. Bei dieser Änderung benötigen Kunden, die diese Befehle in ihren Tools verwenden, keine benutzerdefinierte Analyse. Sie können die Ausgabe dieser Befehle direkt in einen JSON-Parser statt in eine zwischengeschaltete Analyselogik umleiten.

Wenn Ihr Code vor dem Analysieren von JSON nach dem folgenden Start- und End-Begrenzungstext sucht, müssen Sie die Ausgabe nicht mehr nach diesen Begrenzungen durchsuchen. Die Ausgabe dieser Befehle ist stattdessen direkt der JSON-Textkörper.

  • ==workloadListJsonOutputStart==/==workloadListJsonOutputEnd==
  • ==allPackageLinksJsonOutputStart==/==allPackageLinksJsonOutputEnd==
  • ==workloadRollbackDefinitionJsonOutputStart==/==workloadRollbackDefinitionJsonOutputEnd==

Betroffene APIs

Nicht verfügbar