我可以发布私有NuGet包吗?

ste*_*bot 102 c# vb.net visual-studio nuget

我有一个我已经制作的装配,这对我公司的团队非常具体.我希望能够使用NuGet使这个程序集可用于我的团队和我公司的类似团队正在开展的其他项目.但是,程序集并不是我想要与世界共享的代码.

我知道使用Maven,您可以从本地仓库创建本地存储库和源包.NuGet是否支持类似的功能?有没有办法让NuGet指定本地存储库或拥有私有包?

Gla*_*ius 87

是! 您可以托管自己的NuGet服务器!

最简单的方法是在服务器上创建共享文件夹,并将其作为Nuget Server引用.

您可以在以下位置找到有关如何执行此操作的更多信息:托管您自己的NuGet Feed

  • 虽然这可能是最简单的方法,但这意味着您必须与所有人共享该文件夹,并且任何有访问权限的人都可以(无论是否意外)对其内容进行调整.更好的方法(简单方法)是使用`NuGet.Server`创建自己的服务器,并在IIS或Azure中创建主机.然后,您将能够使用API​​密钥推送包,任何人都可以订阅该订阅源.这是[创建您自己的NuGet服务器]的简单指南(http://www.codeproject.com/Articles/872230/Create-Your-Own-Private-NuGet-Server-in-Windows-Az). (6认同)
  • 在上面的链接中,如果您要创建可通过HTTP访问的实际服务器来托管程序集,请向下滚动到"创建远程源"部分. (3认同)

Kev*_*ski 21

托管您自己的NuGet服务器的另一个选择是使用JetBrains TeamCity作为构建服务器.此处描述设置.

Team City服务器充当NuGet存储库,该存储库将/可能/应该只能在您的公司内访问.

根据您的使用情况,该软件有免费版本.

它有一些很好的选择,例如能够按需发布新的NuGet版本,每个新的持续集成构建等等.最有用的一点(与所有NuGet服务器实现一样)是它将保留几十个旧版本你的程序集所以,如果你有一个需要引用最新版本的项目,另一个需要引用旧版本的项目,一切都会解决.

  • 没错,TeamCity与NuGet几乎没有任何关系,NuGet服务器还有其他选择(这正是他的要求)。TeamCity是一个连续集成服务器,该服务器_happens_具有内置的NuGet服务器。 (2认同)

小智 14

查看ProGet免费版 ; 我们正是为此目的而建造的.设置所需的时间要少得多,并且提供的功能超出了标准NuGet服务器提供的功能,例如多个Feed,Feed聚合和其他存储库类型(npm,Bower等)

如果您想为企业版付费,您还可以使用LDAP进行身份验证,并能够根据连接的Feed(即NuGet的官方订阅源)按名称/许可过滤Feed.