首页 > 编程语言 >使用C#代码下载.nupkg 包

使用C#代码下载.nupkg 包

时间:2023-01-08 15:55:05浏览次数:37  
标签:downloadFolder nupkg package C# 代码 settings downloadResult var new

代码:

 1         public static async Task DownloadAsync(string packageId, string version)
 2         {
 3             var package = new PackageIdentity(packageId, NuGetVersion.Parse(version));
 4 
 5             var settings = Settings.LoadDefaultSettings(null);
 6             var globalFolder = SettingsUtility.GetGlobalPackagesFolder(settings);
 7 
 8             var logger = NullLogger.Instance;
 9             var cancelToken = CancellationToken.None;
10 
11             var sourceRepositoryProvider = new SourceRepositoryProvider(settings, Repository.Provider.GetCoreV3());
12             var downloadFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Download");
13             using (var cacheContext = new SourceCacheContext())
14             {
15                 var downloadContext = new PackageDownloadContext(cacheContext, downloadFolder, true);
16 
17                 var repositories = sourceRepositoryProvider.GetRepositories();
18                 foreach (var repository in repositories)
19                 {
20                     var downloadResult = await PackageDownloader.GetDownloadResourceResultAsync(repository,
21                                                                                                 package,
22                                                                                                 downloadContext,
23                                                                                                 globalFolder,
24                                                                                                 logger,
25                                                                                                 cancelToken);
26 
27                     if (downloadResult != null)
28                     {
29                         var downloadFile = $@" {downloadFolder} \ {package.Id} . {package.Version} .nupkg";
30 
31                         using (var fileStream = File.Create(downloadFile))
32                         {
33                             downloadResult.PackageStream.Seek(0, SeekOrigin.Begin);
34                             await downloadResult.PackageStream.CopyToAsync(fileStream);
35                         }
36 
37                         break;
38                     }
39                 }
40             }
41         }

 

标签:downloadFolder,nupkg,package,C#,代码,settings,downloadResult,var,new
From: https://www.cnblogs.com/smartisn/p/17034770.html

相关文章

  • JavaScript-删除节点,克隆节点,注册事件,删除事件
    JavaScript-删除节点,克隆节点,注册事件,删除事件目录JavaScript-删除节点,克隆节点,注册事件,删除事件5.节点操作5.5删除节点5.6复制节点(克隆节点)5.8三种动态创建元素......
  • 查看centos7系统资源使用情况
    1. df-h 2.uptime3.free-h4.vmstat5.top6.ps-aux--sort-pcpu|less  ps-aux--sort-pmem|less7.ps-ef|grepjava8.iostat------------......
  • sobel、scharr和laplacian算子
    sobel算子:1:如何获取图像的轮廓(边缘)?梯度计算=图像膨胀-图像腐蚀(效果差)sobel=已数个像素【如3*3】为最小单位,进行x轴,y轴运算,得出色差,同时色差是负数,需要提高深度,但是展示时......
  • CentOS Stream 8 离线安装ansible 4.2.0
    首先在一个Online的CentOSStream8上把需要的安装包下载下来,然后再拷贝到离线的主机上进行安装。下载工具推荐用pythonpip来下载,这样在安装的时候也用pip来安装就很......
  • canny边缘检测
    (1):高斯滤波(平滑图像消除噪点)(2):使用算子计算梯度强度(计算像素点的梯度强度和方向)(3):使用非极大值抑制(Non-MaximumSuppression),消除边缘检测带来的杂散响应(如:一张人脸检测出现多......
  • One Bamboo Contest Round #12(Clone from 2020 ICPC Shenyang)
    G.TheWitchwood签到#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;intread(){intx=0,ch=getchar();while(ch<'0'||c......
  • ASP.NET Core中间件
    中间件是ASP.NETCore的核心组件,MVC框架、相应缓存、身份验证、CORS、Swagger等都是内置中间件中间件的三个概念Map、Use和Run。Map用来定义一个管道可以处理哪些请求Use和......
  • String.replaceAll(".", "\\")的全替换
    publicstaticvoidmain(String[]args){Strings="com.yc";s=s.replaceAll(".","/");} 需要变成com/yc   但结果是s="/////......
  • The first week match's mistake-2
    旋转排列(https://www.luogu.com.cn/problem/B3688)解读一下题目:要求从给定的数组拿出最后一个数字后看看变化后的数组的最后一个数字是否是要求的数字想到用栈和队再......
  • AcWing杯 第 84 场周赛
    A.最大数量签到,用了结构化绑定#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;intread(){...}int32_tmain(){intn=read();map......