

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verwendung CodeArtifact mit der Nuget- oder Dotnet-CLI
<a name="nuget-cli"></a>

Sie können CLI-Tools wie `nuget` und verwenden`dotnet`, um Pakete zu veröffentlichen und zu konsumieren CodeArtifact. Dieses Dokument enthält Informationen zur Konfiguration der CLI-Tools und deren Verwendung zum Veröffentlichen oder Verwenden von Paketen.

**Topics**
+ [Konfigurieren Sie die Nuget- oder Dotnet-CLI](#nuget-configure-cli)
+ [Verbrauchen Sie Pakete NuGet von CodeArtifact](#nuget-consume-cli)
+ [Veröffentlichen Sie NuGet Pakete in CodeArtifact](#nuget-publish-cli)
+ [CodeArtifact NuGet Referenz zum Credential Provider](#nuget-cred-provider-reference)
+ [CodeArtifact NuGet Versionen des Credential Providers](#nuget-cred-provider-history)

## Konfigurieren Sie die Nuget- oder Dotnet-CLI
<a name="nuget-configure-cli"></a>

Sie können die Nuget- oder Dotnet-CLI mit dem CodeArtifact NuGet Credential Provider, mit oder manuell konfigurieren. AWS CLI Die Konfiguration NuGet mit dem Credential Provider wird dringend empfohlen, um die Einrichtung zu vereinfachen und die Authentifizierung fortzusetzen.

### Methode 1: Konfiguration mit dem CodeArtifact NuGet Credential Provider
<a name="nuget-configure-cli-cred-provider"></a>

Der CodeArtifact NuGet Credential Provider vereinfacht die Authentifizierung und Konfiguration CodeArtifact mit NuGet CLI-Tools. CodeArtifact Authentifizierungstoken sind maximal 12 Stunden gültig. Um zu vermeiden, dass das Token manuell aktualisiert werden muss, während die Nuget- oder Dotnet-CLI verwendet wird, ruft der Anmeldeinformationsanbieter regelmäßig ein neues Token ab, bevor das aktuelle Token abläuft. 

**Wichtig**  
Um den Anbieter für Anmeldeinformationen zu verwenden, stellen Sie sicher, dass alle vorhandenen AWS CodeArtifact Anmeldeinformationen aus Ihrer `nuget.config` Datei gelöscht werden, die möglicherweise manuell oder durch Ausführen von to configure zuvor hinzugefügt wurden. `aws codeartifact login` NuGet 

**Installieren und konfigurieren Sie den CodeArtifact NuGet Credential Provider**

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

1. Laden Sie die neueste Version von [AWS herunter. CodeArtifact. NuGet. CredentialProvider Tool von NuGet .org](https://www.nuget.org/packages/AWS.CodeArtifact.NuGet.CredentialProvider) mit dem folgenden `dotnet` Befehl.

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

1. Verwenden Sie den `codeartifact-creds install` Befehl, um den Credential Provider in den NuGet Plugins-Ordner zu kopieren.

   ```
   dotnet codeartifact-creds install
   ```

1. (Optional): Legen Sie das AWS Profil fest, das Sie mit dem Anmeldeinformationsanbieter verwenden möchten. Wenn nicht festgelegt, verwendet der Anmeldeinformationsanbieter das Standardprofil. Weitere Informationen zu AWS CLI Profilen finden Sie unter [Benannte Profile](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html).

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

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

Führen Sie die folgenden Schritte aus, um den CodeArtifact NuGet Credential Provider mithilfe der NuGet CLI aus einem Amazon S3 S3-Bucket zu installieren und zu konfigurieren. Der Anmeldeinformationsanbieter verwendet das AWS CLI Standardprofil. Weitere Informationen zu Profilen finden Sie unter [Benannte](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) Profile.

1. Laden Sie die neueste Version des [CodeArtifact NuGet Credential Providers (codeartifact-nuget-credentialprovider.zip)](https://a.co/dbGqKq7) aus einem Amazon S3 S3-Bucket herunter.

   Informationen zum Anzeigen und Herunterladen früherer Versionen finden Sie unter. [CodeArtifact NuGet Versionen des Credential Providers](#nuget-cred-provider-history)

1. Entpacken Sie die Datei.

1. Kopieren Sie die **AWS. CodeArtifact. NuGetCredentialProvider**Ordner aus dem **Netfx-Ordner** zu `%user_profile%/.nuget/plugins/netfx/` unter Windows oder `~/.nuget/plugins/netfx` unter Linux oder macOS.

1. Kopieren Sie die **AWS. CodeArtifact. NuGetCredentialProvider**Ordner aus dem **Netcore-Ordner** zu `%user_profile%/.nuget/plugins/netcore/` unter Windows oder `~/.nuget/plugins/netcore` unter Linux oder macOS.

------

Nachdem Sie ein Repository erstellt und den Anmeldeinformationsanbieter konfiguriert haben, können Sie die Tools `nuget` oder `dotnet` CLI verwenden, um Pakete zu installieren und zu veröffentlichen. Weitere Informationen erhalten Sie unter [Verbrauchen Sie Pakete NuGet von CodeArtifact](#nuget-consume-cli) und [Veröffentlichen Sie NuGet Pakete in CodeArtifact](#nuget-publish-cli).

### Methode 2: Konfigurieren Sie Nuget oder Dotnet mit dem Login-Befehl
<a name="nuget-configure-login"></a>

Der `codeartifact login` Befehl im AWS CLI fügt Ihrer NuGet Konfigurationsdatei einen Repository-Endpunkt und ein Autorisierungstoken hinzu, sodass Nuget oder Dotnet eine Verbindung zu Ihrem CodeArtifact Repository herstellen können. Dadurch wird die NuGet Konfiguration auf Benutzerebene geändert, die sich `%appdata%\NuGet\NuGet.Config` für Windows `~/.config/NuGet/NuGet.Config` und/oder `~/.nuget/NuGet/NuGet.Config` für Mac/Linux befindet. [Weitere Informationen zu NuGet Konfigurationen finden Sie unter Allgemeine Konfigurationen. NuGet ](https://docs.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior) 

**Konfigurieren Sie Nuget oder Dotnet mit dem Befehl `login`**

1. Konfigurieren Sie Ihre AWS Anmeldeinformationen für die AWS CLI, wie unter beschrieben. [Erste Schritte mit CodeArtifact](getting-started.md)

1. Stellen Sie sicher, dass das NuGet CLI-Tool (`nuget`oder`dotnet`) ordnungsgemäß installiert und konfiguriert wurde. Anweisungen finden Sie in der [Nuget](https://docs.microsoft.com/en-us/nuget/reference/nuget-exe-cli-reference) - oder [Dotnet-Dokumentation](https://docs.microsoft.com/en-us/dotnet/core/install/).

1. Verwenden Sie den CodeArtifact `login` Befehl, um Anmeldeinformationen für die Verwendung mit abzurufen. NuGet
**Anmerkung**  
Wenn Sie auf ein Repository in einer Domain zugreifen, die Sie besitzen, müssen Sie keine Daten angeben`--domain-owner`. Weitere Informationen finden Sie unter [Kontenübergreifende Domänen](domain-overview.md#domain-overview-cross-account).

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

**Wichtig**  
**Linux- und macOS-Benutzer:** Da die Verschlüsselung auf Nicht-Windows-Plattformen nicht unterstützt wird, werden Ihre abgerufenen Anmeldeinformationen als Klartext in Ihrer Konfigurationsdatei gespeichert.

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

------

Der Login-Befehl wird:
+ Rufen Sie CodeArtifact mithilfe Ihrer AWS Anmeldeinformationen ein Autorisierungstoken ab. 
+ Aktualisieren Sie Ihre NuGet Konfiguration auf Benutzerebene mit einem neuen Eintrag für Ihre NuGet Paketquelle. Die Quelle, die auf Ihren CodeArtifact Repository-Endpunkt verweist, wird aufgerufen`domain_name/repo_name`.

Der Standardzeitraum für die Autorisierung nach dem Aufruf `login` beträgt 12 Stunden. Sie `login` müssen aufgerufen werden, um das Token regelmäßig zu aktualisieren. Weitere Hinweise zu dem mit dem `login` Befehl erstellten Autorisierungstoken finden Sie unter[Mit dem Befehl erstellte Tokens `login`](tokens-authentication.md#auth-token-login).

Nachdem Sie ein Repository erstellt und die Authentifizierung konfiguriert haben, können Sie die `msbuild` CLI-Clients `nuget``dotnet`, oder verwenden, um Pakete zu installieren und zu veröffentlichen. Weitere Informationen erhalten Sie unter [Verbrauchen Sie Pakete NuGet von CodeArtifact](#nuget-consume-cli) und [Veröffentlichen Sie NuGet Pakete in CodeArtifact](#nuget-publish-cli).

### Methode 3: Konfigurieren Sie Nuget oder Dotnet ohne den Login-Befehl
<a name="nuget-configure-without-login"></a>

Für die manuelle Konfiguration müssen Sie Ihrer NuGet Konfigurationsdatei einen Repository-Endpunkt und ein Autorisierungstoken hinzufügen, damit Nuget oder Dotnet eine Verbindung zu Ihrem CodeArtifact Repository herstellen können. 

**Konfigurieren Sie Nuget oder Dotnet manuell, um eine Verbindung zu Ihrem Repository herzustellen. CodeArtifact **

1. Ermitteln Sie Ihren CodeArtifact Repository-Endpunkt mithilfe des Befehls `get-repository-endpoint` AWS CLI .

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

   Beispielausgabe:

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

1. Holen Sie sich von Ihrem Paketmanager mithilfe des `get-authorization-token` AWS CLI Befehls ein Autorisierungstoken, um eine Verbindung zu Ihrem Repository herzustellen.

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

   Beispielausgabe:

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

1. Erstellen Sie die vollständige Repository-Endpunkt-URL, indem `/v3/index.json` Sie sie an die `get-repository-endpoint` in Schritt 3 zurückgegebene URL anhängen.

1. Konfigurieren Sie Nuget oder Dotnet so, dass der Repository-Endpunkt aus Schritt 1 und das Autorisierungstoken aus Schritt 2 verwendet werden.
**Anmerkung**  
Die Quell-URL muss auf enden, damit Nuget oder Dotnet erfolgreich eine Verbindung zu einem Repository herstellen können. `/v3/index.json` CodeArtifact 

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

   **Linux- und macOS-Benutzer:** Da Verschlüsselung auf Nicht-Windows-Plattformen nicht unterstützt wird, müssen Sie dem folgenden Befehl das `--store-password-in-clear-text` Flag hinzufügen. Beachten Sie, dass dadurch Ihr Passwort als Klartext in Ihrer Konfigurationsdatei gespeichert wird.

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

**Anmerkung**  
Verwenden Sie den `dotnet nuget update source` Befehl, um eine bestehende Quelle zu aktualisieren.

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

------

   Beispielausgabe:

   ```
   Package source with Name: domain_name/repo_name added successfully.
   ```
**Anmerkung**  
Um einen Dual-Stack-Endpunkt zu verwenden, verwenden Sie den `codeartifact.region.on.aws` Endpunkt.

## Verbrauchen Sie Pakete NuGet von CodeArtifact
<a name="nuget-consume-cli"></a>

Sobald Sie [ NuGet mit konfiguriert](https://docs.aws.amazon.com//codeartifact/latest/ug/nuget-cli.html) haben CodeArtifact, können Sie NuGet Pakete nutzen, die in Ihrem CodeArtifact Repository oder einem seiner Upstream-Repositorys gespeichert sind.

Um eine Paketversion aus einem CodeArtifact Repository oder einem seiner Upstream-Repositorys mit `nuget` oder zu verwenden`dotnet`, führen Sie den folgenden Befehl aus und ersetzen *packageName* Sie ihn durch den Namen des Pakets, das Sie nutzen möchten, und *packageSourceName* durch den Quellnamen für Ihr CodeArtifact Repository in Ihrer NuGet Konfigurationsdatei. Wenn Sie den `login` Befehl zur NuGet Konfiguration Ihrer Konfiguration verwendet haben, lautet *domain\$1name/repo\$1name* der Quellname.

**Anmerkung**  
Wenn ein Paket angefordert wird, speichert der NuGet Client im Cache, welche Versionen dieses Pakets existieren. Aufgrund dieses Verhaltens kann eine Installation für ein Paket fehlschlagen, das zuvor angefordert wurde, bevor die gewünschte Version verfügbar wurde. Um diesen Fehler zu vermeiden und ein vorhandenes Paket erfolgreich zu installieren, können Sie entweder den NuGet Cache vor einer Installation mit `nuget locals all --clear` oder leeren oder vermeiden`dotnet nuget locals all --clear`, dass der Cache während der `restore` Befehle `install` und verwendet wird, indem Sie die `-NoCache` Option für `nuget` oder die `--no-cache` Option für angeben`dotnet`.

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

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

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

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

------

**Um eine bestimmte Version eines Pakets zu installieren**

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

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

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

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

------

Weitere Informationen finden Sie [unter Pakete mit der CLI nuget.exe](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-nuget-cli) [verwalten oder Pakete mit der dotnet-CLI installieren und verwalten](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-dotnet-cli) in der *Microsoft-Dokumentation*.

### Konsumieren Sie NuGet Pakete von .org NuGet
<a name="nuget-consume-nuget-gallery"></a>

Sie können NuGet Pakete von [NuGet.org](https://www.nuget.org/) über ein CodeArtifact Repository konsumieren, indem Sie das Repository mit einer externen Verbindung zu **NuGet.org** konfigurieren. Pakete, die von **NuGet.org** konsumiert werden, werden aufgenommen und in Ihrem CodeArtifact Repository gespeichert. Weitere Hinweise zum Hinzufügen externer Verbindungen finden Sie unter[Ein CodeArtifact Repository mit einem öffentlichen Repository Connect](external-connection.md).

## Veröffentlichen Sie NuGet Pakete in CodeArtifact
<a name="nuget-publish-cli"></a>

Sobald Sie [ NuGet mit konfiguriert](https://docs.aws.amazon.com//codeartifact/latest/ug/nuget-cli.html) haben, können Sie `nuget` oder verwenden CodeArtifact, um Paketversionen in Repositorys `dotnet` zu CodeArtifact veröffentlichen.

Um eine Paketversion in ein CodeArtifact Repository zu übertragen, führen Sie den folgenden Befehl mit dem vollständigen Pfad zu Ihrer `.nupkg` Datei und dem Quellnamen für Ihr CodeArtifact Repository in Ihrer NuGet Konfigurationsdatei aus. Wenn Sie den `login` Befehl zur NuGet Konfiguration Ihrer Konfiguration verwendet haben, lautet der Quellname`domain_name/repo_name`.

**Anmerkung**  
Sie können ein NuGet Paket erstellen, wenn Sie keins veröffentlichen möchten. Weitere Informationen finden Sie in der *Microsoft-Dokumentation* unter [Workflow zur Paketerstellung](https://docs.microsoft.com/en-us/nuget/create-packages/overview-and-workflow).

------
#### [ 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 Referenz zum Credential Provider
<a name="nuget-cred-provider-reference"></a>

Der CodeArtifact NuGet Credential Provider erleichtert die Konfiguration und Authentifizierung NuGet Ihrer Repositorys. CodeArtifact 

### CodeArtifact NuGet Befehle des Credential Providers
<a name="nuget-cred-provider-reference-commands"></a>

Dieser Abschnitt enthält die Liste der Befehle für den CodeArtifact NuGet Credential Provider. Diesen Befehlen muss ein Präfix `dotnet codeartifact-creds` wie im folgenden Beispiel vorangestellt werden.

```
dotnet codeartifact-creds command
```
+ `configure set profile profile`: Konfiguriert den Anmeldeinformationsanbieter für die Verwendung des bereitgestellten Profils. AWS 
+ `configure unset profile`: Entfernt das konfigurierte Profil, falls es gesetzt ist.
+ `install`: Kopiert den Anmeldeinformationsanbieter in den `plugins` Ordner.
+ `install --profile profile`: Kopiert den Anbieter für Anmeldeinformationen in den `plugins` Ordner und konfiguriert ihn so, dass er das angegebene Profil verwendet. AWS 
+ `uninstall`: Deinstalliert den Anmeldeinformationsanbieter. Dadurch werden die Änderungen an der Konfigurationsdatei nicht entfernt.
+ `uninstall --delete-configuration`: Deinstalliert den Anmeldeinformationsanbieter und entfernt alle Änderungen an der Konfigurationsdatei.

### CodeArtifact NuGet Logs des Credential Providers
<a name="nuget-cred-provider-reference-logs"></a>

Um die Protokollierung für den CodeArtifact NuGet Credential Provider zu aktivieren, müssen Sie die Protokolldatei in Ihrer Umgebung einrichten. Die Logs des Credential Providers enthalten hilfreiche Debugging-Informationen wie:
+ Das AWS Profil, das zum Herstellen von Verbindungen verwendet wird
+ Irgendwelche Authentifizierungsfehler
+ Wenn der angegebene Endpunkt keine CodeArtifact URL ist

**Legen Sie die Logdatei des CodeArtifact NuGet Credential Providers fest**

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

Nachdem die Protokolldatei eingerichtet wurde, hängt jeder `codeartifact-creds` Befehl seine Protokollausgabe an den Inhalt dieser Datei an.

## CodeArtifact NuGet Versionen des Credential Providers
<a name="nuget-cred-provider-history"></a>

Die folgende Tabelle enthält Informationen zum Versionsverlauf und Download-Links für den CodeArtifact NuGet Credential Provider.


| Version | Änderungen | Datum der Veröffentlichung | Link herunterladen (S3) | 
| --- | --- | --- | --- | 
|  1.0.2 (aktuell)  |  Aktualisierte Abhängigkeiten  |  26.06.2024  |  [Laden Sie v1.0.2 herunter](https://d12ov9682v6hj.cloudfront.net/codeartifact-nuget-credentialprovider-v1.0.2.zip)  | 
|  1.0.1  |  Unterstützung für Net5-, Net6- und SSO-Profile hinzugefügt  |  05.03.2022  |  [Laden Sie v1.0.1 herunter](https://a.co/cAIkhV1)  | 
|  1.0.0  |  Erste Version des CodeArtifact NuGet Credential Providers  |  20.11.2020  |  [Laden Sie v1.0.0 herunter](https://a.co/8b2cENb)  | 