Поделиться через


dotnet workload Изменение выходных данных команд

В выходных данных следующих команд произошло изменение:

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

Ранее затронутые команды выводили следующие команды:

  • Начальные и конечные строки границ для пользовательского синтаксического анализа для поиска текста JSON.
  • Любой другой текст ведения журнала, выводимый командами во время обычной операции.
  • Текст JSON.

Теперь эти команды выводит только текст JSON.

Прежнее поведение

Ранее затронутые dotnet workload команды создали выходные данные, аналогичные следующим командам 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==

Новое поведение

Начиная с .NET 9 затронутые dotnet workload команды произвели выходные данные, аналогичные следующим командам 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"}]}

Представленные версии

.NET 9( предварительная версия 1)

Тип критического изменения

Это изменение поведения.

Причина изменения

При запросе JSON многие продукты CLI выводят только JSON. Мы хотели следовать примеру, а также выводить только JSON. С этим изменением клиенты, использующие эти команды в своих инструментах, не требуют пользовательского синтаксического анализа. Выходные данные этих команд можно передать непосредственно в средство синтаксического анализа JSON вместо промежуточной логики синтаксического анализа.

Если код ищет следующий начальный и конечный текст границы до анализа JSON, вам больше не нужно искать выходные данные для этих границ. Вместо этого рассмотрим выходные данные этих команд непосредственно в тексте JSON.

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

Затронутые API

Н/Д