Partilhar via


dotnet workload comandos de saída de alteração

Houve uma alteração na saída dos seguintes comandos:

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

Anteriormente, os comandos afetados produziam o seguinte:

  • Linhas de limite inicial e final para análise personalizada para localizar o corpo JSON.
  • Qualquer outro texto de registro que os comandos produziram durante a operação normal.
  • O corpo JSON.

Agora, esses comandos só produzem o corpo JSON.

Comportamento anterior

Anteriormente, os comandos afetados dotnet workload produziam uma saída semelhante à seguinte para o comando 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==

Novo comportamento

A partir do .NET 9, os comandos afetados dotnet workload produziram uma saída semelhante à seguinte para o comando 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"}]}

Versão introduzida

.NET 9 Visualização 1

Tipo de mudança de rutura

Esta mudança é uma mudança comportamental.

Razão para a alteração

Quando JSON é solicitado, muitos produtos CLI só produzem JSON. Queríamos seguir o exemplo e também produzir apenas JSON. Com essa alteração, os clientes que usam esses comandos em suas ferramentas não precisam de nenhuma análise personalizada. Você pode canalizar a saída desses comandos diretamente para um analisador JSON em vez da lógica de análise intermediária.

Se o seu código procurar o seguinte texto de limite inicial e final antes de analisar JSON, você não precisará mais pesquisar esses limites na saída. Em vez disso, considere que a saída desses comandos seja diretamente o corpo JSON.

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

APIs afetadas

N/A