

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Uso de CodeArtifact con NuGet
<a name="using-nuget"></a>

En estos temas se describe cómo consumir y publicar paquetes `NuGet` mediante CodeArtifact.

**nota**  
AWS CodeArtifact solo es compatible con la [versión 4.8 y posteriores de NuGet.exe](https://docs.microsoft.com/en-us/nuget/release-notes/nuget-4.8-rtm).



**Topics**
+ [Uso de CodeArtifact con Visual Studio](nuget-visual-studio.md)
+ [Úselo CodeArtifact con nuget o dotnet](nuget-cli.md)
+ [Normalización del nombre, la versión y el nombre del activo del paquete NuGet](nuget-name-normalization.md)
+ [Compatibilidad con NuGet](nuget-compatibility.md)

# Uso de CodeArtifact con Visual Studio
<a name="nuget-visual-studio"></a>

 Puede consumir paquetes de CodeArtifact directamente en Visual Studio con el proveedor de credenciales de CodeArtifact. El proveedor de credenciales simplifica la configuración y la autenticación de los repositorios de CodeArtifact en Visual Studio y está disponible en [AWS Toolkit for Visual Studio](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/welcome.html). 

**nota**  
 AWS Toolkit for Visual Studio no está disponible para Visual Studio para Mac. 

Para configurar y usar NuGet con herramientas CLI, consulte [Úselo CodeArtifact con la CLI de nuget o dotnet](nuget-cli.md).

**Topics**
+ [Configurar Visual Studio con el proveedor de credenciales CodeArtifact](#nuget-vs-cred-provider)
+ [Utilizar la consola del administrador de paquetes de Visual Studio](#built-in-nuget-terminal-vs)

## Configurar Visual Studio con el proveedor de credenciales CodeArtifact
<a name="nuget-vs-cred-provider"></a>

El proveedor de credenciales de CodeArtifact simplifica la configuración y la autenticación continua entre CodeArtifact y Visual Studio. Los tokens de autenticación de CodeArtifact son válidos durante un máximo de 12 horas. Para evitar tener que actualizar el token manualmente mientras se trabaja en Visual Studio, el proveedor de credenciales busca periódicamente un nuevo token antes de que caduque el token actual.

**importante**  
Para usar el proveedor de credenciales, asegúrese de borrar del archivo todas las credenciales de AWSCodeArtifact existentes estén borradas de su archivo `nuget.config` que puedan haberse agregado manualmente o ejecutando `aws codeartifact login` para configurar NuGet previamente.

**Utilice CodeArtifact en Visual Studio con AWS Toolkit for Visual Studio**

1. Instale AWS Toolkit for Visual Studio siguiendo los siguientes pasos. El kit de herramientas es compatible con Visual Studio 2017 y 2019 siguiendo estos pasos. AWS CodeArtifact no es compatible con Visual Studio 2015 y versiones anteriores.

   1.  El kit de herramientas de Visual Studio para Visual Studio 2017 y Visual Studio 2019 se distribuye en [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=AmazonWebServices.AWSToolkitforVisualStudio2017). También puede instalar y actualizar el kit de herramientas dentro de Visual Studio usando **Herramientas** ≫** Extensiones y actualizaciones** (Visual Studio 2017) o **Extensiones** ≫ **Administrar extensiones** (Visual Studio 2019). 

   1.  Una vez instalado el kit de herramientas, ábralo eligiendo **AWSExplorer** en el menú **Ver**. 

1. Configure el Toolkit for Visual Studio con sus credenciales AWS siguiendo los pasos que se indican en [Proporcionar credenciales de AWS](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/credentials.html) en la *Guía del usuario de AWS Toolkit for Visual Studio*.

1. (Opcional) Establezca el perfil AWS que quiere usar con CodeArtifact. Si no se establece, CodeArtifact utilizará el perfil predeterminado. Para configurar el perfil, vaya a **Herramientas > NuGet Package Manager > Seleccionar perfil AWS de CodeArtifact**.

1. Agregue su repositorio de CodeArtifact como fuente de paquete en Visual Studio.

   1. Navegue hasta su repositorio en la ventana **AWS Explorer**, haga clic con el botón derecho y seleccione `Copy NuGet Source Endpoint`.

   1. Use el comando **Herramientas > Opciones** y desplácese hasta **NuGet Package Manager**.

   1. Seleccione el nodo **Fuentes de paquetes**.

   1. Seleccione **\$1**, edite el nombre y pegue el punto de conexión de la URL del repositorio copiado en el paso 3a en el cuadro **Fuente** y seleccione **Actualizar**.

   1. Seleccione la casilla de verificación de la fuente de paquetes recién agregada para habilitarla.
**nota**  
Recomendamos añadir una conexión externa a **NuGet.org** en su repositorio de CodeArtifact y deshabilitar el origen de paquetes **nuget.org** en Visual Studio. Cuando utilice una conexión externa, todos los paquetes extraídos de **Nuget.org** se almacenarán en su repositorio de CodeArtifact. Si **NuGet.org** deja de estar disponible, las dependencias de su aplicación seguirán estando disponibles para las compilaciones de CI y el desarrollo local. Para obtener más información sobre las conexiones externas, use [Conectar un CodeArtifact repositorio a un repositorio público](external-connection.md).

1. Reinicie Visual Studio para que los cambios surtan efecto.

Tras la configuración, Visual Studio puede consumir paquetes de su repositorio de CodeArtifact, de cualquiera de sus repositorios anteriores o de [NuGet.org](https://www.nuget.org/) si ha agregado una conexión externa. Para obtener más información sobre cómo buscar e instalar paquetes NuGet en Visual Studio, consulte [Instalar y administrar paquetes en Visual Studio mediante el administrador de paquetes NuGet en](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-visual-studio) la *documentación de NuGet*.

## Utilizar la consola del administrador de paquetes de Visual Studio
<a name="built-in-nuget-terminal-vs"></a>

La consola del administrador de paquetes de Visual Studio no utilizará la versión de Visual Studio del proveedor de credenciales CodeArtifact. Para usarla, tendrá que configurar el proveedor de credenciales de línea de comandos. Para obtener más información, consulte [Úselo CodeArtifact con la CLI de nuget o dotnet](nuget-cli.md).

# Úselo CodeArtifact con la CLI de nuget o dotnet
<a name="nuget-cli"></a>

Puede usar herramientas de CLI como `nuget` y `dotnet` para publicar y consumir paquetes desde CodeArtifact. Este documento proporciona información sobre la configuración de las herramientas CLI y su uso para publicar o consumir paquetes.

**Topics**
+ [Configurar la CLI de nuget o dotnet](#nuget-configure-cli)
+ [Consume paquetes NuGet de CodeArtifact](#nuget-consume-cli)
+ [Publica NuGet paquetes en CodeArtifact](#nuget-publish-cli)
+ [CodeArtifact NuGet Referencia del proveedor de credenciales](#nuget-cred-provider-reference)
+ [CodeArtifact NuGet Versiones del proveedor de credenciales](#nuget-cred-provider-history)

## Configurar la CLI de nuget o dotnet
<a name="nuget-configure-cli"></a>

Puede configurar la CLI de nuget o dotnet con el proveedor de CodeArtifact NuGet credenciales, con o manualmente AWS CLI. Se recomienda encarecidamente NuGet realizar la configuración con el proveedor de credenciales para simplificar la configuración y continuar con la autenticación.

### Método 1: configure con el proveedor de CodeArtifact NuGet credenciales
<a name="nuget-configure-cli-cred-provider"></a>

El proveedor de CodeArtifact NuGet credenciales simplifica la autenticación y la configuración con herramientas CodeArtifact NuGet CLI. CodeArtifact los tokens de autenticación son válidos durante un máximo de 12 horas. Para evitar tener que actualizar manualmente el token mientras se usa la CLI nuget o dotnet, el proveedor de credenciales busca periódicamente un nuevo token antes de que caduque el token actual. 

**importante**  
Para usar el proveedor de credenciales, asegúrese de borrar del `nuget.config` archivo todas AWS CodeArtifact las credenciales existentes que se hayan agregado manualmente o ejecutándolas `aws codeartifact login` para configurarlas NuGet previamente.

**Instale y configure el proveedor de CodeArtifact NuGet credenciales**

------
#### [ dotnet ]

1. Descargue la versión más reciente de [AWS. CodeArtifact. NuGet. CredentialProvider herramienta de NuGet .org](https://www.nuget.org/packages/AWS.CodeArtifact.NuGet.CredentialProvider) con el siguiente `dotnet` comando.

   ```
   dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
   ```

1. Use el `codeartifact-creds install` comando para copiar el proveedor de credenciales a la carpeta de NuGet complementos.

   ```
   dotnet codeartifact-creds install
   ```

1. (Opcional): establece el AWS perfil que quieres usar con el proveedor de credenciales. Si no se establece, el proveedor de credenciales utilizará el perfil predeterminado. Para obtener más información sobre AWS CLI los perfiles, consulte [Perfiles con nombre](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html).

   ```
   dotnet codeartifact-creds configure set profile profile_name
   ```

------
#### [ nuget ]

Realice los siguientes pasos para usar la NuGet CLI para instalar el proveedor de CodeArtifact NuGet credenciales desde un bucket de Amazon S3 y configurarlo. El proveedor de credenciales utilizará el AWS CLI perfil predeterminado. Para obtener más información sobre los perfiles, consulte Perfiles con [nombre](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html).

1. Descargue la última versión del [proveedor de CodeArtifact NuGet credenciales (codeartifact-nuget-credentialprovider.zip)](https://a.co/dbGqKq7) desde un bucket de Amazon S3.

   Para ver y descargar versiones anteriores, consulte [CodeArtifact NuGet Versiones del proveedor de credenciales](#nuget-cred-provider-history).

1. Descomprima el archivo.

1. Copia el **AWS. CodeArtifact. NuGetCredentialProvider**carpeta desde la carpeta **netfx** `%user_profile%/.nuget/plugins/netfx/` a Windows, Linux o `~/.nuget/plugins/netfx` macOS.

1. Copia el **AWS. CodeArtifact. NuGetCredentialProvider**carpeta desde la carpeta **netcore** `%user_profile%/.nuget/plugins/netcore/` a Windows, Linux o `~/.nuget/plugins/netcore` macOS.

------

Después de crear un repositorio y configurar el proveedor de credenciales, puede usar las herramientas de la CLI `nuget` o `dotnet` para instalar y publicar paquetes. Para obtener más información, consulte [Consume paquetes NuGet de CodeArtifact](#nuget-consume-cli) y [Publica NuGet paquetes en CodeArtifact](#nuget-publish-cli).

### Método 2: configurar nuget o dotnet con el comando login
<a name="nuget-configure-login"></a>

El `codeartifact login` comando del AWS CLI añade un punto final del repositorio y un token de autorización a tu archivo de NuGet configuración, lo que permite que nuget o dotnet se conecten a tu CodeArtifact repositorio. Esto modificará la NuGet configuración a nivel de usuario, que se encuentra en `%appdata%\NuGet\NuGet.Config` Windows `~/.config/NuGet/NuGet.Config` o `~/.nuget/NuGet/NuGet.Config` Mac/Linux. [Para obtener más información sobre NuGet las configuraciones, consulte Configuraciones comunes. NuGet ](https://docs.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior) 

**Configurar nuget o dotnet con el comando `login`**

1. Configure sus AWS credenciales para usarlas con AWS CLI, tal y como se describe en[Introducción a CodeArtifact](getting-started.md).

1. Asegúrese de que la herramienta NuGet CLI (`nuget`o`dotnet`) se haya instalado y configurado correctamente. Para obtener instrucciones, consulte la documentación de [nuget](https://docs.microsoft.com/en-us/nuget/reference/nuget-exe-cli-reference) o [dotnet](https://docs.microsoft.com/en-us/dotnet/core/install/).

1. Use el CodeArtifact `login` comando para obtener las credenciales para usarlas con NuGet.
**nota**  
Si va a acceder a un repositorio de un dominio de su propiedad, no tiene que incluir `--domain-owner`. Para obtener más información, consulte [Dominios entre cuentas](domain-overview.md#domain-overview-cross-account).

------
#### [ dotnet ]

**importante**  
**Usuarios de Linux y macOS:** dado que el cifrado no es compatible con plataformas que no son de Windows, las credenciales recuperadas se almacenarán como texto sin formato en el archivo de configuración.

   ```
   aws codeartifact login --tool dotnet --domain my_domain --domain-owner 111122223333 --repository my_repo
   ```

------
#### [ nuget ]

   ```
   aws codeartifact login --tool nuget --domain my_domain --domain-owner 111122223333 --repository my_repo
   ```

------

El comando de inicio de sesión hará lo siguiente:
+ Obtenga un token de autorización CodeArtifact utilizando sus credenciales. AWS 
+ Actualice su NuGet configuración a nivel de usuario con una nueva entrada para la fuente NuGet del paquete. Se `domain_name/repo_name` llamará a la fuente que apunta al punto final de su CodeArtifact repositorio.

El período de autorización predeterminado después de una llamada `login` es de 12 horas y `login` debe invocarse para actualizar periódicamente el token. Para obtener más información sobre el token de autorización creado con el comando `login`, consulte [Tokens creados con el comando `login`](tokens-authentication.md#auth-token-login).

Después de crear un repositorio y configurar la autenticación, puede utilizar los clientes CLI `nuget`, `dotnet` o `msbuild` para instalar y publicar paquetes. Para obtener más información, consulte [Consume paquetes NuGet de CodeArtifact](#nuget-consume-cli) y [Publica NuGet paquetes en CodeArtifact](#nuget-publish-cli).

### Método 3: configurar nuget o dotnet sin el comando login
<a name="nuget-configure-without-login"></a>

Para la configuración manual, debe añadir un punto final del repositorio y un token de autorización al archivo de NuGet configuración para permitir que nuget o dotnet se conecten a su CodeArtifact repositorio. 

**Configura manualmente nuget o dotnet para que se conecten a tu repositorio. CodeArtifact **

1. Determine el punto final de su CodeArtifact repositorio mediante el `get-repository-endpoint` AWS CLI comando.

   ```
   aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format nuget
   ```

   Ejemplo de código de salida:

   ```
   {
      "repositoryEndpoint": "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/"
   }
   ```

1. Obtén un token de autorización para conectarte a tu repositorio desde tu administrador de paquetes mediante el `get-authorization-token` AWS CLI comando.

   ```
   aws codeartifact get-authorization-token --domain my_domain
   ```

   Ejemplo de código de salida:

   ```
   {
      "authorizationToken": "eyJ2I...viOw",
      "expiration": 1601616533.0
   }
   ```

1. Crea la URL completa del punto de conexión del repositorio agregando `/v3/index.json` a la URL devuelta por `get-repository-endpoint` en el paso 3.

1. Configure nuget o dotnet para usar el punto de conexión del repositorio del paso 1 y el token de autorización del paso 2.
**nota**  
`/v3/index.json`Para que nuget o dotnet se conecten correctamente a un CodeArtifact repositorio, la URL de origen debe terminar en.

------
#### [ dotnet ]

   **Usuarios de Linux y macOS:** dado que el cifrado no se admite en plataformas que no sean Windows, debe añadir la marca `--store-password-in-clear-text` al siguiente comando. Tenga en cuenta que esto almacenará la contraseña como texto sin formato en el archivo de configuración.

   ```
   dotnet nuget add source https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json --name packageSourceName --password eyJ2I...viOw --username aws
   ```

**nota**  
Para actualizar una fuente existente, utilice el comando `dotnet nuget update source`.

------
#### [ nuget ]

   ```
   nuget sources add -name domain_name/repo_name -Source https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json -password eyJ2I...viOw -username aws
   ```

------

   Ejemplo de código de salida:

   ```
   Package source with Name: domain_name/repo_name added successfully.
   ```
**nota**  
Si quiere utilizar un punto de conexión de pila doble, use el punto de conexión `codeartifact.region.on.aws`.

## Consume paquetes NuGet de CodeArtifact
<a name="nuget-consume-cli"></a>

Una vez que lo haya [configurado NuGet CodeArtifact](https://docs.aws.amazon.com//codeartifact/latest/ug/nuget-cli.html), podrá consumir NuGet los paquetes que estén almacenados en su CodeArtifact repositorio o en uno de sus repositorios ascendentes.

Para consumir una versión de paquete de un CodeArtifact repositorio o de uno de sus repositorios ascendentes con `nuget` o`dotnet`, ejecute el siguiente comando sustituyéndola por *packageName* el nombre del paquete que desee consumir y *packageSourceName* por el nombre de origen del CodeArtifact repositorio en el archivo de configuración. NuGet Si usó el `login` comando para configurar la NuGet configuración, el nombre de la fuente es. *domain\$1name/repo\$1name*

**nota**  
Cuando se solicita un paquete, el NuGet cliente almacena en caché las versiones de ese paquete que existen. Debido a este comportamiento, es posible que se produzca un error en la instalación de un paquete que se solicitó anteriormente antes de que la versión deseada estuviera disponible. Para evitar este error e instalar correctamente un paquete existente, puede borrar la NuGet memoria caché antes de realizar la instalación con `nuget locals all --clear` o `dotnet nuget locals all --clear` bien evitar el uso de la memoria caché durante `restore` los comandos `install` y proporcionando la `-NoCache` opción for `nuget` o la `--no-cache` opción for`dotnet`.

------
#### [ dotnet ]

```
dotnet add package packageName --source packageSourceName
```

------
#### [ nuget ]

```
nuget install packageName -Source packageSourceName
```

------

**Para instalar una versión específica de un paquete**

------
#### [ dotnet ]

```
dotnet add package packageName --version 1.0.0 --source packageSourceName
```

------
#### [ nuget ]

```
nuget install packageName -Version 1.0.0 -Source packageSourceName
```

------

Consulte [Administrar paquetes mediante la CLI nuget.exe](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-nuget-cli) o [Instalar y administrar paquetes mediante la CLI dotnet](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-dotnet-cli) en la *documentación de Microsoft* para obtener más información.

### Consume NuGet paquetes de NuGet .org
<a name="nuget-consume-nuget-gallery"></a>

Puede consumir NuGet paquetes de [NuGet.org](https://www.nuget.org/) a través de un CodeArtifact repositorio configurando el repositorio con una conexión externa a **NuGet.org**. Los paquetes consumidos desde **NuGet.org** se ingieren y almacenan en tu CodeArtifact repositorio. Para obtener más información acerca de la adición de conexiones externas, consulte [Conectar un CodeArtifact repositorio a un repositorio público](external-connection.md).

## Publica NuGet paquetes en CodeArtifact
<a name="nuget-publish-cli"></a>

Una vez que lo haya [configurado NuGet CodeArtifact](https://docs.aws.amazon.com//codeartifact/latest/ug/nuget-cli.html), puede usar `nuget` o publicar las versiones de `dotnet` los paquetes en los repositorios. CodeArtifact 

Para enviar una versión de paquete a un CodeArtifact repositorio, ejecute el siguiente comando con la ruta completa del `.nupkg` archivo y el nombre de la fuente del CodeArtifact repositorio en el archivo de NuGet configuración. Si usó el `login` comando para configurar la NuGet configuración, el nombre de la fuente es`domain_name/repo_name`.

**nota**  
Puede crear un NuGet paquete si no tiene uno para publicar. Para obtener más información, consulte el [flujo de trabajo de creación de paquetes](https://docs.microsoft.com/en-us/nuget/create-packages/overview-and-workflow) en la *documentación de Microsoft*.

------
#### [ dotnet ]

```
dotnet nuget push path/to/nupkg/SamplePackage.1.0.0.nupkg --source packageSourceName
```

------
#### [ nuget ]

```
nuget push path/to/nupkg/SamplePackage.1.0.0.nupkg -Source packageSourceName
```

------

## CodeArtifact NuGet Referencia del proveedor de credenciales
<a name="nuget-cred-provider-reference"></a>

El proveedor de CodeArtifact NuGet credenciales facilita la configuración y la autenticación NuGet en sus repositorios. CodeArtifact 

### CodeArtifact NuGet Comandos del proveedor de credenciales
<a name="nuget-cred-provider-reference-commands"></a>

En esta sección se incluye la lista de comandos del proveedor de CodeArtifact NuGet credenciales. Estos comandos deben tener el prefijo `dotnet codeartifact-creds` como en el siguiente ejemplo.

```
dotnet codeartifact-creds command
```
+ `configure set profile profile`: configura el proveedor de credenciales para que utilice el perfil proporcionado. AWS 
+ `configure unset profile`: elimina el perfil configurado si está establecido.
+ `install`: copia el proveedor de credenciales en la carpeta `plugins`.
+ `install --profile profile`: copia el proveedor de credenciales en la `plugins` carpeta y lo configura para que utilice el perfil proporcionado. AWS 
+ `uninstall`: desinstala el proveedor de credenciales. Esto no elimina los cambios en el archivo de configuración.
+ `uninstall --delete-configuration`: desinstala el proveedor de credenciales y elimina todos los cambios en el archivo de configuración.

### CodeArtifact NuGet Registros del proveedor de credenciales
<a name="nuget-cred-provider-reference-logs"></a>

Para habilitar el registro para el proveedor de CodeArtifact NuGet credenciales, debe configurar el archivo de registro en su entorno. Los registros del proveedor de credenciales contienen información de depuración útil, como:
+ El AWS perfil utilizado para realizar las conexiones
+ Cualquier error de autenticación
+ Si el punto final proporcionado no es una CodeArtifact URL

**Configure el archivo de registro del proveedor de CodeArtifact NuGet credenciales**

```
export AWS_CODEARTIFACT_NUGET_LOGFILE=/path/to/file
```

Una vez configurado el archivo de registro, cualquier comando `codeartifact-creds` añadirá su salida de registro al contenido de ese archivo.

## CodeArtifact NuGet Versiones del proveedor de credenciales
<a name="nuget-cred-provider-history"></a>

La siguiente tabla contiene información sobre el historial de versiones y enlaces de descarga del proveedor de CodeArtifact NuGet credenciales.


| Versión | Cambios | Fecha de publicación | Enlace de descarga (S3) | 
| --- | --- | --- | --- | 
|  1.0.2 (más reciente)  |  Dependencias actualizadas  |  26/06/2024  |  [Descargar v1.0.2](https://d12ov9682v6hj.cloudfront.net/codeartifact-nuget-credentialprovider-v1.0.2.zip)  | 
|  1.0.1  |  Se agregó soporte para los perfiles net5, net6 y SSO  |  05/03/2022  |  [Descargar v1.0.1](https://a.co/cAIkhV1)  | 
|  1.0.0  |  Versión inicial de CodeArtifact NuGet Credential Provider  |  20 de noviembre de 2020  |  [Descargar v1.0.0](https://a.co/8b2cENb)  | 

# Normalización del nombre, la versión y el nombre del activo del paquete NuGet
<a name="nuget-name-normalization"></a>

CodeArtifact normaliza los nombres de paquetes y activos y las versiones de los paquetes antes de almacenarlos, lo que significa que los nombres o versiones en CodeArtifact pueden ser diferentes a los proporcionados cuando se publicó el paquete o activo.

**Normalización de nombres de paquetes:** CodeArtifact normaliza los nombres de los paquetes NuGet al convertir todas las letras a minúsculas.

**Normalización de la versión del paquete:** CodeArtifact normaliza las versiones del paquete NuGet utilizando el mismo patrón que NuGet. La siguiente información proviene de los [números de versión normalizados](https://docs.microsoft.com/en-us/nuget/concepts/package-versioning#normalized-version-numbers) de la documentación de NuGet. 
+ Los ceros iniciales se eliminan de los números de versión:
  + `1.00` se trata como `1.0`
  + `1.01.1` se trata como `1.1.1`
  + `1.00.0.1` se trata como `1.0.0.1`
+ Se omitirá un cero en la cuarta parte del número de versión:
  + `1.0.0.0` se trata como `1.0.0`
  + `1.0.01.0` se trata como `1.0.1`
+ Se eliminan los metadatos de la compilación de SemVer 2.0.0:
  + `1.0.7+r3456` se trata como `1.0.7`

**Normalización del nombre del activo del paquete:** CodeArtifact construye el nombre del activo del paquete NuGet a partir del nombre y la versión del paquete normalizados.

El nombre del paquete y el nombre de la versión no normalizados se pueden usar con las solicitudes de API y CLI porque CodeArtifact normaliza las entradas de nombre y versión del paquete para esas solicitudes. Por ejemplo, las entradas de `--package Newtonsoft.JSON` y `--version 12.0.03.0` se normalizarían y devolverían un paquete con un nombre de `newtonsoft.json` y una versión normalizados de `12.0.3`.

Debe usar el nombre del activo del paquete normalizado en las solicitudes de API y CLI, ya que CodeArtifact no realiza la normalización de la entrada `--asset`.

Debe usar nombres y versiones normalizados en los ARN.

Para buscar el nombre normalizado de un paquete, utilice el comando `aws codeartifact list-packages`. Para obtener más información, consulte [Mostrar nombres de paquetes](list-packages.md).

Para buscar el nombre no normalizado de un paquete, utilice el comando `aws codeartifact describe-package-version`. El nombre no normalizado del paquete se devuelve en el campo `displayName`. Para obtener más información, consulte [Ver y actualizar los detalles y las dependencias de la versión del paquete](describe-package-version.md).

# Compatibilidad con NuGet
<a name="nuget-compatibility"></a>

 Esta guía contiene información sobre la compatibilidad de CodeArtifact con diferentes herramientas y versiones de NuGet. 

**Topics**
+ [Compatibilidad general con NuGet](#nuget-version-support)
+ [Compatibilidad con línea de comando de NuGet](#nuget-command-line-support)

## Compatibilidad general con NuGet
<a name="nuget-version-support"></a>

AWS CodeArtifact es compatible con NuGet 4.8 y versiones posteriores.

AWS CodeArtifact solo es compatible con la versión 3 del protocolo HTTP NuGet. Esto significa que algunos comandos CLI que se basan en la V2 del protocolo no son compatibles. Consulte la sección [Soporte de comandos nuget.exe](#nuget-command-support) para obtener más información.

AWS CodeArtifact no es compatible con PowerShellGet 2.x.

## Compatibilidad con línea de comando de NuGet
<a name="nuget-command-line-support"></a>

AWS CodeArtifact es compatible con las herramientas CLI NuGet (`nuget.exe`) y .NET Core (`dotnet`).

### Soporte de comandos nuget.exe
<a name="nuget-command-support"></a>

Como CodeArtifact solo es compatible con la versión 3 del protocolo HTTP de NuGet, los siguientes comandos no funcionarán cuando se usen contra los recursos de CodeArtifact:
+ `list`: El comando `nuget list` muestra una lista de paquetes de una fuente determinada. Para obtener una lista de paquetes en un repositorio de CodeArtifact, puede usar el comando [Mostrar nombres de paquetes](list-packages.md) de la CLI AWS.