Hospedar sus propias fuentes de NuGetHosting your own NuGet feeds

En lugar de hacer que los paquetes estén disponibles de forma pública, es posible que quiera liberar los paquetes únicamente a un público restringido (por ejemplo, su organización o grupo de trabajo).Instead of making packages publicly available, you might want to release packages to only a limited audience, such as your organization or workgroup. Además, puede que algunas compañías quieran restringir las bibliotecas de terceros que pueden usar sus desarrolladores y, de este modo, hacer que estos desarrolladores las saquen de un origen de paquete limitado, en lugar de sacarlas de nuget.org.In addition, some companies may want to restrict which third-party libraries their developers may use, and thus direct those developers to draw from a limited package source rather than nuget.org.

Para todos estos propósitos, NuGet admite la configuración de orígenes de paquetes privados de las siguientes maneras:For all such purposes, NuGet supports setting up private package sources in the following ways:

  • Fuente local: los paquetes se colocan en un recurso compartido de red adecuado, idealmente con nuget init y nuget add para crear una estructura jerárquica de carpetas (NuGet 3.3+).Local feed: Packages are simply placed on a suitable network file share, ideally using nuget init and nuget add to create a hierarchical folder structure (NuGet 3.3+). Para más información, vea Fuentes locales.For details, see Local Feeds.
  • NuGet.Server: los paquetes están disponibles a través de un servidor HTTP local.NuGet.Server: Packages are made available through a local HTTP server. Para más información, vea NuGet.Server.For details, see NuGet.Server.
  • Galería de NuGet: los paquetes se hospedan en un servidor de Internet mediante el proyecto de la galería de NuGet (github.com).NuGet Gallery: Packages are hosted on an Internet server using the NuGet Gallery Project (github.com). La galería de NuGet proporciona características y administración de usuarios, como una interfaz de usuario web amplia que permite efectuar búsquedas y explorar paquetes desde dentro del explorador, de forma similar a nuget.org.NuGet Gallery provides user management and features such as an extensive web UI that allows searching and exploring packages from within the browser, similar to nuget.org.

Hay muchos más productos de hospedaje de NuGet que admiten las fuentes privadas remotas, como las siguientes:There are also several other NuGet hosting products that support remote private feeds, including the following:

  • Azure Artifacts, que también está disponible en Team Foundation Server 2017 y versiones posteriores.Azure Artifacts, which is also available on Team Foundation Server 2017 and later.
  • MyGetMyGet
  • ProGet de InedoProGet from Inedo
  • NuGet Server, un proyecto de la comunidad de InedoNuGet Server, a community project from Inedo
  • NuGet Server (código abierto), una implementación de código abierto parecida a NuGet Server de InedoNuGet Server (Open Source), an open-source implementation similar to Inedo's NuGet Server
  • LiGet, una implementación de código abierto del servidor NuGet V2 que se ejecuta en Kestrel en DockerLiGet, an open-source implementation of NuGet V2 server that runs on kestrel in docker
  • BaGet, una implementación de código abierto del servidor NuGet V3 integrado en .NET CoreBaGet, an open-source implementation of NuGet V3 server built on ASP.NET Core
  • Sleet, un generador de fuentes estáticas NuGet V3 de código abiertoSleet, an open-source NuGet V3 static feed generator
  • Artifactory de JFrog.Artifactory from JFrog.
  • Nexus de Sonatype.Nexus from Sonatype.
  • TeamCity de JetBrains.TeamCity from JetBrains.

Independientemente de cómo se hospeden los paquetes, se obtiene acceso a ellos agregándolos a la lista de orígenes disponibles en NuGet.Config.Regardless of how packages are hosted, you access them by adding them to the list of available sources in NuGet.Config. Esto puede hacerse en Visual Studio como se describe en Orígenes de paquetes o desde la línea de comandos mediante nuget sources.This can be done in Visual Studio as described in Package Sources, or from the command line using nuget sources. La ruta de acceso a un origen puede ser un nombre de ruta de acceso de carpeta local, un nombre de red o una dirección URL.The path to a source can be a local folder pathname, a network name, or a URL.