

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# NuGetでCodeArtifactを使う
<a name="using-nuget"></a>

以下のトピックでは、CodeArtifactを使用した`NuGet`パッケージの消費および公開方法について説明します。

**注記**  
AWSCodeArtifactは[NuGet.exe バージョン 4.8](https://docs.microsoft.com/en-us/nuget/release-notes/nuget-4.8-rtm) 以上のみをサポートします。



**Topics**
+ [Visual Studio で CodeArtifact を使用する](nuget-visual-studio.md)
+ [CodeArtifact をnuget または dotnet で使用する](nuget-cli.md)
+ [NuGet パッケージ名、バージョン、アセット名の正規化](nuget-name-normalization.md)
+ [NuGet の互換性](nuget-compatibility.md)

# Visual Studio で CodeArtifact を使用する
<a name="nuget-visual-studio"></a>

 CodeArtifact 認証情報プロバイダーを使用して、Visual Studio で CodeArtifact からパッケージを直接使用できます。認証情報プロバイダーは、Visual Studio での CodeArtifact リポジトリのセットアップと認証を簡素化し、[AWS Toolkit for Visual Studio](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/welcome.html) で使用可能です。

**注記**  
 AWS Toolkit for Visual Studio は、Visual Studio for Mac では使用できません。

CLI ツールで NuGet を設定して使用するには、[CodeArtifact をnuget または dotnet CLI で使用する](nuget-cli.md) を参照してください。

**Topics**
+ [CodeArtifact 認証情報プロバイダーを使用して、Visual Studio を設定します。](#nuget-vs-cred-provider)
+ [Visual Studio のパッケージマネージャーコンソールを使用する](#built-in-nuget-terminal-vs)

## CodeArtifact 認証情報プロバイダーを使用して、Visual Studio を設定します。
<a name="nuget-vs-cred-provider"></a>

CodeArtifact 認証情報プロバイダーは、CodeArtifact と Visual Studio 間のセットアップと継続的な認証を簡素化します。CodeArtifact 認証トークンは、最大 12 時間有効です。Visual Studio での作業中にトークンを手動で更新する必要がないように、資格情報プロバイダーは、現在のトークンの有効期限が切れる前に定期的に新しいトークンを取得します。

**重要**  
認証情報プロバイダーを使用するには、手動または `aws codeartifact login` を実行して追加された可能性のある `nuget.config` ファイルから既存のAWS CodeArtifactが削除されていることを確認します。

**AWS Toolkit for Visual Studio を使用して、Visual Studioで CodeArtifact を使用する**

1. 以下の手順を使用して、AWS Toolkit for Visual Studio をインストールします。このツールキットは、次の手順を使用して Visual Studio 2017 および 2019 と互換性があります。AWSCodeArtifact は Visual Studio 2015 以前をサポートしていません。

   1.  Visual Studio 2017 および Visual Studio 2019 の Toolkit for Visual Studio は、[Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=AmazonWebServices.AWSToolkitforVisualStudio2017) で配信されています。また、Visual Studio 内でツールキットをインストールおよび更新するには、**[Tools]** ≫ **[Extensions and Updates]** (Visual Studio 2017) または **[Extensions]** ≫ **[Manage Extensions]** (Visual Studio 2019) の順に選択します。

   1.  ツールキットをインストールしたら、**表示** メニューから **AWS エクスプローラ** を選択してツールキットを開きます。

1. *AWS Toolkit for Visual Studioユーザーガイド* の [AWS認証情報の提供](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/credentials.html) にある手順に従って、AWS認証情報でToolkit for Visual Studio を設定します。　

1. (オプション) AWS CodeArtifact で使用するプロファイルを設定します。設定されていない場合、CodeArtifact はデフォルトのプロファイルを使用します。プロファイルを設定するには、**ツール > NuGet パッケージマネージャー > CodeArtifact AWS プロフィールの選択** に移動します。

1. Visual Studio で、CodeArtifact リポジトリをパッケージソースとして追加します。

   1. **AWSエクスプローラ** ウィンドウでリポジトリに移動し、右クリックして `Copy NuGet Source Endpoint` を選択します。

   1. **ツール > オプション** コマンドを使用して、**NuGet パッケージマネージャー** までスクロールします。

   1. **パッケージソース** ノードを選択します。

   1. **\$1** を選択して名前を編集し、ステップ 3a でコピーしたリポジトリ URL エンドポイントを **送信元** ボックスに貼り付け、**更新**を選択します。

   1. 新しく追加したパッケージソースのチェックボックスを選択して有効にします。
**注記**  
**Nuget.org** への外部接続を CodeArtifact リポジトリに追加し、Visual Studio で **nuget.org** パッケージソースを無効にすることをお勧めします。外部接続を使用する場合、**Nuget.org** から取得されたすべてのパッケージは、 CodeArtifact リポジトリに保存されます。**Nuget.org** が使用できなくなっても、アプリケーションの依存関係は CI ビルドとローカル開発で引き続き使用できます。外部接続の詳細については、「[CodeArtifact リポジトリをパブリックリポジトリに接続する](external-connection.md)」を参照してください。

1. Visual Studio を再起動して、変更を有効にします。

設定後、Visual Studio は CodeArtifact リポジトリ、その上流のリポジトリー、または外部接続を追加した場合は [Nuget.org](https://www.nuget.org/) からパッケージを消費できます。Visual Studio での NuGet パッケージの参照とインストールの詳細については、*NuGet ドキュメント* の [NuGet パッケージマネージャーを使用して Visual Studio でパッケージをインストールして管理する](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-visual-studio) を参照してください。

## Visual Studio のパッケージマネージャーコンソールを使用する
<a name="built-in-nuget-terminal-vs"></a>

Visual Studio のパッケージマネージャーコンソールは、Visual Studio バージョンの CodeArtifact 認証情報プロバイダーを使用しません。これを使用するには、コマンドライン認証情報プロバイダーを設定する必要があります。詳細については「[CodeArtifact をnuget または dotnet CLI で使用する](nuget-cli.md)」を参照してください。

# CodeArtifact をnuget または dotnet CLI で使用する
<a name="nuget-cli"></a>

`nuget` および `dotnet` のような CLI ツールを使用して、CodeArtifact からパッケージを公開して消費できます。このドキュメントでは、CLI ツールの設定と、それらを使用してパッケージを公開または使用する方法について説明します。

**Topics**
+ [nuget または dotnet CLI を設定する](#nuget-configure-cli)
+ [CodeArtifact から NuGet パッケージを消費する](#nuget-consume-cli)
+ [NuGet パッケージを CodeArtifact に公開する](#nuget-publish-cli)
+ [CodeArtifact NuGet 認証情報プロバイダーの参照](#nuget-cred-provider-reference)
+ [CodeArtifact NuGet 認証情報プロバイダーのバージョン](#nuget-cred-provider-history)

## nuget または dotnet CLI を設定する
<a name="nuget-configure-cli"></a>

nuget または dotnet CLI は、CodeArtifact NuGet 認証情報プロバイダーを使用して、 を使用して AWS CLI、または手動で設定できます。セットアップを簡素化し、認証を継続するために、NuGet を認証情報プロバイダーで設定することを強くお勧めします。

### 方法 1: CodeArtifact NuGet 認証情報プロバイダーを使用して設定する
<a name="nuget-configure-cli-cred-provider"></a>

CodeArtifact NuGet 認証情報プロバイダーは、NuGet CLI ツールを使用した CodeArtifact の認証と設定を簡素化します。CodeArtifact 認証トークンは、最大 12 時間有効です。nuget または dotnet CLI の使用中にトークンを手動で更新する必要がないように、認証情報プロバイダーは現在のトークンの有効期限が切れる前に定期的に新しいトークンを取得します。

**重要**  
認証情報プロバイダーを使用するには、手動で追加された既存の AWS CodeArtifact 認証情報、または以前に NuGet を設定するために を実行して追加された可能性のある既存の CodeArtifact 認証情報が`nuget.config`ファイルからクリアされていることを確認します。 `aws codeartifact login` NuGet 

**CodeArtifact NuGet 認証情報プロバイダーのインストールと設定**

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

1. 以下の `dotnet` コマンドを使用して、[NuGet.org の AWS.CodeArtifact.NuGet.CredentialProvider ツール](https://www.nuget.org/packages/AWS.CodeArtifact.NuGet.CredentialProvider)をダウンロードします。

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

1. `codeartifact-creds install` コマンドを使用して、認証情報プロバイダーを NuGet プラグインフォルダにコピーします。

   ```
   dotnet codeartifact-creds install
   ```

1. (オプション): 認証情報プロバイダーで使用する AWS プロファイルを設定します。設定されていない場合は、認証情報プロバイダーはデフォルトのプロファイルを使用します。 AWS CLI プロファイルの詳細については、[「名前付きプロファイル](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)」を参照してください。

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

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

次の手順を実行して、NuGet CLI を使用して Amazon S3 バケットから CodeArtifact NuGet 認証情報プロバイダーをインストールして設定します。認証情報プロバイダーはデフォルトの AWS CLI プロファイルを使用します。プロファイルの詳細については、[「名前付きプロファイル](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)」を参照してください。

1. [CodeArtifact NuGet 認証情報プロバイダー (codeartifact-nuget-credentialprovider.zip)](https://a.co/dbGqKq7) の最新バージョンを Amazon S3 バケットからダウンロードします。

   以前のバージョンを表示してダウンロードするには、「[CodeArtifact NuGet 認証情報プロバイダーのバージョン](#nuget-cred-provider-history)」を参照してください。

1. ファイル を解凍します。

1. **AWS.CodeArtifact.NuGetCredentialProvider** フォルダを、**netfx** フォルダから、Windows の場合は `%user_profile%/.nuget/plugins/netfx/`、LinuxまたはMacOSの場合は `~/.nuget/plugins/netfx` にコピーします。

1. **AWS.CodeArtifact.NuGetCredentialProvider** フォルダを、**netcore** フォルダから、Windows の場合 `%user_profile%/.nuget/plugins/netcore/` は、LinuxまたはMacOS の場合は `~/.nuget/plugins/netcore` にコピーします。

------

リポジトリを作成して認証情報プロバイダーを設定したら、`nuget` または `dotnet` CLI ツールを使用して、パッケージをインストールして公開できます。詳細については、「[CodeArtifact から NuGet パッケージを消費する](#nuget-consume-cli)」および「[NuGet パッケージを CodeArtifact に公開する](#nuget-publish-cli)」を参照してください。

### 方法 2: login コマンドで nuget または dotnet を設定する
<a name="nuget-configure-login"></a>

の `codeartifact login` コマンドは、NuGet 設定ファイルにリポジトリエンドポイントと認可トークン AWS CLI を追加し、nuget または dotnet が CodeArtifact リポジトリに接続できるようにします。これにより、Windows の場合は`%appdata%\NuGet\NuGet.Config`、Mac/Linux の場合は `~/.config/NuGet/NuGet.Config` または `~/.nuget/NuGet/NuGet.Config` にあるユーザーレベルの NuGet 設定が変更されます。NuGet 設定の詳細については、[一般的な NuGet の設定](https://docs.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior) を参照してください。

**nuget または dotnet を `login` コマンドで設定する**

1. の説明に従って AWS CLI、 で使用する AWS 認証情報を設定します[CodeArtifact の開始方法](getting-started.md)。

1. NuGet CLI ツール (`nuget`または`dotnet`) が正しくインストールされ、設定されていることを確認します。手順については、[nuget](https://docs.microsoft.com/en-us/nuget/reference/nuget-exe-cli-reference) または [dotnet](https://docs.microsoft.com/en-us/dotnet/core/install/) ドキュメントを参照してください。

1. CodeArtifact `login` コマンドを使用して、NuGet で使用する認証情報を取得する。
**注記**  
所有しているドメインのリポジトリにアクセスする場合は、`--domain-owner` を含める必要はありません。詳細については、「[クロスアカウントドメイン](domain-overview.md#domain-overview-cross-account)」を参照してください。

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

**重要**  
**Linux および MacOS のユーザー:** 暗号化は Windows 以外のプラットフォームではサポートされていないため、取得した資格情報はプレーンテキストとして設定ファイルに保存されます。

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

------

login コマンドは次の処理を行います: 
+  AWS 認証情報を使用して、CodeArtifact から認可トークンを取得します。
+ ユーザーレベルの NuGet 設定を、NuGet パッケージソースの新しいエントリで更新します。CodeArtifact リポジトリエンドポイントを指すソースは `domain_name/repo_name` と呼ばれます。

`login` を呼び出した後のデフォルトの認可期間は12時間であり、トークンを定期的に更新するには、`login` を呼び出す必要があります。`login` コマンドを使用して作成された認可トークンの詳細については、「[`login`コマンドで作成されたトークン](tokens-authentication.md#auth-token-login)」を参照してください。

リポジトリを作成して認証を設定したら、`nuget`、`dotnet` または `msbuild` パッケージを使用して、CLI クライアントをインストールして公開できます。詳細については、「[CodeArtifact から NuGet パッケージを消費する](#nuget-consume-cli)」および「[NuGet パッケージを CodeArtifact に公開する](#nuget-publish-cli)」を参照してください。

### 方法 3: login コマンドなしで nuget または dotnet を設定する
<a name="nuget-configure-without-login"></a>

マニュアル設定の場合、リポジトリエンドポイントと認可)トークンを NuGet 設定ファイルに追加して、nuget または dotnet が CodeArtifact リポジトリに接続できるようにする必要があります。

**CodeArtifact リポジトリに接続するには、nuget または dotnet を手動で設定します。**

1. `get-repository-endpoint` AWS CLI コマンドを使用して CodeArtifact リポジトリエンドポイントを決定します。

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

   出力例:

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

1. `get-authorization-token` AWS CLI コマンドを使用して、パッケージマネージャーからリポジトリに接続するための認可トークンを取得します。

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

   出力例:

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

1. ステップ 3 の `get-repository-endpoint` で返された URL に `/v3/index.json` を追加して、完全なリポジトリエンドポイント URL を作成します。

1. ステップ 1 のリポジトリエンドポイントとステップ 2 の認可トークンを使用するには、nuget または dotnet を設定します。
**注記**  
nuget または dotnet が CodeArtifact リポジトリに正常に接続できるようにするには、ソース URL の最後が `/v3/index.json` である必要があります。

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

   **Linux および MacOS のユーザー:** 暗号化は Windows 以外のプラットフォームではサポートされていないため、次のコマンドに `--store-password-in-clear-text` フラグを追加する必要があります。これにより、パスワードがプレーンテキストとして設定ファイルに保存されることに注意してください。

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

**注記**  
既存のソースを更新するには、`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
   ```

------

   出力例:

   ```
   Package source with Name: domain_name/repo_name added successfully.
   ```
**注記**  
デュアルスタックエンドポイントを使用するには、`codeartifact.region.on.aws` エンドポイントを使用してください。

## CodeArtifact から NuGet パッケージを消費する
<a name="nuget-consume-cli"></a>

いったん [CodeArtifact でNuGetを設定](https://docs.aws.amazon.com//codeartifact/latest/ug/nuget-cli.html) したら、CodeArtifact リポジトリまたはその上流リポジトリの 1 つに保存されている NuGet パッケージを使用できます。

CodeArtifact リポジトリまたはその上流リポジトリの 1 つからパッケージバージョンを `nuget` または `dotnet` で消費するには、次のコマンドを実行し、*packageName* を消費したいパッケージの名前で置き換え、*packageSourceName* をNuGet 設定ファイル内の CodeArtifact リポジトリのソース名で置き換えます。`login` コマンド を使用して NuGet 設定を設定した場合、ソース名は *domain\$1name/repo\$1name* です。

**注記**  
パッケージがリクエストされると、NuGet クライアントはパッケージのどのバージョンが存在するかをキャッシュします。この動作のため、目的のバージョンが入手可能になる前にリクエストされたパッケージのインストールが失敗することがあります。この問題を回避し、既存のパッケージを正常にインストールするには、`nuget locals all --clear` または `dotnet nuget locals all --clear` を使用してインストール前に NuGet キャッシュをクリアするか、または`nuget` の `-NoCache` オプションか `dotnet` の `--no-cache` オプションを指定して、`install` コマンドおよび `restore` コマンド中にキャッシュしないようにします。

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

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

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

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

------

**パッケージの特定バージョンをインストールするには**

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

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

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

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

------

詳細については、*マイクロソフトドキュメント* の [nuget.exe CLI を使用してパッケージを管理する](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-nuget-cli) または [dotnet CLI を使用してパッケージをインストールして管理する](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-dotnet-cli) を参照してください。

### NuGet.org から NuGet パッケージを消費する
<a name="nuget-consume-nuget-gallery"></a>

NuGet パッケージは、[Nuget.org](https://www.nuget.org/) への外部接続を設定することで、CodeArtifact リポジトリを介して **Nuget.org** から消費できます。**Nuget.org** から消費されたパッケージは、CodeArtifact リポジトリに取り込まれて保存されます。外部接続の追加方法の詳細については、「[CodeArtifact リポジトリをパブリックリポジトリに接続する](external-connection.md)」を参照してください。

## NuGet パッケージを CodeArtifact に公開する
<a name="nuget-publish-cli"></a>

いったん [CodeArtifact で NuGet を設定](https://docs.aws.amazon.com//codeartifact/latest/ug/nuget-cli.html) すると、`nuget` または `dotnet` を使用して CodeArtifact リポジトリにパッケージバージョンを公開できます。

パッケージバージョンを CodeArtifact リポジトリにプッシュするには、次のコマンドを、NuGet 設定ファイル内の `.nupkg` ファイルと CodeArtifact リポジトリのソース名にフルパスで実行します。`login` コマンドを使用して NuGet 設定を設定した場合、ソース名は `domain_name/repo_name` です。

**注記**  
公開するパッケージがない場合は、NuGet パッケージを作成できます。詳細については、*Microsoft ドキュメント* の [パッケージ作成ワークフロー](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 認証情報プロバイダーの参照
<a name="nuget-cred-provider-reference"></a>

CodeArtifact NuGet 認証情報プロバイダーを使用すると、CodeArtifact リポジトリを使用して NuGet を簡単に設定および認証できます。

### CodeArtifact NuGet 認証情報プロバイダーのコマンド
<a name="nuget-cred-provider-reference-commands"></a>

このセクションには、CodeArtifact NuGet 認証情報プロバイダーのコマンドリストが含まれます。これらのコマンドには、次の例のように、`dotnet codeartifact-creds` でプレフィックスを付ける必要があります。

```
dotnet codeartifact-creds command
```
+ `configure set profile profile`: 提供された AWS プロファイルを使用するように認証情報プロバイダーを設定します。
+ `configure unset profile`: 設定済みのプロファイルを削除します。
+ `install`: 認証情報プロバイダーを `plugins` フォルダにコピーします。
+ `install --profile profile`: 認証情報プロバイダーを `plugins`フォルダにコピーし、提供された AWS プロファイルを使用するように設定します。
+ `uninstall`: 認証情報プロバイダーをアンインストールします。これにより、設定ファイルに対する変更は削除されません。
+ `uninstall --delete-configuration`: 認証情報プロバイダーをアンインストールして、設定ファイルに対するすべての変更を削除します。

### CodeArtifact NuGet 認証情報プロバイダーのログ
<a name="nuget-cred-provider-reference-logs"></a>

CodeArtifact NuGet 認証情報プロバイダーのログを有効にするには、環境でログファイルを設定する必要があります。認証情報プロバイダーのログには、次のような有用なデバッグ情報が含まれています:
+ 接続に使用される AWS プロファイル
+ すべての認証エラー
+ 提供されたエンドポイントがCodeArtifact URLでない場合

**CodeArtifact NuGet 認証情報プロバイダーのログファイルを設定する**

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

ログファイルの設定後、`codeartifact-creds` コマンドはログ出力をそのファイルの内容に追加します。

## CodeArtifact NuGet 認証情報プロバイダーのバージョン
<a name="nuget-cred-provider-history"></a>

CodeArtifact NuGet 認証情報プロバイダーのバージョン履歴情報とダウンロードリンクを次の表に示します。


| バージョン | 変更 | 公開日 | ダウンロードリンク (S3) | 
| --- | --- | --- | --- | 
|  1.0.2 (最新)  |  依存関係を更新しました  |  06/26/2024  |  [v1.0.2 をダウンロードする](https://d12ov9682v6hj.cloudfront.net/codeartifact-nuget-credentialprovider-v1.0.2.zip)  | 
|  1.0.1  |  net5、net6、および SSO プロファイルのサポートが追加されました。  |  03/05/2022  |  [v1.0.1 をダウンロード](https://a.co/cAIkhV1)  | 
|  1.0.0  |  CodeArtifact NuGet 認証情報プロバイダーの初期リリース  |  11/20/2020  |  [v1.0.0 をダウンロード](https://a.co/8b2cENb)  | 

# NuGet パッケージ名、バージョン、アセット名の正規化
<a name="nuget-name-normalization"></a>

CodeArtifact は、パッケージ名、アセット名、およびパッケージのバージョンを保存する前に正規化します。つまり、CodeArtifact の名前またはバージョンは、パッケージまたはアセットが公開されたときに提供されたものとは異なる場合があります。

**パッケージ名の正規化:** CodeArtifact は、すべての文字を小文字に変換することで NuGet パッケージ名を正規化します。

**パッケージバージョンの正規化:** CodeArtifact は NuGet と同じパターンを使用して NuGet パッケージのバージョンを正規化します。以下の情報は、NuGet ドキュメントの「[Normalized version numbers](https://docs.microsoft.com/en-us/nuget/concepts/package-versioning#normalized-version-numbers)」に記載されているものです。
+ 先頭の 0 はバージョン番号から削除されます。
  + `1.00` は `1.0` として扱われます。
  + `1.01.1` は `1.1.1` として扱われます。
  + `1.00.0.1` は `1.0.0.1` として扱われます。
+ バージョン番号の 4 番目の部分の 0 は省略されます。
  + `1.0.0.0` は `1.0.0` として扱われます。
  + `1.0.01.0` は `1.0.1` として扱われます。
+ SemVer 2.0.0 ビルドメタデータは削除されます。
  + `1.0.7+r3456` は `1.0.7` として扱われます。

**パッケージアセット名の正規化:** CodeArtifact は、正規化されたパッケージ名とパッケージバージョンから NuGet パッケージアセット名を作成します。

CodeArtifact はこれらのリクエストのパッケージ名とバージョンの入力を正規化するため、正規化されていないパッケージ名とバージョン名は API および CLI リクエストで使用できます。例えば、`--package Newtonsoft.JSON` および `--version 12.0.03.0` の入力は正規化され、正規化されたパッケージ名 `newtonsoft.json` とバージョン `12.0.3` が返されます。

CodeArtifact は `--asset` 入力に対して正規化を実行しないため、API および CLI リクエストでは正規化されたパッケージアセット名を使用する必要があります。

ARN では正規化された名前とバージョンを使用する必要があります。

正規化されたパッケージ名を検索するには、`aws codeartifact list-packages` コマンドを使用します。詳細については、「[パッケージ名を一覧表示する](list-packages.md)」を参照してください。

正規化されていないパッケージ名を検索するには、`aws codeartifact describe-package-version` コマンドを使用します。正規化されていないパッケージ名が `displayName` フィールドに返されます。詳細については、「[パッケージのバージョンの詳細と依存関係の表示および更新](describe-package-version.md)」を参照してください。

# NuGet の互換性
<a name="nuget-compatibility"></a>

 このガイドには、CodeArtifact のさまざまな NuGet ツールおよびバージョンとの互換性に関する情報が含まれています。

**Topics**
+ [NuGet の一般的な互換性](#nuget-version-support)
+ [NuGet コマンドラインサポート](#nuget-command-line-support)

## NuGet の一般的な互換性
<a name="nuget-version-support"></a>

AWS CodeArtifact は NuGet 4.8 以降をサポートしています。

AWS CodeArtifact は NuGet HTTP プロトコルの V3 のみをサポートしています。これは、プロトコルの V2 に依存する一部の CLI コマンドはサポートされていないことを意味します。詳細については、「[nuget.exe コマンドのサポート](#nuget-command-support)」セクションを参照してください。

AWS CodeArtifact は PowerShellGet 2.x をサポートしていません。

## NuGet コマンドラインサポート
<a name="nuget-command-line-support"></a>

AWS CodeArtifact は、NuGet (`nuget.exe`) と .NET Core (`dotnet`) CLI ツールをサポートしています。

### nuget.exe コマンドのサポート
<a name="nuget-command-support"></a>

CodeArtifact は NuGet の HTTP プロトコルの V3 のみをサポートしているため、CodeArtifact リソースに対して次のコマンドを使用すると機能しません。
+ `list`: `nuget list` コマンド は、指定したソースからパッケージのリストを表示します。CodeArtifact リポジトリ内のパッケージのリストを取得するには、AWS CLIから [パッケージ名を一覧表示する](list-packages.md) コマンドを使用できます。