dotnet workload příkazem změnit výstup

Ve výstupu následujících příkazů došlo ke změně:

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

Dříve měly ovlivněné příkazy následující výstup:

  • Počáteční a koncové čáry hranic pro vlastní parsování pro vyhledání textu JSON
  • Jakýkoli jiný text protokolování, který vypisují příkazy během normálního provozu.
  • Tělo JSON.

Teď tyto příkazy vypíšou pouze tělo JSON.

Předchozí chování

Dříve ovlivněné dotnet workload příkazy vytvořily výstup podobný následujícímu příkazu dotnet workload list --machine-readable:

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==

Nové chování

Počínaje rozhraním .NET 9 vytvořily ovlivněné dotnet workload příkazy výstup podobný následujícímu dotnet workload list --machine-readablepříkazu:

{"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"}]}

Verze byla představena

.NET 9 Preview 1

Typ zásadní změny

Tato změna je změna chování.

Důvod změny

Když se vyžaduje JSON, mnoho produktů CLI jenom vypíše JSON. Chtěli jsme postupovat stejně a také výstup pouze JSON. Díky této změně zákazníci, kteří tyto příkazy používají ve svých nástrojích, nevyžadují žádné vlastní analýzy. Výstup těchto příkazů můžete poslat přímo do analyzátoru JSON a obejít tím logiku zprostředkující analýzu.

Pokud váš kód hledá následující počáteční a koncové textové hranice před parsováním JSON, už nebudete muset prohledávat výstup kvůli těmto hranicím. Místo toho vezměte v úvahu výstup těchto příkazů tak, aby byl přímo textem JSON.

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

Ovlivněná rozhraní API

není k dispozici