

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