Share via


Modifica dell'output dei comandi dotnet workload

È stata apportata una modifica nell'output dei comandi seguenti:

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

In precedenza, i comandi interessati hanno restituito quanto segue:

  • Righe di limite iniziale e finale per l'analisi personalizzata per individuare il corpo JSON.
  • Qualsiasi altro testo di registrazione restituito dai comandi durante il normale funzionamento.
  • Corpo JSON.

Ora, questi comandi generano solo l'output del corpo JSON.

Comportamento precedente

In precedenza, i comandi dotnet workload interessati hanno generato un output simile al seguente per il 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==

Nuovo comportamento

A partire da .NET 9, i comandi dotnet workload interessati hanno prodotto un output simile al seguente per il 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"}]}

Versione di introduzione

.NET 9 Anteprima 1

Tipo di modifica che causa un'interruzione

Questa è una modifica funzionale.

Motivo della modifica

Quando viene richiesto JSON, molti prodotti dell'interfaccia della riga di comando generano solo JSON. Volevamo seguire l'esempio e restituire solo JSON. Con questa modifica, i clienti che usano questi comandi negli strumenti non richiedono alcuna analisi personalizzata. È possibile inviare tramite pipe l'output di questi comandi direttamente in un parser JSON anziché nella logica di analisi intermedia.

Se il codice cerca il testo limite iniziale e finale seguente prima di analizzare JSON, non è più necessario cercare questi limiti nell'output. Prendere invece in considerazione l'output di questi comandi per essere direttamente il corpo JSON.

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

API interessate

N/D