Nota: El Registro del paquete de GitHub se encuentra actualmente en beta para GitHub Enterprise Server 2.22. Para unirte al beta de tu instancia de GitHub Enterprise Server, utiliza el formato de registro.
Nota: Cuando instalas o publicas una imagen de docker, Registro del paquete de GitHub no es compatible con capas externas, tales como imágenes de Windows.
Autenticarte en Registro del paquete de GitHub
Necesitas de un token de acceso para publicar, instalar, y borrar paquetes en Registro del paquete de GitHub.
Puees utilizar un token de acceso personal (PAT) para autenticarte en el Registro del paquete de GitHub o en la API de GitHub. Cuando creas un token de acceso personal, puedes asignar al token diferentes ámbitos en función de tus necesidades. Para obtener más información sobre los alcances relacionados con los paquetes para un PAT, consulta la sección "Acerca de los permisos para los Paquetes de GitHub".
Para autenticarte en un registro del Registro del paquete de GitHub dentro de un flujo de trabajo de GitHub Actions, puedes utilizar:
GITHUB_TOKENpara publicar los paquetes asociados con el repositorio del flujo de trabajo.- un PAT para instalar los paquetes asociados con otros repositorios privados (a los cuales no puede acceder el 
GITHUB_TOKEN). 
Autenticarte con el GITHUB_TOKEN en GitHub Actions
Utiliza el siguiente comando para autenticarte en el Registro del paquete de GitHub en un flujo de trabajo de GitHub Actions utilizando el GITHUB_TOKEN en vez de codificar un token rígidamente en un archivo de nuget.config en el repositorio:
dotnet nuget add source --username USERNAME --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text --name github "https://nuget.HOSTNAME/OWNER/index.json"
Para obtener más información sobre el GITHUB_TOKEN que se utiliza en los flujos de trabajo de GitHub Actions, consulta la sección "Autenticarse en un flujo de trabajo".
Autenticarte con un token de acceso personal
Debes utilizar un token de acceso personal con los alcances adecuados para publicar e instalar paquetes en Registro del paquete de GitHub. Para obtener más información, consulta "Acerca de Registro del paquete de GitHub".
Para autenticarte en Registro del paquete de GitHub con la interfaz de la línea de comando (CLI) dotnet, crea un archivo nuget.config en el directorio de tu proyecto especificando Registro del paquete de GitHub como una fuente en packageSources para el cliente de la CLI Dotnet.
Debes reemplazar:
USERNAME(nombre de usuario) por el nombre de tu cuenta de usuario en GitHub.TOKENpor tu token de acceso personal.OWNERcon el nombre de la cuenta de usuario o de organización a la que pertenece el repositorio que contiene tu proyecto.HOSTNAMEcon el nombre de host de tu instancia de GitHub Enterprise Server.
Si tu instancia tiene habilitado el aislamiento de subdominios:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <clear />
        <add key="github" value="https://nuget.HOSTNAME/OWNER/index.json" />
    </packageSources>
    <packageSourceCredentials>
        <github>
            <add key="Username" value="USERNAME" />
            <add key="ClearTextPassword" value="TOKEN" />
        </github>
    </packageSourceCredentials>
</configuration>
Por ejemplo, los proyectos OctodogApp y OctocatApp publicarán en el mismo repositorio:
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <PackageId>OctodogApp</PackageId>
    <Version>1.0.0</Version>
    <Authors>Octodog</Authors>
    <Company>GitHub</Company>
    <PackageDescription>This package adds an Octodog!</PackageDescription>
    <RepositoryUrl>https://github.com/octo-org/octo-cats-and-dogs</RepositoryUrl>
  </PropertyGroup>
</Project>
Publicar un paquete
Puedes publicar un paquete en el Registro del paquete de GitHub si te autenticas con un archivo de nuget.config.
Publicar un paquete utilizando un archivo nuget.config
Al publicar, debes usar el mismo valor para OWNER en tu archivo csproj que usas en tu archivo de autenticación nuget.config. Especifica o incrementa el número de versión en tu archivo .csproj y luego usa el comando dotnet pack para crear un archivo .nuspec para esa versión. Para obtener más información sobre cómo crear tu paquete, consulta la sección "Crear y publicar un paquete" en la documentación de Microsoft.
- 
Autentícate en Registro del paquete de GitHub. Para obtener más información, consulta "Autenticar a Registro del paquete de GitHub."
 - 
