【问题标题】:Can I publish a private NuGet package?我可以发布私有 NuGet 包吗?
【发布时间】:2013-01-09 18:14:04
【问题描述】:

我制作了一个专门针对我公司团队的组件。我希望能够使用 NuGet 使这个程序集可用于我的团队和我公司的类似团队正在从事的其他项目。但是,程序集并不是我想与世界分享的真正代码。

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

【问题讨论】:

    标签: c# vb.net visual-studio nuget


    【解决方案1】:

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

    最简单的方法是在您的服务器上创建一个共享文件夹并将其引用为您的 Nuget 服务器。

    您可以在以下位置找到有关如何执行此操作的更多信息:Hosting Your Own NuGet Feeds

    【讨论】:

    • 如果您希望创建一个可通过 HTTP 访问的实际服务器来托管您的程序集,请在上面的链接中向下滚动到“创建远程源”部分。
    • 虽然这可能是最简单的方法,但这意味着您必须与所有人共享文件夹,并且任何有权访问的人都可以(无意或无意)修改其内容。更好的方法(但简单的方法)是使用NuGet.Server 创建您自己的服务器,并在 IIS 或 Azure 中托管。然后,您将能够使用 API 密钥推送包,并且任何人都可以订阅该提要。这是create your own NuGet server 的简单指南。
    • 我遇到了同样的问题。并找到以下内容:斯科特:hanselman.com/blog/… 也:nicolaiarocci.com/…
    • 以及如何在 Azure Devops 中使用内部 Nuget 源?
    • @Kiquenet 在 'dotnet restore' 之前使用 'dotnet nuget add source --name "XXX" "YYY.net/nuget"' 命令
    【解决方案2】:

    托管您自己的 NuGet 服务器的另一个选项是使用 JetBrains TeamCity 作为构建服务器。设置描述为here

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

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

    它有一些不错的选择,例如能够按需发布新的 NuGet 版本,每次新的持续集成构建等。最有用的部分之一(与所有 NuGet 服务器实现一样)是它将保留数十个旧版本的程序集,因此,如果您有一个项目需要引用最新版本,而另一个项目需要引用旧版本,一切都会好起来的。

    【讨论】:

    • 尽管你是对的,但 TeamCity 与 NuGet 的关系不大,而且 NuGet 服务器还有其他选项(这是他所要求的)。 TeamCity 是一个连续的集成服务器,碰巧有一个内置的 NuGet 服务器。
    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

      是的,您可以拥有本地供稿。设置起来非常简单,take a look here

      MyGet 在托管私人提要方面很受欢迎。它不是免费的,但是看看their pricing,也许它很适合你!

      【讨论】:

        猜你喜欢
        • 2018-09-24
        • 1970-01-01
        • 1970-01-01
        • 2019-03-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-28
        相关资源
        最近更新 更多