如何托管我自己的nuget v3 Feed?

bad*_*ndu 6 nuget nuget-server

我的组织为我们内部开发的软件包提供了几个nuget v2提要(.net app使用nuget.server)并重新托管第三方软件包(因为我们的构建机器没有Internet访问权限,我们审计开发人员在我们的产品中使用的软件包和如果我们没有包,我希望构建失败).

每当我向nuget服务器添加任何需要nuget client 3.0+的软件包时,nuget服务器都会崩溃,因为它无法从这些软件包中读取元数据.如何托管我自己的nuget v3服务器/升级现有的nuget服务器以兼容v3?

小智 2

最近写了一个nuget服务器aspnetcore中间件。

当然,这个实现是如此愚蠢、丑陋等等...... 链接

您可以在Startup.cs中进行设置

public void ConfigureServices( IServiceCollection services )
{
    ...
    services.AddNugetServer(opt=>
    {
        opt.ApiKey = "This is a string used for adds or deletes your package(s)";
        opt.PackageDirectory = "/path/to/your/packages"; //default is current path + "/packages"
    });
    ...
}

public void Configure( IApplicationBuilder app, IHostingEnvironment env )
{
    ...
    app.UseNugetServer();
}
Run Code Online (Sandbox Code Playgroud)

并访问 http(s)://your-server-address[:port]/v3/index.json

出版:

dotnet nuget push -s http(s)://your-server-address[:port]/v3/package package.nupkg
Run Code Online (Sandbox Code Playgroud)