Я пытаюсь обновить мой API с .NET Core 2.2 до 3.0, но не могу заставить Azure Web App фактически запустить приложение с использованием 3.0.
Моя конфигурация конвейера сборки:
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
variables:
buildConfiguration: 'Release'
steps:
- task: UseDotNet@2
displayName: 'Use .NET Core 3'
inputs:
version: 3.x
- script: dotnet tool install --global dotnet-ef
- script: dotnet build --configuration $(buildConfiguration)
displayName: 'dotnet build $(buildConfiguration)'
- task: efcore-migration-script-generator-task@0
inputs:
projectpath: 'Models/Models.csproj'
databasecontexts: 'DataContext'
startupprojectpath: 'Api/Api.csproj'
targetfolder: '$(build.artifactstagingdirectory)/migrations'
- script: dotnet publish --output $(Build.ArtifactStagingDirectory)
displayName: 'dotnet publish $(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
У меня есть многоэтапный конвейер выпуска, который публикует артефакт в Azure с помощью задачи Azure App Service Deploy
. Все работает без проблем
Я установил расширение предварительного просмотра, как указано здесь , и при запуске команды powershell Test-Path D:\home\SiteExtensions\AspNetCoreRuntime.3.0.x86\
возвращает true
. Я все еще вижу следующую ошибку, хотя.
ANCM не удалось найти собственные зависимости
Вернувшись в Powershell, запуск dotnet --version
и dotnet --list-runtimes
показывает, что он распознает только среды выполнения .NET Core 2, несмотря на 3.0время выполнения присутствует. Насколько я могу судить, установка расширения сайта не обновляет путь для использования новой версии dotnet
, и у задачи развертывания Azure Devops, по-видимому, нет параметров для переопределения по умолчанию. Кому-нибудь удалось развернуть приложение .NET Core 3 через конвейеры выпуска Azure Devops?