Compartir vía


inserción de dotnet nuget

Este artículo se aplica a: ✔️ SDK de .NET 6 y versiones posteriores

Nombre

dotnet nuget push - Inserta un paquete en el servidor y lo publica.

Sinopsis

dotnet nuget push [<ROOT>] [--allow-insecure-connections] [-d|--disable-buffering] [--force-english-output]
    [--interactive] [-k|--api-key <API_KEY>] [-n|--no-symbols]
    [--no-service-endpoint] [-s|--source <SOURCE>] [--skip-duplicate]
    [-sk|--symbol-api-key <API_KEY>] [-ss|--symbol-source <SOURCE>]
    [-t|--timeout <TIMEOUT>]
    [--configfile <FILE>]

dotnet nuget push -h|--help

Descripción

El dotnet nuget push comando inserta un paquete en el servidor y lo publica. El comando push usa los detalles del servidor y las credenciales que se encuentran en el archivo de configuración de NuGet del sistema o en la cadena de archivos de configuración. Para obtener más información sobre los archivos de configuración, consulte Configuración del comportamiento de NuGet. La configuración predeterminada de NuGet se obtiene cargando %AppData%\NuGet\NuGet.config (Windows) o $HOME/.nuget/NuGet/NuGet/NuGet.Config (Linux/macOS), cargando cualquier nuget.config o .nuget\nuget.config a partir de la raíz de la unidad y finalizando en el directorio actual.

El comando inserta un paquete existente. No crea un paquete. Para crear un paquete, use dotnet pack.

Estructura jerárquica de carpetas

Este comando puede almacenar paquetes en una estructura jerárquica de carpetas, que se recomienda optimizar el rendimiento. Almacena paquetes en una estructura jerárquica de carpetas al publicar en una carpeta local (fuente), como nuget add si ya hay al menos un paquete en la fuente que se encuentra en una estructura jerárquica de carpetas. Si la fuente tiene un paquete estructurado de carpetas jerárquicas ya en ella, dotnet nuget push respeta esa estructura. Por lo tanto, si desea publicar en una fuente local mediante la CLI de .NET en lugar de la CLI de NuGet:

  • Antes de publicar el primer paquete, vaya a la carpeta paquetes globales, en %userprofile%.nuget\packages y seleccione la carpeta raíz de un identificador de paquete. Puede ser cualquier paquete que no forme parte de un marco, como .NET standard o ASP.NET.
  • Copie la carpeta del paquete seleccionada en la carpeta raíz de la fuente local.
  • Use dotnet nuget push para publicar el paquete en la fuente local.
  • Ahora puede eliminar la carpeta que copió anteriormente y puede usar dotnet nuget push libremente para publicar en la fuente local.

Como alternativa, use la CLI de NuGet para el primer paquete y, a continuación, puede usar dotnet nuget push para el resto. Para obtener más información, consulte Fuentes locales.

Argumentos

  • ROOT

    Especifica la ruta de acceso del archivo al paquete que se va a insertar.

Opciones

  • --allow-insecure-connections

    Permite insertar en orígenes HTTP (no seguros).

  • -d|--disable-buffering

    Deshabilita el almacenamiento en búfer al insertar en un servidor HTTP(S) para reducir el uso de memoria.

  • --force-english-output

    Obliga a la aplicación a ejecutarse mediante una referencia cultural invariable basada en inglés.

  • -?|-h|--help

    Imprime una descripción de cómo usar el comando .

  • --interactive

    Permite que el comando se detenga y espere una entrada o una acción del usuario. Por ejemplo, para completar la autenticación.

  • -k|--api-key <API_KEY>

    Clave de API para el servidor.

  • -n|--no-symbols

    No inserta símbolos (incluso si están presentes).

  • --no-service-endpoint

    No anexa "api/v2/package" a la dirección URL de origen.

  • -s|--source <SOURCE>

    Especifica la dirección URL del servidor. NuGet identifica un origen de carpeta UNC o local y simplemente copia el archivo allí en lugar de insertarlo mediante HTTP.

    Importante

    A partir de NuGet 3.4.2, este es un parámetro obligatorio a menos que el archivo de configuración de NuGet especifique un DefaultPushSource valor. Para más información, vea Configuring NuGet behavior (Configuración del comportamiento de NuGet).

  • --skip-duplicate

    Al insertar varios paquetes en un servidor HTTP(S), trata cualquier respuesta de conflicto 409 como una advertencia para que otras inserciones puedan continuar.

  • -sk|--symbol-api-key <API_KEY>

    Clave de API para el servidor de símbolos.

  • -ss|--symbol-source <SOURCE>

    Especifica la dirección URL del servidor de símbolos.

  • -t|--timeout <TIMEOUT>

    Especifica el tiempo de espera para insertar en un servidor en segundos. El valor predeterminado es de 300 segundos (5 minutos). Al especificar 0 se aplica el valor predeterminado.

  • --configfile

    Archivo de configuración de NuGet (nuget.config) que se va a usar. Si se especifica, solo se usará la configuración de este archivo. Si no se especifica, se utilizará la jerarquía de archivos de configuración del directorio actual. Para más información, consulte Configuraciones comunes de NuGet.

Ejemplos

  • Inserte foo.nupkg en el origen de inserción predeterminado especificado en el archivo de configuración de NuGet mediante una clave de API:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a
    
  • Inserte foo.nupkg en el servidor nuGet oficial y especifique una clave de API:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.json
    
  • Inserte foo.nupkg en el origen de inserción https://customsourcepersonalizado y especifique una clave de API:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/
    
  • Inserte foo.nupkg en el origen de inserción predeterminado especificado en el archivo de configuración de NuGet:

    dotnet nuget push foo.nupkg
    
  • Inserte foo.symbols.nupkg en el origen de símbolos predeterminado:

    dotnet nuget push foo.symbols.nupkg
    
  • Inserte foo.nupkg en el origen de inserción predeterminado especificado en el archivo de configuración de NuGet, con un tiempo de espera de 360 segundos:

    dotnet nuget push foo.nupkg --timeout 360
    
  • Inserte todos los archivos .nupkg en el directorio actual en el origen de inserción predeterminado especificado en el archivo de configuración de NuGet:

    dotnet nuget push "*.nupkg"
    
  • Inserte todos los archivos .nupkg en el origen de inserción predeterminado especificado en el archivo de configuración de NuGet, incluso si un servidor HTTP(S) devuelve una respuesta de conflicto 409:

    dotnet nuget push "*.nupkg" --skip-duplicate
    
  • Inserte todos los archivos .nupkg en el directorio actual en un directorio de fuente local:

    dotnet nuget push "*.nupkg" -s c:\mydir
    
  • Para insertar en Azure Artifacts, consulte la documentación de inserción de Azure Artifacts.