

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# CodeArtifact를 NuGet과 함께 사용
<a name="using-nuget"></a>

이 항목에서는 CodeArtifact를 사용하여 `NuGet` 패키지를 사용하고 게시하는 방법을 설명합니다.

**참고**  
AWS CodeArtifact는 [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은 Mac용 Visual Studio에서는 사용할 수 없습니다.

NuGet을 CLI 도구와 함께 구성하고 사용하려면 [CodeArtifact를 nuget 또는 dotnet CLI와 함께 사용하기](nuget-cli.md)을 참조하십시오.

**Topics**
+ [CodeArtifact 보안 인증 공급자를 사용하여 Visual Studio를 구성하기](#nuget-vs-cred-provider)
+ [Visual Studio의 Package Manager Console에서 NuGet 사용하기](#built-in-nuget-terminal-vs)

## CodeArtifact 보안 인증 공급자를 사용하여 Visual Studio를 구성하기
<a name="nuget-vs-cred-provider"></a>

CodeArtifact 보안 인증 공급자는 CodeArtifact와 Visual Studio 간의 설정 및 지속적인 인증을 간소화합니다. CodeArtifact 인증 토큰은 최대 12시간 동안 유효합니다. Visual Studio에서 작업하는 동안 토큰을 수동으로 새로 고칠 필요가 없도록 보안 인증 공급자는 현재 토큰이 만료되기 전에 계속 새 토큰으로 갱신합니다.

**중요**  
보안 인증 공급자를 사용하려면 수동으로 `nuget.config`에 추가했거나 이전에 NuGet을 구성하고 `aws codeartifact login`를 구동하여 추가했을 수 있는 기존 AWS CodeArtifact 보안 인증 정보를 파일에서 지워야 합니다.

**Visual Studio의 CodeArtifact를 AWS Toolkit for Visual Studio과 함께 사용하기**

1. 다음 단계를 수행하여 AWS Toolkit for Visual Studio를 설치하세요. 이 툴킷은 다음 단계를 사용하면 Visual Studio 2017 및 2019와 호환됩니다. AWS CodeArtifact는 Visual Studio 2015 및 이전 버전을 지원하지 않습니다.

   1.  Visual Studio 2017 및 Visual Studio 2019용 Visual Studio용 툴킷은 [Visual Studio 마켓플레이스](https://marketplace.visualstudio.com/items?itemName=AmazonWebServices.AWSToolkitforVisualStudio2017)에서 배포합니다. 도구 ≫ **확장 및 업데이트** (Visual Studio 2017) 또는 **확장** ≫ **확장 관리** (Visual Studio 2019) 를 사용하여 Visual Studio 내에 **도구** 모음을 설치하고 업데이트할 수도 있습니다.

   1.  툴킷을 설치한 후 **보기** 메뉴에서 **AWS 탐색기를** 선택하여 툴킷을 엽니다.

1. *AWS Toolkit for Visual Studio 사용 설명서*의[AWS 보안 인증 제공](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/credentials.html)에 나와 있는 단계에 따라 AWS 보안 인증을 사용하여 Visual Studio용 도구 모음을 구성하십시오.

1. (선택 사항) CodeArtifact와 함께 사용할 AWS 프로필을 설정합니다. 설정하지 않으면 CodeArtifact는 기본 프로필을 사용합니다. 프로필을 설정하려면 **도구 > NuGet 패키지 관리자 > CodeArtifact AWS 프로필 선택**으로 이동합니다.

1. CodeArtifact 리포지토리를 Visual Studio에서 패키지 소스로 추가합니다.

   1. **AWS탐색기** 창에서 리포지토리 창으로 이동한 다음 마우스 오른쪽 버튼을 클릭하여 `Copy NuGet Source Endpoint`를 선택합니다.

   1. **도구 > 옵션** 명령을 사용하고 **NuGet 패키지 관리자**로 스크롤합니다.

   1. **패키지 소스** 노드를 선택합니다.

   1. **\$1**를 선택하고 이름을 편집한 다음 3a단계에서 복사한 리포지토리 URL 엔드포인트를 **소스** 상자에 붙여넣고 **업데이트**를 선택합니다.

   1. 새로 추가한 패키지 소스의 확인란을 선택하여 활성화합니다.
**참고**  
이후 CodeArtifact 리포지토리에 **Nuget.org**에 대한 외부 연결을 추가하고 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의 Package Manager Console에서 NuGet 사용하기
<a name="built-in-nuget-terminal-vs"></a>

Visual Studio 패키지 관리자 콘솔은 CodeArtifact 보안 인증 공급자의 Visual Studio 버전을 사용하지 않습니다. 이를 사용하려면 명령줄 보안 인증 공급자를 구성해야 합니다. 자세한 내용은 [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>

CodeArtifact NuGet 자격 증명 공급자를 사용하거나를 사용하거나 수동으로 nuget AWS CLI또는 dotnet CLI를 구성할 수 있습니다. 간단한 설정과 지속적인 인증을 위해 보안 인증 공급자를 통해 NuGet을 구성하는 것을 권장합니다.

### 방법 1: CodeArtifact NuGet 보안 인증 공급자를 통해 구성하기
<a name="nuget-configure-cli-cred-provider"></a>

CodeArtifact NuGet 보안 인증 공급자는 NuGet CLI 도구를 사용하여 CodeArtifact의 인증 및 구성을 단순화합니다. CodeArtifact 인증 토큰은 최대 12시간 동안 유효합니다. nuget 또는 dotnet CLI를 사용하는 동안 토큰을 수동으로 갱신할 필요가 없도록 보안 인증 공급자는 현재 토큰이 만료되기 전에 정기적으로 새 토큰을 발행합니다.

**중요**  
자격 증명 공급자를 사용하려면 수동으로 추가되었거나 이전에 NuGet을 구성`aws codeartifact login`하기 위해를 실행하여 파일에서 기존 AWS CodeArtifact 자격 증명을 지워야 `nuget.config` 합니다.

**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. Amazon S3 버킷에서 [CodeArtifact NuGet 보안 인증 공급자 (codeartifact-nuget-credentialprovider.zip)](https://a.co/dbGqKq7) 의 최신 버전을 다운로드합니다.

   이전 버전을 보고 다운로드하려면 [CodeArtifact NuGet 보안 인증 공급자 버전](#nuget-cred-provider-history)를 참조하십시오.

1. 파일 압축을 풉니다.

1. **netfx** 폴더의 **AWS.CodeArtifact.nugetCredentialProvider** 폴더를 Windows는 `%user_profile%/.nuget/plugins/netfx/`, Linux 또는 macOS의 경우`~/.nuget/plugins/netfx`에 복사합니다.

1. **netcore** 폴더의 **AWS.CodeArtifact.nugetCredentialProvider** 폴더를 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: 로그인 명령으로 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)을 참조하십시오.

**`login` 명령을 사용하여 nuget 또는 dotnet을 구성하기**

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

------

로그인 명령은 다음과 같습니다.
+  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: 로그인 명령 없이 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 리포지토리 또는 업스트림 리포지토리 중 하나에 저장된 NuGet 패키지를 사용할 수 있습니다.

CodeArtifact 리포지토리 또는 해당 업스트림 리포지토리 `nuget` `dotnet` 중 하나에서 패키지 버전을 사용하거나 사용하려면 NuGet 구성 파일에서 *PackageName*을 사용하려는 패키지 이름으로, *PackageSourceName*을 CodeArtifact 리포지토리의 소스 이름으로 대체하는 다음 명령을 실행합니다. `login` 명령을 사용하여 NuGet 구성을 구성한 경우 소스 이름은 *도메인\$1이름/리포지\$1이름*입니다.

**참고**  
패키지를 요청하면 NuGet 클라이언트는 해당 패키지의 어떤 버전이 존재하는지 캐시를 확인합니다. 이 동작으로 인해 원하는 버전이 제공되기 전에 이전에 요청된 패키지의 설치가 실패할 수 있습니다. 이러한 실패를 방지하고 기존 패키지를 성공적으로 설치하려면 `nuget locals all --clear` 또는 `dotnet nuget locals all --clear` 를 사용하여 설치하기 전에 NuGet 캐시를 지우거나 `-NoCache`나 `--no-cache`과 같은 옵션을 `nuget` 또는 `dotnet`에게 제공하여 `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
```

------

자세한 내용은 *Microsoft 설명서*의 [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.org**에 대한 외부 연결을 통해 리포지토리를 구성하여 CodeArtifact 리포지토리를 통해 [NuGet.org의](https://www.nuget.org/) NuGet 패키지를 사용할 수 있습니다. **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 설명서의 [표준화된 버전 번호](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`으로 간주합니다.
+ 버전 번호의 네 번째 부분에 있는 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) 명령을 사용하세요.