繁体   English   中英

"Azure DevOps 管道中的问题在 .net 6 中恢复 AutoMapper NuGet 包"

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM