[英]Problem in Azure DevOps pipeline restoring AutoMapper NuGet package in .net 6
當我的管道正在運行時,我收到以下錯誤消息:
包 AutoMapper.Extensions.Microsoft.DependencyInjection 8.1.1 與 net60 (.NETFramework,Version=v6.0) 不兼容。 包 AutoMapper.Extensions.Microsoft.DependencyInjection 8.1.1 支持:netstandard2.0 (.NETStandard,Version=v2.0) 一個或多個包與 .NETFramework,Version=v6.0 不兼容。)
有什么我可以在這里做的還是我需要等待 AutoMapper 團隊更新它?
從錯誤消息AutoMapper.extension package is not supported with .net 6.0 project.
因此,您可以使用兼容的AutoMapper.extension包版本 2.0 來處理 .net 6.0 項目。
由於.net 6.0項目支持netstandard2.0
包。
看起來我的情況下的錯誤與 Automapper 無關。 我必須創建一個全新的管道來解決我的問題。
經過一番研究,我決定將 NuGetCommand(NuGet-Task)替換為 DotNetCoreCli“恢復”任務。 首先,我不得不將“vmImage”從“windows-latest”切換到“windows-2022”,因為最新的似乎有幾個月的寬限期(在此處閱讀更多信息)。 就在那之前,我遇到了更多“與 net60 不兼容”的錯誤。 不僅僅是來自 AutoMapper。
這是我的 Azure DevOps Pipeline YAML,適用於所有在將管道遷移到 .NET 6 作為起點時遇到同樣困難的人。
trigger:
batch: true
branches:
include:
- main
stages:
- stage: Build_Release
pool:
vmImage: windows-2022
jobs:
- job: Build
variables:
buildConfiguration: 'Release'
solution: './SomeSolution.Name.sln'
continueOnError: false
steps:
- task: DotNetCoreCLI@2
inputs:
command: 'restore'
feedsToUse: 'config'
nugetConfigPath: '.\NuGet.config'
externalFeedCredentials: 'Telerik NuGet Connection'
- task: VSBuild@1
displayName: 'Build Solution'
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:PublishProvider=FileSystem /p:ExcludeApp_Data=False /p:DeleteExistingFiles=True /p:PublishUrl=$(Build.ArtifactStagingDirectory) /p:Configuration=$(buildConfiguration)'
configuration: '$(buildConfiguration)'
maximumCpuCount: true
createLogFile: true
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifacts'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'some-artifact-name'
publishLocation: 'Container'
編輯:刪除了 UseDotNet-Task,因為在使用 windows-2022 時似乎不需要它。 關聯
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.