如何从Azure Devops管道中的另一个软件包源安装nuget软件包?

时间:2020-05-11 02:52:26

标签: .net azure nuget devops

我正在尝试在azure上运行一些API测试,以前已经能够运行我的工件,但是此特定任务需要一个不在软件包源中的软件包:nuget.org,它是来自我工作的公司,所以当我运行管道时,会收到以下消息:

##[error]The nuget command failed with exit code(1) and error(NU1101: Unable to find package: name of package

在创建项目时遇到了这个问题,所以我不得不添加包源,如何在管道上做到这一点?

3 个答案:

答案 0 :(得分:0)

您可以在解决方案级别放置nuget.config file,以列出软件包的来源,例如

[{link=456, title=123}]
[{"link":"456","title":"123"}]

请注意,这也适用于Visual Studio(如果通过VS Tools菜单手动添加,则应该能够删除额外的程序包源。)

然后视您的.net风格而定,只是在构建之前先恢复软件包,例如DotNetCoreCLI@2(命令:restore feedsToUse:'config')或NuGetCommand@2(命令:恢复feedsToUse:“ config”)。

答案 1 :(得分:0)

如果您要讨论的软件包是您创建的自定义软件包,则需要先将nuget软件包推送到Azure Artifact,然后可以配置Azure DevOps管道以从Azure Artifact还原该软件包。

答案 2 :(得分:0)

假设您使用天蓝色devops的问题标签,则必须在yaml文件中设置恢复任务,如下所示:

- task: DotNetCoreCLI@2
  displayName: 'Restore Nuget Packages'
  inputs:
    command: 'restore'
    projects: '**/*.csproj'
    feedsToUse: 'select'
    vstsFeed: '<your key>'