从私有nuget提要下载所有软件包

时间:2018-07-16 08:16:06

标签: c# nuget nuget-package

我想从我的私人nuget feed中下载所有版本的所有软件包。 而已。在使用Powershell,bash,程序包管理器方面,我没有任何问题。

我不能使用占位符项目-引用所有软件包并复制缓存,因为我需要所有版本。

有什么主意吗?

我正在处理一个私人的nuget-feed。提要有点破了,但是我没办法解决。所以我必须走这条路...

3 个答案:

答案 0 :(得分:3)

使用PowerShell,您可以执行以下操作:

'None'
'None'
['fruit','green groceries']
'None'
'None'
'None'
['dry food', 'staples', 'legumes']
'None'
'None'
['dairy']

该命令将在源Local中找到所有名称类似于“ Package_Name”的软件包版本(必须在NuGet.config中指定),并将它们安装到“ C:\ SOME_PATH”文件夹中。要从源中获取所有软件包,请删除>Find-Package -Name='Package_Name' -AllVersions -Source Local | Install-Package -Destination 'C:\SOME_PATH' 参数。

然后,您可以从自己的文件夹中获取每个.nupkg文件。

答案 1 :(得分:3)

我在这里创建了一个更好的PowerShell,可以下载所有版本的所有软件包

Find-Package -AllVersions -Source NuGet-Source | ForEach-Object {
Install-Package -Name $_.Name -MaximumVersion $_.Version -Destination 'C:\Temp\Nuget\' -Source NuGet-Source -SkipDependencies

}

答案 2 :(得分:0)

如果你只是想下载,那么save-package比install-package更合适

此脚本将所有 nuget 包从 nuget 服务器 (NuGet-Source) 保存到当前目录中

Find-Package -AllVersions -Source NuGet-Source | ForEach-Object {
  Save-Package -Name $_.Name -RequiredVersion $_.Version -Source NuGet-Source -Path '.'
}