Crear un proyecto nuevo.
dotnet new console --name OctocatApp - 
Agrega la información específica de tu proyecto al archivo de tu proyecto, que finaliza en .csproj. Debes reemplazar:
OWNERpor el nombre de la cuenta de usuario o de organización a la que pertenece el repositorio que contiene tu proyecto.REPOSITORYpor el nombre del repositorio que contiene el paquete que deseas publicar.1.0.0con el número de versión del paquete.HOSTNAMEcon el nombre de host de tu instancia de GitHub Enterprise Server.
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp3.0</TargetFramework> <PackageId>OctocatApp</PackageId> <Version>1.0.0</Version> <Authors>Octocat</Authors> <Company>GitHub</Company> <PackageDescription>This package adds an Octocat!</PackageDescription> <RepositoryUrl>https://HOSTNAME/OWNER/REPOSITORY</RepositoryUrl> </PropertyGroup> </Project> - 
Empaquetar el proyecto.
dotnet pack--lanzamiento de configuración - 
Publicar el paquete utilizando la
claveque especificaste en el archivo nuget.config.dotnet nuget subir "bin/Release/OctocatApp. 1.0.0. nupkg"--Source "GitHub" 
Después de que publiques un paquete, puedes verlo en GitHub. Para obtener más información, consulta "Visualizar paquetes".
Publicar varios paquetes en el mismo repositorio
Para publicar varios paquetes en el mismo repositorio, puedes incluir la misma URL del repositorio de GitHub en los campos RepositoryURL en todos los archivos del proyecto .csproj. GitHub coincide con el repositorio en base a ese campo.
Por ejemplo, los proyectos OctodogApp y OctocatApp publicarán en el mismo repositorio:
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <PackageId>OctodogApp</PackageId>
    <Version>1.0.0</Version>
    <Authors>Octodog</Authors>
    <Company>GitHub</Company>
    <PackageDescription>This package adds an Octodog!</PackageDescription>
    <RepositoryUrl>https://HOSTNAME/octo-org/octo-cats-and-dogs</RepositoryUrl>
  </PropertyGroup>
</Project>
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <PackageId>OctocatApp</PackageId>
    <Version>1.0.0</Version>
    <Authors>Octocat</Authors>
    <Company>GitHub</Company>
    <PackageDescription>This package adds an Octocat!</PackageDescription>
    <RepositoryUrl>https://HOSTNAME/octo-org/octo-cats-and-dogs</RepositoryUrl>
  </PropertyGroup>
</Project>
Instalar un paquete
El uso de paquetes desde GitHub en tu proyecto es similar al uso de paquetes desde nuget.org. Agrega las dependencias de tu paquete a tu archivo .csproj, especificando el nombre del paquete y la versión. Para obtener más información sobre cómo utilizar un archivo .csproj en tu proyecto, consulta "Trabajar con paquetes NuGet"en la documentación de Microsoft.
- 
Autentícate en Registro del paquete de GitHub. Para obtener más información, consulta "Autenticar a Registro del paquete de GitHub."
 - 
Para usar un paquete, agrega
ItemGroupy configura el campoPackageReferenceen el archivo de proyecto .csproj, reemplaza el paqueteOctokittenApppor la dependencia de tu paquete y1.0.0por la versión que deseas usar:<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp3.0</TargetFramework> <PackageId>OctocatApp</PackageId> <Version>1.0.0</Version> <Authors>Octocat</Authors> <Company>GitHub</Company> <PackageDescription>This package adds an Octocat!</PackageDescription> <RepositoryUrl>https://HOSTNAME/OWNER/REPOSITORY</RepositoryUrl> </PropertyGroup> <ItemGroup> <PackageReference Include="OctokittenApp" Version="12.0.2" /> </ItemGroup> </Project> - 
Instalar los paquetes con el comando
restore (restaurar).restaurar dotnet 
Solución de problemas
Tu paquete de NuGet podría fallar en subirse si la RepositoryUrl en .csproj no se configuró en el repositorio esperado.