Udostępnij za pośrednictwem


dotnet workload zmiany danych wyjściowych poleceń

Wprowadzono zmianę w danych wyjściowych następujących poleceń:

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

Poprzednio, polecenia dotknięte problemem wygenerowały następujące dane:

  • Początkowe i końcowe linie graniczne dla niestandardowego parsowania w celu zlokalizowania ciała JSON.
  • Dowolny inny tekst rejestrowania wygenerowany przez polecenia podczas normalnego działania.
  • Ciało JSON

Teraz te polecenia generują tylko treść JSON.

Poprzednie zachowanie

Wcześniej polecenia dotnet workload, których dotyczy problem, wygenerowały dane wyjściowe podobne do następujących dla polecenia 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==

Nowe zachowanie

Począwszy od .NET 9, dotknięte polecenia dotnet workload generują dane wyjściowe podobne do następujących dla polecenia dotnet workload list --machine-readable.

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

Wersja wprowadzona

.NET 9 (wersja zapoznawcza 1)

Typ zmiany przełamującej

Ta zmiana jest zmianą behawioralną.

Przyczyna zmiany

Po zażądaniu JSON wiele produktów CLI wydaje tylko JSON. Chcieliśmy postępować zgodnie z instrukcjami, a także wyświetlać tylko dane JSON. Dzięki tej zmianie klienci korzystający z tych poleceń w swoich narzędziach nie muszą wykonywać niestandardowego analizowania. Dane wyjściowe tych poleceń można przekazać bezpośrednio do analizatora JSON zamiast logiki analizy pośredniej.

Jeśli kod wyszukuje następujący tekst początkowy i końcowy przed przeanalizowaniem kodu JSON, nie musisz już przeszukiwać danych wyjściowych dla tych granic. Zamiast tego rozważ dane wyjściowe tych poleceń jako bezpośrednią treść JSON.

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

Interfejsy API, których dotyczy problem

N/A