如何托管自己的nuget v3订阅源?
我的组织有几个nuget v2订阅源(.net app consuming nuget.server),用于我们内部开发的软件包和重新托管第三方软件包(因为我们的构建机器没有internet访问,我们审计开发者在我们的产品中使用的软件包,如果我们没有软件包,我们希望构建失败)如何托管自己的nuget v3订阅源?,nuget,nuget-server,Nuget,Nuget Server,我的组织有几个nuget v2订阅源(.net app consuming nuget.server),用于我们内部开发的软件包和重新托管第三方软件包(因为我们的构建机器没有internet访问,我们审计开发者在我们的产品中使用的软件包,如果我们没有软件包,我们希望构建失败) 每当我将任何需要nuget client 3.0+的包添加到我的nuget服务器时,nuget服务器就会崩溃,因为它无法从这些包中读取元数据。如何托管自己的nuget v3服务器/升级现有的nuget服务器以使其与v3兼容
每当我将任何需要nuget client 3.0+的包添加到我的nuget服务器时,nuget服务器就会崩溃,因为它无法从这些包中读取元数据。如何托管自己的nuget v3服务器/升级现有的nuget服务器以使其与v3兼容?我也遇到过同样的问题,并做了一些研究。你可能已经解决了你的问题,但在这里NuGet自己列出了一些备选方案;免费和付费: 简言之,清单是
- VisualStudio团队服务
- MyGet
- 伊内多氏症
- JFrog人工制品厂
- NuGet服务器
- 索纳型连接
Install-Package NuGet.Server
最近,我在Visual Studio中的包管理器中为.Net 4.5.x编写了一个新的空web应用程序。我编写了一个nuget server aspnetcore中间件 当然,实施是如此愚蠢、丑陋等等。。。 您可以在Startup.cs中进行设置
public void配置服务(IServiceCollection服务)
{
...
services.AddNugetServer(opt=>
{
opt.ApiKey=“这是用于添加或删除包的字符串”;
opt.PackageDirectory=“/path/to/your/packages”;//默认值为当前路径+“/packages”
});
...
}
公共无效配置(IApplicationBuilder应用程序,IHostingEnvironment环境)
{
...
app.UseNugetServer();
}
并访问http://您的服务器地址[:端口]/v3/index.json
出版:
dotnet nuget push-s http(s)://您的服务器地址[:port]/v3/package package.nupkg
我检查了一些产品,我最喜欢的是Azure DevOps服务
✅ 免费(包括2GB存储)✅ 支持符号
✅ 网站与搜索 目前没有稳定的发布版本(2019年9月) ✅ 免费
✅ 支持符号
✅ 网站与搜索 ✅ 免费
❌ 支持符号
❌ 网站与搜索 ❌ 免费
✅ 支持符号
✅ 网站与搜索 ❌ 免费
✅ 支持符号
✅ 网站与搜索 ❌ 免费
✅ 支持符号
✅ 网站与搜索 ❌ 免费
❌ 支持符号
✅ 网站与搜索 迁移脚本
$source = "http://oldnuget-server.mydomain.com/nuget"
$destination = "https://pkgs.dev.azure.com/MYCOMPANY/_packaging/MYCOMPANY/nuget/v3/index.json"
(& .\nuget.exe list -AllVersions -Source $source).Split([Environment]::NewLine) | % {
$id = $_.Split(" ")[0].Trim()
$version = $_.Split(" ")[1].Trim()
$path = [IO.Path]::Combine("Packages", $id, $version, "${id}.${version}.nupkg")
Write-Host "nuget.exe push -Source $destination ""$path"""
& .\nuget.exe push -Source $destination $path -ApiKey XXXX-XXXXX
}