首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘要跳过的'Allow重复项’警告和NuGet推到Azure DevOps服务器上的409错误

‘要跳过的'Allow重复项’警告和NuGet推到Azure DevOps服务器上的409错误
EN

Stack Overflow用户
提问于 2019-07-01 11:18:13
回答 3查看 4.6K关注 0票数 5

在运行在WindowsServer2019代理上的Azure DevOps服务器(版本2019.0.1)中,为NuGet push任务选择了“允许重复项被跳过”选项,将显示警告:

“允许重复被跳过”选项目前只能在Azure管道上使用。如果NuGet.exe遇到冲突,任务将失败。

该任务将导致以下错误,导致任务失败,指示应用上述警告:

响应状态代码并不表示成功: 409 (冲突-提要已经包含'MyPackage X.Y.Z‘。(DevOps活性ID: 1A57312F-3C56-4E4D-9E78-73C7072A288F)。

我想知道这个问题对于Azure DevOps服务器(而不是Azure DevOps服务)是特殊的,还是我做错了什么,或者是否有其他的解决办法。我注意到其他人在另一个问题上也有来自this comment的问题,在有人问到如何忽略错误409 (重复包)之后,这个选项是可用的。

我想使用NuGet任务忽略重复的包,理想情况下,可以跳过DevOps服务器上的“允许重复”选项。我知道可以使用脚本来解决这个问题,但如果可能的话,我更愿意避免这种情况。任何帮助都很感激。

EN

回答 3

Stack Overflow用户

发布于 2019-07-01 16:27:50

我不知道Azure DevOps任务,但是如果升级到nuget.exe 5.1,可以使用新的 option。这应该适用于任何正确实现NuGet协议的NuGet服务器以及任何CI服务器/代理。

票数 4
EN

Stack Overflow用户

发布于 2020-04-22 07:59:44

如果使用的是NuGetCommand@2 Azure管道任务,则可以使用allowPackageConflicts参数。

allowPackageConflicts 它允许任务报告成功,即使您的一些包被拒绝与409冲突错误。此选项目前仅适用于Azure管道并使用Windows代理。如果NuGet.exe遇到冲突,任务将失败。此选项将不起作用,如果您在代理环境中,则发布将失败。

- https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/package/nuget

票数 4
EN

Stack Overflow用户

发布于 2019-11-10 09:07:32

如果您切换到azure管道(这似乎是一种新的方法),您可以使用dotnet命令。--skip-duplicate选项将在DotNetCore3.1(仍在预览中)中用于dotnet nuget push命令(无需使用NuGet命令,因为它已经在dotnet中可用)。但是,如果安装了最新的.NET核心,现在就可以使用它了。

例如,这一阶段将获取特定文件夹中的任何nuGet,安装支持跳过复制的最新dotnet核心并将其推送到存储库提要。

代码语言:javascript
复制
- stage:
  displayName: 'Release'
  condition: succeeded()
  jobs:
    - job: 'Publish'
      displayName: 'Publish nuGet Package'
      steps:
        - download: current
          artifact: $(PIPELINE_ARTIFACT_NAME)
          displayName: 'Download pipeline artifact'
        - script: ls $(PATH_PIPELINE_ARTIFACT_NAME)
          displayName: 'Display contents of downloaded articacts path'
        - task: NuGetAuthenticate@0
          displayName: 'Authenticate in NuGet feed'
        - task: UseDotNet@2
          displayName: 'Use .NET Core sdk 3.1 (preview)'
          inputs:
            packageType: sdk
            version: '3.1.100-preview2-014569'
            installationPath: $(Agent.ToolsDirectory)/dotnet
        - script: dotnet nuget push $(PATH_PIPELINE_ARTIFACT_NAME)/**/*.nupkg --source $(NUGET_FEED) --api-key $(NUGET_API_KEY) --skip-duplicate
          displayName: 'Uploads nuGet packages'
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56834744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档