Мое приложение обновлено до .NET 8. Возникла ошибка в конвейере Azure. YAML выглядит так
steps:
- task: UseDotNet@2
displayName: 'Install .NET Core runtime'
inputs:
packageType: "runtime"
version: "8.0.6"
- task: UseDotNet@2
displayName: "Using DotNet@2"
inputs:
packageType: "sdk"
version: "8.0.302"
- task: DotNetCoreCLI@2
displayName: "Install dotnet format"
inputs:
command: "custom"
custom: "tool"
arguments: "update -g dotnet-format"
- task: DotNetCoreCLI@2
displayName: "Lint dotnet"
inputs:
command: "custom"
custom: "format"
arguments: "--check --verbosity diagnostic"
workingDirectory: backend
Каждая задача выполнена успешно, но возникает ошибка, показанная ниже:
Срок службы .NET Core SDK/среды выполнения 2.2 и 3.0 истек (EOL) и удален из всех размещенных агентов..... /opt/hostedtoolcache/dotnet/dotnet format --check --verbosity Diagnostic
Необработанное исключение: System.IO.FileNotFoundException: файл «--check» не является допустимым файлом проекта или решения.
Что вызывает проблему? Я что-то пропустил?
Согласно выпуску GitHub № 30102, --check
заменен на --verify-no-changes
.
Чтобы убедиться, что весь код отформатирован правильно, запустите:
dotnet format --verify-no-changes
Это должно исправить вашу задачу:
- task: DotNetCoreCLI@2
displayName: "Lint dotnet"
inputs:
command: "custom"
custom: "format"
arguments: "--verify-no-changes --verbosity diagnostic"
workingDirectory: backend
Более подробную информацию и примеры см. в документации по командам формата dotnet.
Спасибо. Это решило проблему. Однако начал получать другую ошибку, отличную от этой. Публикуем для этого отдельный вопрос.
.NET Core SDK/runtime 2.2 and 3.0 are now End of Life...
— это просто предупреждение, которое отображается при использовании задачиDotNetCoreCLI@2
в агентах, размещенных в Microsoft, поэтому беспокоиться не о чем.