在 VSTS 任务中下载 NuGet 包

Posted

技术标签:

【中文标题】在 VSTS 任务中下载 NuGet 包【英文标题】:Download NuGet-package in VSTS task 【发布时间】:2018-03-02 07:44:32 【问题描述】:

我正在为 VSTS 构建自定义发布任务。我正在使用 Node 和 Typescript 构建它。在我的任务中,有什么方法可以下载 NuGet 包?像这样的:

import nuget = require('nuget-lib');
import tl = require('vsts-task-lib/task');

async function run() 
    try 
        console.log('Starting... Will try to download latest nuget.')

        const package = nuget.fetch('Microsoft.EntityFrameworkCore.Tools');
        // Do stuff with package...

        console.log('Task done!');
    
    catch (err) 
        tl.setResult(tl.TaskResult.Failed, err.message);
    


run();

我的任务需要 NuGet 包中的一些东西,我不希望将它包含在包本身中,因为如果更新了 NuGet 包,我需要更新包。

我知道我可以让我的构建步骤在工件中包含必要的包,但我希望我的发布步骤能够在没有这些依赖项的情况下运行。

【问题讨论】:

【参考方案1】:

只需在代码中调用nuget.exe install 命令,类似于NuGet 任务:VSTS-tasks/Tasks/NuGet

【讨论】:

谢谢。我试试看。 在我能够测试之前,其他东西阻碍了它。

以上是关于在 VSTS 任务中下载 NuGet 包的主要内容,如果未能解决你的问题,请参考以下文章

Azure Devops 私有构建代理在 nuget 还原任务中失败

部署包升级时VSTS Deploy Service Fabric应用程序任务超时

VSTS 发布:使用 c# NuGet 包创建发布

将 VSTS 包源添加到 NuGet 包资源管理器

Nuget 包 - 提要 (VSTS):尝试添加源时抛出异常“System.AggregateException”

如何为NuGet创建手动VSTS版本?