

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Questi argomenti descrivono come utilizzare e pubblicare `NuGet` pacchetti utilizzando CodeArtifact.

**Nota**  
AWS CodeArtifact supporta solo la [versione 4.8 e successive del NuGet file.exe](https://docs.microsoft.com/en-us/nuget/release-notes/nuget-4.8-rtm).



**Topics**
+ [Utilizzare CodeArtifact con Visual Studio](nuget-visual-studio.md)
+ [Utilizzare con nuget o dotnet CodeArtifact](nuget-cli.md)
+ [NuGet normalizzazione del nome del pacchetto, della versione e del nome dell'asset](nuget-name-normalization.md)
+ [NuGet compatibilità](nuget-compatibility.md)

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

 Puoi utilizzare i pacchetti CodeArtifact direttamente da Visual Studio con il CodeArtifact Credential Provider. Il provider di credenziali semplifica la configurazione e l'autenticazione dei CodeArtifact repository in Visual Studio ed è disponibile in. [AWS Toolkit for Visual Studio](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/welcome.html) 

**Nota**  
 Non AWS Toolkit for Visual Studio è disponibile per Visual Studio per Mac. 

Per configurare e utilizzare NuGet con gli strumenti CLI, vedere. [Utilizzo CodeArtifact con la CLI nuget o dotnet](nuget-cli.md)

**Topics**
+ [Configurare Visual Studio con il CodeArtifact Credential Provider](#nuget-vs-cred-provider)
+ [Utilizzare la console Visual Studio Package Manager](#built-in-nuget-terminal-vs)

## Configurare Visual Studio con il CodeArtifact Credential Provider
<a name="nuget-vs-cred-provider"></a>

Il CodeArtifact Credential Provider semplifica la configurazione e l'autenticazione continua tra CodeArtifact Visual Studio e Visual Studio. CodeArtifact i token di autenticazione sono validi per un massimo di 12 ore. Per evitare di dover aggiornare manualmente il token mentre si lavora in Visual Studio, il provider di credenziali recupera periodicamente un nuovo token prima della scadenza del token corrente.

**Importante**  
Per utilizzare il provider di credenziali, assicurati che dal `nuget.config` file vengano cancellate tutte AWS CodeArtifact le credenziali esistenti che potrebbero essere state aggiunte manualmente o eseguendo la configurazione in precedenza. `aws codeartifact login` NuGet 

**Utilizzare CodeArtifact in Visual Studio con AWS Toolkit for Visual Studio**

1. Installa il AWS Toolkit for Visual Studio utilizzando i seguenti passaggi. Il toolkit è compatibile con Visual Studio 2017 e 2019 utilizzando questi passaggi. AWS CodeArtifact non supporta Visual Studio 2015 e versioni precedenti.

   1.  Il Toolkit for Visual Studio for Visual Studio 2017 e Visual Studio 2019 è distribuito in [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=AmazonWebServices.AWSToolkitforVisualStudio2017). Puoi anche installare e aggiornare il toolkit all'interno di Visual Studio utilizzando **Strumenti** ≫ **Estensioni e aggiornamenti** (Visual Studio 2017) o **Estensioni ≫ **Gestisci estensioni**** (Visual Studio 2019). 

   1.  Dopo aver installato il toolkit, aprilo scegliendo **AWS Explorer** dal menu **Visualizza**. 

1. *Configura il Toolkit for Visual Studio con le AWS tue credenziali seguendo i passaggi descritti [in AWS Fornitura delle credenziali nella AWS Toolkit for Visual Studio Guida](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/credentials.html) per l'utente.*

1. (Facoltativo) Imposta il AWS profilo con cui desideri utilizzare. CodeArtifact Se non è impostato, CodeArtifact utilizzerà il profilo predefinito. Per impostare il profilo, vai su **Strumenti > NuGet Package Manager > Seleziona CodeArtifact AWS profilo**.

1. Aggiungi il tuo CodeArtifact repository come origine del pacchetto in Visual Studio.

   1. Vai al tuo repository nella finestra **AWS Explorer**, fai clic con il pulsante destro del mouse e seleziona. `Copy NuGet Source Endpoint`

   1. Utilizzate il comando **Strumenti > Opzioni** e scorrete fino a **NuGet Package Manager**.

   1. Seleziona il nodo **Package Sources**.

   1. **Seleziona **\$1**, modifica il nome e incolla l'endpoint dell'URL del repository copiato nel passaggio 3a nella casella **Origine**, quindi seleziona Aggiorna.**

   1. Seleziona la casella di controllo relativa alla fonte del pacchetto appena aggiunto per abilitarla.
**Nota**  
Ti consigliamo di aggiungere una connessione esterna **NuGeta.org** al tuo CodeArtifact repository e di disabilitare l'origine del pacchetto **nuget.org** in Visual Studio. Quando si utilizza una connessione esterna, tutti i pacchetti recuperati da **NuGet.org** verranno archiviati nel repository. CodeArtifact Se **NuGet.org** non è più disponibile, le dipendenze dell'applicazione saranno ancora disponibili per le build CI e lo sviluppo locale. Per ulteriori informazioni sulle connessioni esterne, vedere. [Connect un CodeArtifact repository a un repository pubblico](external-connection.md)

1. Riavvia Visual Studio per rendere effettive le modifiche.

Dopo la configurazione, Visual Studio può utilizzare i pacchetti dal tuo CodeArtifact repository, da uno qualsiasi dei suoi repository upstream o da [NuGet.org](https://www.nuget.org/) se hai aggiunto una connessione esterna. Per altre informazioni sulla navigazione e l'installazione NuGet dei pacchetti in Visual Studio, vedi [Installare e gestire i pacchetti in Visual Studio utilizzando il NuGet Package Manager](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-visual-studio) nella *NuGet documentazione*.

## Utilizzare la console Visual Studio Package Manager
<a name="built-in-nuget-terminal-vs"></a>

La console di Visual Studio Package Manager non utilizzerà la versione Visual Studio di CodeArtifact Credential Provider. Per utilizzarlo, dovrai configurare il provider di credenziali della riga di comando. Per ulteriori informazioni, consulta [Utilizzo CodeArtifact con la CLI nuget o dotnet](nuget-cli.md).

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

Puoi utilizzare strumenti CLI come `nuget` e `dotnet` da cui pubblicare e utilizzare pacchetti. CodeArtifact Questo documento fornisce informazioni sulla configurazione degli strumenti CLI e sul loro utilizzo per pubblicare o utilizzare pacchetti.

**Topics**
+ [Configurare la CLI nuget o dotnet](#nuget-configure-cli)
+ [Consuma pacchetti da NuGet CodeArtifact](#nuget-consume-cli)
+ [Pubblica NuGet pacchetti su CodeArtifact](#nuget-publish-cli)
+ [CodeArtifact NuGet Riferimento al provider di credenziali](#nuget-cred-provider-reference)
+ [CodeArtifact NuGet Versioni di Credential Provider](#nuget-cred-provider-history)

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

È possibile configurare la CLI nuget o dotnet con CodeArtifact NuGet il Credential Provider, con o manualmente. AWS CLI La configurazione NuGet con il provider di credenziali è altamente consigliata per una configurazione semplificata e un'autenticazione continua.

### Metodo 1: Configurazione con il provider di credenziali CodeArtifact NuGet
<a name="nuget-configure-cli-cred-provider"></a>

Il CodeArtifact NuGet Credential Provider semplifica l'autenticazione e la configurazione degli strumenti CodeArtifact CLI NuGet . CodeArtifact i token di autenticazione sono validi per un massimo di 12 ore. Per evitare di dover aggiornare manualmente il token durante l'utilizzo della CLI nuget o dotnet, il provider di credenziali recupera periodicamente un nuovo token prima della scadenza del token corrente. 

**Importante**  
Per utilizzare il provider di credenziali, assicurati che dal file vengano cancellate tutte AWS CodeArtifact le credenziali esistenti che potrebbero essere state aggiunte manualmente o eseguendo la `nuget.config` configurazione in precedenza. `aws codeartifact login` NuGet 

**Installa e configura il Credential Provider CodeArtifact NuGet **

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

1. Scarica l'ultima versione di [AWS. CodeArtifact. NuGet. CredentialProvider strumento da NuGet .org](https://www.nuget.org/packages/AWS.CodeArtifact.NuGet.CredentialProvider) con il seguente `dotnet` comando.

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

1. Utilizzate il `codeartifact-creds install` comando per copiare il provider di credenziali nella cartella NuGet plugins.

   ```
   dotnet codeartifact-creds install
   ```

1. (Facoltativo): imposta il AWS profilo che desideri utilizzare con il provider di credenziali. Se non è impostato, il fornitore di credenziali utilizzerà il profilo predefinito. Per ulteriori informazioni sui AWS CLI profili, vedere Profili [denominati](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html).

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

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

Esegui i seguenti passaggi per utilizzare la NuGet CLI per installare il CodeArtifact NuGet Credential Provider da un bucket Amazon S3 e configurarlo. [Il provider di credenziali utilizzerà il AWS CLI profilo predefinito; per ulteriori informazioni sui profili, consulta Profili denominati.](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)

1. Scarica la versione più recente di [CodeArtifact NuGet Credential Provider (codeartifact-nuget-credentialprovider.zip)](https://a.co/dbGqKq7) da un bucket Amazon S3.

   Per visualizzare e scaricare le versioni precedenti, consulta. [CodeArtifact NuGet Versioni di Credential Provider](#nuget-cred-provider-history)

1. Decomprimere il file.

1. Copia il file **AWS. CodeArtifact. NuGetCredentialProvider**cartella dalla cartella **netfx** `%user_profile%/.nuget/plugins/netfx/` a Windows o Linux o `~/.nuget/plugins/netfx` macOS.

1. Copia il file **AWS. CodeArtifact. NuGetCredentialProvider**cartella dalla cartella **netcore** `%user_profile%/.nuget/plugins/netcore/` a Windows o Linux o `~/.nuget/plugins/netcore` macOS.

------

Dopo aver creato un repository e configurato il provider di credenziali, puoi utilizzare gli strumenti o la `nuget` `dotnet` CLI per installare e pubblicare i pacchetti. Per ulteriori informazioni, consultare [Consuma pacchetti da NuGet CodeArtifact](#nuget-consume-cli) e [Pubblica NuGet pacchetti su CodeArtifact](#nuget-publish-cli).

### Metodo 2: configura nuget o dotnet con il comando login
<a name="nuget-configure-login"></a>

Il `codeartifact login` comando contenuto in AWS CLI aggiunge un endpoint del repository e un token di autorizzazione al file di NuGet configurazione, permettendo a nuget o dotnet di connettersi al repository. CodeArtifact Ciò modificherà la NuGet configurazione a livello utente che si trova in Windows e/o Mac/Linux. `%appdata%\NuGet\NuGet.Config` `~/.config/NuGet/NuGet.Config` `~/.nuget/NuGet/NuGet.Config` [Per ulteriori informazioni sulle NuGet configurazioni, vedere Configurazioni comuni. NuGet ](https://docs.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior) 

**Configura nuget o dotnet con il comando `login`**

1. Configura AWS le tue credenziali da utilizzare con AWS CLI, come descritto in. [Guida introduttiva con CodeArtifact](getting-started.md)

1. Assicurati che lo strumento NuGet CLI (`nuget`o`dotnet`) sia stato installato e configurato correttamente. [Per istruzioni, consulta la documentazione di [nuget o dotnet](https://docs.microsoft.com/en-us/nuget/reference/nuget-exe-cli-reference).](https://docs.microsoft.com/en-us/dotnet/core/install/)

1. Utilizzate il CodeArtifact `login` comando per recuperare le credenziali da utilizzare con. NuGet
**Nota**  
Se accedi a un repository in un dominio di tua proprietà, non è necessario includerlo. `--domain-owner` Per ulteriori informazioni, consulta [Domini con più account](domain-overview.md#domain-overview-cross-account).

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

**Importante**  
**Utenti Linux e macOS:** poiché la crittografia non è supportata su piattaforme diverse da Windows, le credenziali recuperate verranno archiviate come testo semplice nel file di configurazione.

   ```
   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
   ```

------

Il comando di login consentirà di:
+ Recupera un token di autorizzazione CodeArtifact utilizzando le tue AWS credenziali. 
+ Aggiorna la NuGet configurazione a livello utente con una nuova voce per l'origine del NuGet pacchetto. Verrà chiamata la fonte che punta all'endpoint CodeArtifact del repository. `domain_name/repo_name`

Il periodo di autorizzazione predefinito dopo la chiamata `login` è di 12 ore e `login` deve essere chiamato per aggiornare periodicamente il token. Per ulteriori informazioni sul token di autorizzazione creato con il `login` comando, vedere[Token creati con il comando `login`](tokens-authentication.md#auth-token-login).

Dopo aver creato un repository e configurato l'autenticazione, puoi utilizzare i client `nuget``dotnet`, o `msbuild` CLI per installare e pubblicare i pacchetti. Per ulteriori informazioni, consultare [Consuma pacchetti da NuGet CodeArtifact](#nuget-consume-cli) e [Pubblica NuGet pacchetti su CodeArtifact](#nuget-publish-cli).

### Metodo 3: configura nuget o dotnet senza il comando login
<a name="nuget-configure-without-login"></a>

Per la configurazione manuale, è necessario aggiungere un endpoint del repository e un token di autorizzazione al file di NuGet configurazione per consentire a nuget o dotnet di connettersi al repository. CodeArtifact 

**Configura manualmente nuget o dotnet per connetterti al tuo repository. CodeArtifact **

1. Determina l'endpoint del tuo CodeArtifact repository usando il comando. `get-repository-endpoint` AWS CLI 

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

   Output di esempio:

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

1. Ottieni un token di autorizzazione per connetterti al tuo repository dal tuo gestore di pacchetti utilizzando il comando. `get-authorization-token` AWS CLI 

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

   Output di esempio:

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

1. Crea l'URL completo dell'endpoint del repository aggiungendolo `/v3/index.json` all'URL restituito `get-repository-endpoint` nel passaggio 3.

1. Configura nuget o dotnet per utilizzare l'endpoint del repository dal passaggio 1 e il token di autorizzazione dal passaggio 2.
**Nota**  
L'URL di origine deve terminare `/v3/index.json` affinché nuget o dotnet si connettano correttamente a un repository. CodeArtifact 

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

   **Utenti Linux e macOS:** poiché la crittografia non è supportata su piattaforme diverse da Windows, è necessario aggiungere il `--store-password-in-clear-text` flag al comando seguente. Tieni presente che in questo modo la password verrà memorizzata come testo semplice nel file di configurazione.

   ```
   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**  
Per aggiornare una fonte esistente, usa il `dotnet nuget update source` comando.

------
#### [ 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
   ```

------

   Output di esempio:

   ```
   Package source with Name: domain_name/repo_name added successfully.
   ```
**Nota**  
Per utilizzare un endpoint dualstack, usa l'endpoint. `codeartifact.region.on.aws`

## Consuma pacchetti da NuGet CodeArtifact
<a name="nuget-consume-cli"></a>

Dopo aver [configurato NuGet con CodeArtifact](https://docs.aws.amazon.com//codeartifact/latest/ug/nuget-cli.html), puoi utilizzare i NuGet pacchetti archiviati nel tuo CodeArtifact repository o in uno dei suoi repository upstream.

Per utilizzare una versione del pacchetto da un CodeArtifact repository o da uno dei suoi repository upstream con `nuget` o`dotnet`, esegui il comando seguente sostituendolo *packageName* con il nome del pacchetto che desideri consumare e *packageSourceName* con il nome sorgente del repository nel file di configurazione. CodeArtifact NuGet Se hai usato il `login` comando per configurare la NuGet configurazione, il nome sorgente è. *domain\$1name/repo\$1name*

**Nota**  
Quando viene richiesto un pacchetto, il NuGet client memorizza nella cache le versioni di quel pacchetto esistenti. A causa di questo comportamento, l'installazione potrebbe non riuscire per un pacchetto richiesto in precedenza prima che la versione desiderata diventasse disponibile. Per evitare questo errore e installare correttamente un pacchetto esistente, è possibile NuGet svuotare la cache prima dell'installazione con `nuget locals all --clear` o`dotnet nuget locals all --clear`, oppure evitare di utilizzare la cache durante `restore` i comandi `install` and specificando l'`-NoCache`opzione for `nuget` o l'`--no-cache`opzione per`dotnet`.

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

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

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

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

------

**Per installare una versione specifica di un pacchetto**

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

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

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

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

------

Per ulteriori informazioni, consulta [Gestire i pacchetti utilizzando l'interfaccia della riga di comando nuget.exe](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-nuget-cli) o [Installare e gestire i pacchetti utilizzando l'interfaccia della riga di comando dotnet](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-dotnet-cli) *nella documentazione Microsoft*.

### Consuma pacchetti NuGet da .org NuGet
<a name="nuget-consume-nuget-gallery"></a>

**È possibile utilizzare NuGet pacchetti da [NuGet.org](https://www.nuget.org/) tramite un CodeArtifact repository configurando il repository con una connessione esterna a .org. NuGet** I pacchetti consumati da **NuGet.org vengono importati** e archiviati nel tuo repository. CodeArtifact Per ulteriori informazioni sull'aggiunta di connessioni esterne, consulta. [Connect un CodeArtifact repository a un repository pubblico](external-connection.md)

## Pubblica NuGet pacchetti su CodeArtifact
<a name="nuget-publish-cli"></a>

Dopo aver [configurato NuGet con CodeArtifact](https://docs.aws.amazon.com//codeartifact/latest/ug/nuget-cli.html), puoi utilizzare `nuget` o pubblicare le versioni dei pacchetti nei `dotnet` repository. CodeArtifact 

Per inviare una versione del pacchetto a un CodeArtifact repository, esegui il comando seguente con il percorso completo del `.nupkg` file e il nome sorgente del CodeArtifact repository nel file di configurazione NuGet . Se hai usato il `login` comando per configurare la NuGet configurazione, il nome della fonte è. `domain_name/repo_name`

**Nota**  
Puoi creare un NuGet pacchetto se non ne hai uno da pubblicare. Per ulteriori informazioni, consulta [Flusso di lavoro per la creazione di Package](https://docs.microsoft.com/en-us/nuget/create-packages/overview-and-workflow) nella *documentazione 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 Riferimento al provider di credenziali
<a name="nuget-cred-provider-reference"></a>

Il CodeArtifact NuGet Credential Provider semplifica la configurazione e l'autenticazione NuGet con i tuoi repository. CodeArtifact 

### CodeArtifact NuGet Comandi Credential Provider
<a name="nuget-cred-provider-reference-commands"></a>

Questa sezione include l'elenco dei comandi per il CodeArtifact NuGet Credential Provider. Questi comandi devono avere il prefisso `dotnet codeartifact-creds` come nell'esempio seguente.

```
dotnet codeartifact-creds command
```
+ `configure set profile profile`: configura il provider di credenziali per utilizzare il profilo fornito. AWS 
+ `configure unset profile`: rimuove il profilo configurato, se impostato.
+ `install`: copia il provider di credenziali nella `plugins` cartella.
+ `install --profile profile`: copia il provider di credenziali nella `plugins` cartella e lo configura per utilizzare il profilo fornito. AWS 
+ `uninstall`: disinstalla il provider di credenziali. Ciò non rimuove le modifiche al file di configurazione.
+ `uninstall --delete-configuration`: disinstalla il provider di credenziali e rimuove tutte le modifiche al file di configurazione.

### CodeArtifact NuGet Registri di Credential Provider
<a name="nuget-cred-provider-reference-logs"></a>

Per abilitare la registrazione per il CodeArtifact NuGet Credential Provider, è necessario impostare il file di registro nel proprio ambiente. I log del provider di credenziali contengono informazioni di debug utili come:
+ Il profilo utilizzato per effettuare le connessioni AWS 
+ Eventuali errori di autenticazione
+ Se l'endpoint fornito non è un URL CodeArtifact 

**Imposta il file di registro del CodeArtifact NuGet Credential Provider**

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

Dopo aver impostato il file di registro, qualsiasi `codeartifact-creds` comando aggiungerà il relativo output di registro al contenuto di quel file.

## CodeArtifact NuGet Versioni di Credential Provider
<a name="nuget-cred-provider-history"></a>

La tabella seguente contiene informazioni sulla cronologia delle versioni e collegamenti per il download per il CodeArtifact NuGet Credential Provider.


| Versione | Modifiche | Data di pubblicazione | Link per il download (S3) | 
| --- | --- | --- | --- | 
|  1.0.2 (più recente)  |  Dipendenze aggiornate  |  26/06/2024  |  [Scarica v1.0.2](https://d12ov9682v6hj.cloudfront.net/codeartifact-nuget-credentialprovider-v1.0.2.zip)  | 
|  1.0.1  |  È stato aggiunto il supporto per i profili net5, net6 e SSO  |  03/05/2022  |  [Scarica v1.0.1](https://a.co/cAIkhV1)  | 
|  1.0.0  |  Versione iniziale di CodeArtifact NuGet Credential Provider  |  20/11/2020  |  [Scarica v1.0.0](https://a.co/8b2cENb)  | 

# NuGet normalizzazione del nome del pacchetto, della versione e del nome dell'asset
<a name="nuget-name-normalization"></a>

CodeArtifact normalizza i nomi e le versioni dei pacchetti e delle risorse prima di archiviarli, il che significa che i nomi o le versioni dei pacchetti CodeArtifact possono essere diversi da quelli forniti al momento della pubblicazione del pacchetto o della risorsa.

**Normalizzazione dei nomi dei pacchetti:** CodeArtifact normalizza i nomi dei NuGet pacchetti convertendo tutte le lettere in minuscolo.

**Normalizzazione della versione del NuGet pacchetto:** CodeArtifact normalizza le versioni dei pacchetti utilizzando lo stesso schema di. NuGet Le seguenti informazioni sono tratte dai [numeri di versione normalizzati](https://docs.microsoft.com/en-us/nuget/concepts/package-versioning#normalized-version-numbers) riportati nella documentazione. NuGet 
+ Gli zeri iniziali vengono rimossi dai numeri di versione:
  + `1.00`viene trattato come `1.0`
  + `1.01.1`viene trattato come `1.1.1`
  + `1.00.0.1`viene trattato come `1.0.0.1`
+ Verrà omesso uno zero nella quarta parte del numero di versione:
  + `1.0.0.0`viene trattato come `1.0.0`
  + `1.0.01.0`viene trattato come `1.0.1`
+ SemVer i metadati della build 2.0.0 vengono rimossi:
  + `1.0.7+r3456`viene trattato come `1.0.7`

**Normalizzazione del nome dell'asset del pacchetto:** CodeArtifact costruisce il nome dell'asset del NuGet pacchetto dal nome del pacchetto e dalla versione del pacchetto normalizzati.

Il nome del pacchetto e il nome della versione non normalizzati possono essere utilizzati con le richieste API e CLI perché CodeArtifact esegue la normalizzazione degli input del nome del pacchetto e della versione per tali richieste. Ad esempio, gli input di `--package Newtonsoft.JSON` e `--version 12.0.03.0` verrebbero normalizzati e restituirebbero un pacchetto con un nome e una versione di pacchetto normalizzati di. `newtonsoft.json` `12.0.3`

È necessario utilizzare il nome dell'asset del pacchetto normalizzato nelle richieste API e CLI CodeArtifact poiché non esegue la normalizzazione dell'input. `--asset`

È necessario utilizzare nomi e versioni normalizzati in. ARNs

Per trovare il nome normalizzato di un pacchetto, usa il `aws codeartifact list-packages` comando. Per ulteriori informazioni, consulta [Elenca i nomi dei pacchetti](list-packages.md).

Per trovare il nome non normalizzato di un pacchetto, usa il comando. `aws codeartifact describe-package-version` Il nome non normalizzato del pacchetto viene restituito nel campo. `displayName` Per ulteriori informazioni, consulta [Visualizza e aggiorna i dettagli e le dipendenze della versione del pacchetto](describe-package-version.md).

# NuGet compatibilità
<a name="nuget-compatibility"></a>

 Questa guida contiene informazioni sulla CodeArtifact compatibilità con diversi NuGet strumenti e versioni. 

**Topics**
+ [NuGet Compatibilità generale](#nuget-version-support)
+ [NuGet supporto da riga di comando](#nuget-command-line-support)

## NuGet Compatibilità generale
<a name="nuget-version-support"></a>

AWS CodeArtifact supporta NuGet 4.8 e versioni successive.

AWS CodeArtifact supporta solo la versione 3 del NuGet protocollo HTTP. Ciò significa che alcuni comandi CLI che si basano sulla versione 2 del protocollo non sono supportati. Per maggiori informazioni, consulta la sezione [supporto per i comandi nuget.exe](#nuget-command-support).

AWS CodeArtifact non supporta PowerShellGet 2.x.

## NuGet supporto da riga di comando
<a name="nuget-command-line-support"></a>

AWS CodeArtifact supporta gli NuGet strumenti CLI (`nuget.exe`) e.NET Core (`dotnet`).

### supporto per i comandi nuget.exe
<a name="nuget-command-support"></a>

Poiché supporta CodeArtifact solo il protocollo HTTP NuGet di V3 of, i seguenti comandi non funzioneranno se utilizzati contro CodeArtifact risorse:
+ `list`: Il `nuget list` comando visualizza un elenco di pacchetti da una determinata fonte. Per ottenere un elenco di pacchetti in un CodeArtifact repository, puoi usare il [Elenca i nomi dei pacchetti](list-packages.md) comando dalla AWS CLI.