

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Usando o CodeArtifact com NuGet
<a name="using-nuget"></a>

Esses tópicos descrevem como consumir e publicar `NuGet` pacotes usando o CodeArtifact.

**nota**  
AWS O CodeArtifact é compatível apenas com o [NuGet 4.8](https://docs.microsoft.com/en-us/nuget/release-notes/nuget-4.8-rtm) e mais recente.



**Topics**
+ [Use o CodeArtifact com o Visual Studio](nuget-visual-studio.md)
+ [Use CodeArtifact com nuget ou dotnet](nuget-cli.md)
+ [Normalização do nome, versão e nome do ativo do pacote NuGet](nuget-name-normalization.md)
+ [Compatibilidade do NuGet](nuget-compatibility.md)

# Use o CodeArtifact com o Visual Studio
<a name="nuget-visual-studio"></a>

 Você pode consumir pacotes do CodeArtifact diretamente no Visual Studio com o provedor de credenciais do CodeArtifact. O provedor de credenciais simplifica a configuração e a autenticação dos repositórios do CodeArtifact no Visual Studio e está disponível no [AWS Toolkit for Visual Studio](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/welcome.html). 

**nota**  
 O AWS Toolkit for Visual Studio não está disponível para o Visual Studio para Mac. 

Para configurar e usar o NuGet com ferramentas de CLI, consulte [Use CodeArtifact com a CLI nuget ou dotnet](nuget-cli.md).

**Topics**
+ [Configure o Visual Studio com o provedor de credenciais do CodeArtifact](#nuget-vs-cred-provider)
+ [Use o console do gerenciador de pacotes do Visual Studio](#built-in-nuget-terminal-vs)

## Configure o Visual Studio com o provedor de credenciais do CodeArtifact
<a name="nuget-vs-cred-provider"></a>

O provedor de credenciais do CodeArtifact simplifica a configuração e a autenticação contínua entre o CodeArtifact e o Visual Studio. Os tokens de autenticação do CodeArtifact são válidos por no máximo 12 horas. Para evitar a necessidade de atualizar manualmente o token enquanto estiver trabalhando no Visual Studio, o provedor de credenciais busca periodicamente um novo token antes que o atual expire.

**Importante**  
Para usar o provedor de credenciais, verifique se todas as credenciais existentes do AWS CodeArtifact foram apagadas do seu arquivo `nuget.config`, que podem ter sido adicionadas manualmente ou ao executar o `aws codeartifact login` para configurar o NuGet anteriormente.

**Use o CodeArtifact no Visual Studio com o AWS Toolkit for Visual Studio**

1. Instale o AWS Toolkit for Visual Studio usando as etapas a seguir. O kit de ferramentas é compatível com o Visual Studio 2017 e 2019 usando essas etapas. AWS O CodeArtifact não é compatível com o Visual Studio 2015 e versões anteriores.

   1.  O kit de ferramentas para Visual Studio para o Visual Studio 2017 e Visual Studio 2019 é distribuído no [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=AmazonWebServices.AWSToolkitforVisualStudio2017). Você também pode instalar e atualizar o kit de ferramentas no Visual Studio Tools usando **Ferramentas** ≫ **Extensões e atualizações** (Visual Studio 2017) ou **Extensões** ≫ **Gerenciar extensões** (Visual Studio 2019). 

   1.  Após a instalação do kit de ferramentas, abra-o e selecione **AWSExplorer** no menu **Visualizar**. 

1. Configure o kit de ferramentas para o Visual Studio com as suas credenciais da AWS seguindo as etapas em [Fornecer credenciais da AWS](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/credentials.html) no *Guia do usuário do AWS Toolkit for Visual Studio*.

1. (Opcional) Defina o AWS perfil que você deseja usar com o CodeArtifact. Se não for definido, o CodeArtifact usará o perfil padrão. Para definir o perfil, vá para **Ferramentas > Gerenciador de pacotes do NuGet > Selecione AWS Perfil** do CodeArtifact.

1. Adicione o seu repositório do CodeArtifact como uma fonte de pacote no Visual Studio.

   1. Navegue até o repositório na janela do **AWS Explorer**, clique com o botão direito do mouse e selecione `Copy NuGet Source Endpoint`.

   1. Use o comando **Ferramentas > Opções** e vá até **Gerenciador de pacotes do NuGet**.

   1. Selecione o nó **Fontes de pacotes**.

   1. Selecione **\$1**, edite o nome do endpoint de URL do repositório copiado na etapa 3 na caixa **Fonte** e selecione **Atualizar**.

   1. Marque a caixa de seleção da fonte de pacote recém-adicionada para ativá-la.
**nota**  
**Recomendamos adicionar uma conexão externa ao **NuGet.org** ao seu repositório do CodeArtifact e desabilitar a fonte do pacote nuget.org** no Visual Studio. Ao usar uma conexão externa, todos os pacotes obtidos do **NuGet.org** serão armazenados no seu repositório do CodeArtifact. Se o **NuGet.org** ficar indisponível, suas dependências de aplicativos ainda estarão disponíveis para compilações de CI e desenvolvimento local. Para obter mais informações sobre conexões externas, consulte [Conectar um CodeArtifact repositório a um repositório público](external-connection.md).

1. Reinicie o Visual Studio para que as alterações entrem em vigor.

Após a configuração, o Visual Studio pode consumir pacotes do seu repositório do CodeArtifact, de qualquer um de seus repositórios upstream ou do [NuGet.org](https://www.nuget.org/) se você tiver adicionado uma conexão externa. Para obter mais informações sobre como navegar e instalar pacotes NuGet no Visual Studio, consulte [Instalar e gerenciar pacotes no Visual Studio usando o gerenciador de pacotes do NuGet](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-visual-studio) na *documentação do NuGet*.

## Use o console do gerenciador de pacotes do Visual Studio
<a name="built-in-nuget-terminal-vs"></a>

O console do gerenciador de pacotes do Visual Studio não usará a versão do Visual Studio do provedor de credenciais do CodeArtifact. Para usá-lo, você precisa configurar o provedor de credenciais da linha de comando. Consulte [Use CodeArtifact com a CLI nuget ou dotnet](nuget-cli.md) para obter mais informações.

# Use CodeArtifact com a CLI nuget ou dotnet
<a name="nuget-cli"></a>

Você pode usar ferramentas de CLI como `nuget` e `dotnet` para publicar e consumir pacotes do. CodeArtifact Este documento fornece informações sobre como configurar as ferramentas de CLI e usá-las para publicar ou consumir pacotes.

**Topics**
+ [Configurar a CLI do nuget ou dotnet](#nuget-configure-cli)
+ [Consuma NuGet pacotes de CodeArtifact](#nuget-consume-cli)
+ [Publique NuGet pacotes em CodeArtifact](#nuget-publish-cli)
+ [CodeArtifact NuGet Referência do provedor de credenciais](#nuget-cred-provider-reference)
+ [CodeArtifact NuGet Versões do Credential Provider](#nuget-cred-provider-history)

## Configurar a CLI do nuget ou dotnet
<a name="nuget-configure-cli"></a>

Você pode configurar a CLI do nuget ou dotnet com o provedor de credenciais, com CodeArtifact NuGet o ou manualmente. AWS CLI A configuração NuGet com o provedor de credenciais é altamente recomendada para simplificar a configuração e a autenticação contínua.

### Método 1: Configurar com o provedor de CodeArtifact NuGet credenciais
<a name="nuget-configure-cli-cred-provider"></a>

O provedor de CodeArtifact NuGet credenciais simplifica a autenticação e a configuração com ferramentas CodeArtifact CLI NuGet . CodeArtifact os tokens de autenticação são válidos por no máximo 12 horas. Para evitar a necessidade de atualizar manualmente o token ao usar a CLI do nuget ou dotnet, o provedor de credenciais busca periodicamente um novo token antes que o atual expire. 

**Importante**  
Para usar o provedor de credenciais, certifique-se de que todas AWS CodeArtifact as credenciais existentes sejam apagadas do seu `nuget.config` arquivo que possam ter sido adicionadas manualmente ou executando `aws codeartifact login` a configuração anterior. NuGet 

**Instalar e configurar o provedor de CodeArtifact NuGet credenciais**

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

1. Baixe a versão mais recente da [AWS. CodeArtifact. NuGet. CredentialProvider ferramenta do NuGet domínio.org](https://www.nuget.org/packages/AWS.CodeArtifact.NuGet.CredentialProvider) com o seguinte `dotnet` comando.

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

1. Use o `codeartifact-creds install` comando para copiar o provedor de credenciais para a pasta de NuGet plug-ins.

   ```
   dotnet codeartifact-creds install
   ```

1. (Opcional): defina o AWS perfil que você deseja usar com o provedor de credenciais. Se não for definido, o provedor de credenciais usará o perfil padrão. Para obter mais informações sobre AWS CLI perfis, consulte [Perfis nomeados](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html).

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

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

Execute as etapas a seguir para usar a NuGet CLI para instalar o provedor de CodeArtifact NuGet credenciais a partir de um bucket do Amazon S3 e configurá-lo. O provedor de credenciais usará o AWS CLI perfil padrão. Para obter mais informações sobre perfis, consulte Perfis [nomeados](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html).

1. Baixe a versão mais recente do [provedor de CodeArtifact NuGet credenciais (codeartifact-nuget-credentialprovider.zip) de um bucket](https://a.co/dbGqKq7) do Amazon S3.

   Para visualizar e baixar versões anteriores, consulte [CodeArtifact NuGet Versões do Credential Provider](#nuget-cred-provider-history).

1. Descompacte o arquivo.

1. Copie a **AWS. CodeArtifact. NuGetCredentialProvider**pasta da pasta **netfx** para `%user_profile%/.nuget/plugins/netfx/` no Windows, no Linux ou `~/.nuget/plugins/netfx` no macOS.

1. Copie a **AWS. CodeArtifact. NuGetCredentialProvider**pasta da pasta **netcore** para `%user_profile%/.nuget/plugins/netcore/` no Windows, no Linux ou `~/.nuget/plugins/netcore` no macOS.

------

Depois de criar um repositório e configurar o provedor de credenciais, você pode usar as ferramentas de CLI `nuget` ou `dotnet` para instalar e publicar pacotes. Para obter mais informações, consulte [Consuma NuGet pacotes de CodeArtifact](#nuget-consume-cli) e [Publique NuGet pacotes em CodeArtifact](#nuget-publish-cli).

### Método 2: configurar o nuget ou dotnet com o comando login
<a name="nuget-configure-login"></a>

O `codeartifact login` comando no AWS CLI adiciona um endpoint do repositório e um token de autorização ao seu arquivo de NuGet configuração, permitindo que o nuget ou o dotnet se conectem ao seu repositório. CodeArtifact Isso modificará a NuGet configuração em nível de usuário que está localizada em `%appdata%\NuGet\NuGet.Config` para Windows `~/.config/NuGet/NuGet.Config` e/ou `~/.nuget/NuGet/NuGet.Config` para Mac/Linux. Para obter mais informações sobre NuGet configurações, consulte [ NuGet Configurações comuns](https://docs.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior). 

**Configurar o nuget ou dotnet com o comando `login`**

1. Configure suas AWS credenciais para uso com o AWS CLI, conforme descrito em[Conceitos básicos do CodeArtifact](getting-started.md).

1. Certifique-se de que a ferramenta NuGet CLI (`nuget`ou`dotnet`) tenha sido instalada e configurada corretamente. Para ver instruções, consulte a documentação do [nuget](https://docs.microsoft.com/en-us/nuget/reference/nuget-exe-cli-reference) ou do [dotnet](https://docs.microsoft.com/en-us/dotnet/core/install/).

1. Use o CodeArtifact `login` comando para buscar credenciais para uso com. NuGet
**nota**  
Se você estiver acessando um repositório em um domínio de sua propriedade, não será necessário incluir `--domain-owner`. Para obter mais informações, consulte [Domínios entre contas](domain-overview.md#domain-overview-cross-account).

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

**Importante**  
**Usuários de Linux e macOS:** como a criptografia não são compatíveis com plataformas que não sejam Windows, suas credenciais buscadas serão armazenadas como texto sem formatação no seu arquivo de configuração.

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

------

O comando de login fará o seguinte:
+ Obtenha um token de autorização CodeArtifact usando suas AWS credenciais. 
+ Atualize sua NuGet configuração em nível de usuário com uma nova entrada para a fonte NuGet do pacote. A fonte que aponta para o endpoint do seu CodeArtifact repositório será chamada. `domain_name/repo_name`

O período de autorização padrão após chamar o `login` é de 12 horas e o `login` deve ser chamado para atualizar o token periodicamente. Para obter mais informações sobre o token de autorização criado com o comando `login`, consulte [Tokens criados com o comando `login`](tokens-authentication.md#auth-token-login).

Depois de criar um repositório e configurar a autenticação, você pode usar os clientes CLI `nuget`, `dotnet` ou `msbuild` para instalar e publicar pacotes. Para obter mais informações, consulte [Consuma NuGet pacotes de CodeArtifact](#nuget-consume-cli) e [Publique NuGet pacotes em CodeArtifact](#nuget-publish-cli).

### Método 3: configurar o nuget ou dotnet sem o comando login
<a name="nuget-configure-without-login"></a>

Para configuração manual, você deve adicionar um endpoint do repositório e um token de autorização ao seu arquivo de NuGet configuração para permitir que o nuget ou o dotnet se conectem ao seu repositório. CodeArtifact 

**Configure manualmente o nuget ou o dotnet para se conectar ao seu repositório. CodeArtifact **

1. Determine o endpoint do seu CodeArtifact repositório usando o `get-repository-endpoint` AWS CLI comando.

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

   Resultado do exemplo:

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

1. Obtenha um token de autorização para se conectar ao seu repositório a partir do seu gerenciador de pacotes usando o `get-authorization-token` AWS CLI comando.

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

   Resultado do exemplo:

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

1. Crie o URL completo do endpoint do repositório anexando `/v3/index.json` ao URL retornado por `get-repository-endpoint` na etapa 3.

1. Configure o nuget ou o dotnet para usar o endpoint do repositório da etapa 1 e o token de autorização da etapa 2.
**nota**  
O URL de origem deve terminar em `/v3/index.json` para que nuget ou dotnet se conectem com sucesso a um repositório. CodeArtifact 

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

   **Usuários de Linux e macOS:** como a criptografia não são compatíveis com plataformas que não sejam Windows, você deve adicionar o `--store-password-in-clear-text` sinalizador ao comando a seguir. Observe que isso armazenará sua senha como texto simples no arquivo de configuração.

   ```
   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**  
Para atualizar uma fonte existente, use o comando `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
   ```

------

   Resultado do exemplo:

   ```
   Package source with Name: domain_name/repo_name added successfully.
   ```
**nota**  
Para usar um endpoint de pilha dupla, use o endpoint `codeartifact.region.on.aws`.

## Consuma NuGet pacotes de CodeArtifact
<a name="nuget-consume-cli"></a>

Depois de [configurar NuGet com CodeArtifact](https://docs.aws.amazon.com//codeartifact/latest/ug/nuget-cli.html), você pode consumir NuGet pacotes que estão armazenados em seu CodeArtifact repositório ou em um de seus repositórios upstream.

Para consumir uma versão de pacote de um CodeArtifact repositório ou de um de seus repositórios upstream com `nuget` ou`dotnet`, execute o comando a seguir substituindo *packageName* pelo nome do pacote que você deseja consumir e *packageSourceName* pelo nome da fonte do seu CodeArtifact repositório no seu arquivo de configuração. NuGet Se você usou o `login` comando para configurar sua NuGet configuração, o nome da fonte é*domain\$1name/repo\$1name*.

**nota**  
Quando um pacote é solicitado, o NuGet cliente armazena em cache quais versões desse pacote existem. Devido a esse comportamento, uma instalação pode falhar para um pacote que foi solicitado anteriormente antes que a versão desejada fosse disponibilizada. Para evitar essa falha e instalar com êxito um pacote existente, você pode limpar o NuGet cache antes de uma instalação com `nuget locals all --clear` ou`dotnet nuget locals all --clear`, ou evitar usar o cache durante `install` os `restore` comandos, fornecendo a `-NoCache` opção para `nuget` ou a `--no-cache` opção para`dotnet`.

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

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

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

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

------

**Para instalar uma versão específica de um pacote**

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

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

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

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

------

Consulte [Gerenciar pacotes usando a CLI nuget.exe](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-nuget-cli) ou [Instalar e gerenciar pacotes usando a CLI dotnet](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-dotnet-cli) na documentação da *Microsoft* para ver mais informações.

### Consuma NuGet pacotes do NuGet domínio.org
<a name="nuget-consume-nuget-gallery"></a>

**Você pode consumir NuGet pacotes de [NuGet.org](https://www.nuget.org/) por meio de um CodeArtifact repositório configurando o repositório com uma conexão externa com .org. NuGet** Os pacotes consumidos em **NuGet.org** são ingeridos e armazenados no seu CodeArtifact repositório. Para ver mais informações sobre como adicionar conexões externas, consulte [Conectar um CodeArtifact repositório a um repositório público](external-connection.md).

## Publique NuGet pacotes em CodeArtifact
<a name="nuget-publish-cli"></a>

Depois de [configurar NuGet com CodeArtifact](https://docs.aws.amazon.com//codeartifact/latest/ug/nuget-cli.html), você pode usar `nuget` ou `dotnet` publicar versões de pacotes em CodeArtifact repositórios.

Para enviar uma versão do pacote para um CodeArtifact repositório, execute o comando a seguir com o caminho completo do seu `.nupkg` arquivo e o nome da fonte do seu CodeArtifact repositório no seu arquivo de NuGet configuração. Se você usou o `login` comando para configurar sua NuGet configuração, o nome da fonte é`domain_name/repo_name`.

**nota**  
Você pode criar um NuGet pacote se não tiver um para publicar. Para ver mais informações, consulte [Fluxo de trabalho de criação de pacotes](https://docs.microsoft.com/en-us/nuget/create-packages/overview-and-workflow) na *documentação da 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 Referência do provedor de credenciais
<a name="nuget-cred-provider-reference"></a>

O provedor de CodeArtifact NuGet credenciais facilita a configuração e a autenticação em seus NuGet CodeArtifact repositórios.

### CodeArtifact NuGet Comandos do provedor de credenciais
<a name="nuget-cred-provider-reference-commands"></a>

Esta seção inclui a lista de comandos para o provedor de CodeArtifact NuGet credenciais. Esses comandos devem ser prefixados com `dotnet codeartifact-creds` como o seguinte exemplo.

```
dotnet codeartifact-creds command
```
+ `configure set profile profile`: configura o provedor de credenciais para usar o perfil fornecido AWS .
+ `configure unset profile`: remove o perfil configurado, se definido.
+ `install`: copia o provedor de credenciais na pasta `plugins`.
+ `install --profile profile`: copia o provedor de credenciais para a `plugins` pasta e o configura para usar o perfil fornecido AWS .
+ `uninstall`: desinstala o provedor de credenciais. Isso não remove as alterações no arquivo de configuração.
+ `uninstall --delete-configuration`: desinstala o provedor de credenciais e remove todas as alterações no arquivo de configuração.

### CodeArtifact NuGet Registros do provedor de credenciais
<a name="nuget-cred-provider-reference-logs"></a>

Para habilitar o registro para o provedor de CodeArtifact NuGet credenciais, você deve definir o arquivo de log em seu ambiente. Os logs do provedor de credenciais contêm informações úteis de depuração, como:
+ O AWS perfil usado para fazer conexões
+ Quaisquer erros de autenticação
+ Se o endpoint fornecido não for um URL CodeArtifact 

**Definir o arquivo de log do provedor de CodeArtifact NuGet credenciais**

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

Depois que o arquivo de log for definido, qualquer comando `codeartifact-creds` anexará sua saída de log ao conteúdo desse arquivo.

## CodeArtifact NuGet Versões do Credential Provider
<a name="nuget-cred-provider-history"></a>

A tabela a seguir contém informações sobre o histórico de versões e links para download do provedor de CodeArtifact NuGet credenciais.


| Versão | Alterações | Data de publicação | Link para download (S3) | 
| --- | --- | --- | --- | 
|  1.0.2 (mais recente)  |  Dependências atualizadas  |  26/06/2024  |  [Baixar v1.0.2](https://d12ov9682v6hj.cloudfront.net/codeartifact-nuget-credentialprovider-v1.0.2.zip)  | 
|  1.0.1  |  Foi adicionado suporte para perfis net5, net6 e SSO  |  03/05/2022  |  [Fazer download da v1.0.1](https://a.co/cAIkhV1)  | 
|  1.0.0  |  Lançamento inicial do CodeArtifact NuGet Credential Provider  |  20/11/2020  |  [Fazer download da v1.0.0](https://a.co/8b2cENb)  | 

# Normalização do nome, versão e nome do ativo do pacote NuGet
<a name="nuget-name-normalization"></a>

O CodeArtifact normaliza os nomes dos pacotes e ativos e as versões dos pacotes antes de armazená-los, o que significa que os nomes ou versões no CodeArtifact podem ser diferentes dos fornecidos quando o pacote ou ativo foi publicado.

**Normalização do nome do pacote:** o CodeArtifact normaliza os nomes dos pacotes NuGet convertendo todas as letras em minúsculas.

**Normalização da versão do pacote:** o CodeArtifact normaliza as versões do pacote NuGet usando o mesmo padrão do NuGet. As informações a seguir são dos [Números de versão normalizados](https://docs.microsoft.com/en-us/nuget/concepts/package-versioning#normalized-version-numbers) da documentação do NuGet. 
+ Os zeros iniciais são removidos dos números de versão:
  + `1.00` é tratado como `1.0`
  + `1.01.1` é tratado como `1.1.1`
  + `1.00.0.1` é tratado como `1.0.0.1`
+ Um zero na quarta parte do número da versão será omitido:
  + `1.0.0.0` é tratado como `1.0.0`
  + `1.0.01.0` é tratado como `1.0.1`
+ Os metadados de compilação do SemVer 2.0.0 são removidos:
  + `1.0.7+r3456` é tratado como `1.0.7`

**Normalização do nome do ativo do pacote:** o CodeArtifact constrói o nome do ativo do pacote NuGet a partir do nome e da versão do pacote normalizado.

O nome e a versão do pacote não normalizado podem ser usados com solicitações de API e CLI, pois o CodeArtifact executa a normalização no nome do pacote e nas entradas da versão dessas solicitações. Por exemplo, as entradas de `--package Newtonsoft.JSON` e `--version 12.0.03.0` seriam normalizadas e retornariam um pacote com o nome normalizado `newtonsoft.json` e a versão `12.0.3`.

Você deve usar o nome do ativo do pacote normalizado nas solicitações de API e CLI, pois o CodeArtifact não executa a normalização na entrada de `--asset`.

Você deve usar nomes e versões normalizados em ARNs.

Para localizar o nome normalizado de um pacote, use o comando `aws codeartifact list-packages`. Para obter mais informações, consulte [Listar nomes de pacotes](list-packages.md).

Para localizar o nome não normalizado de um pacote, use o comando `aws codeartifact describe-package-version`. O nome não normalizado do pacote é retornado no campo `displayName`. Para obter mais informações, consulte [Exiba e atualize os detalhes e dependências da versão do pacote](describe-package-version.md).

# Compatibilidade do NuGet
<a name="nuget-compatibility"></a>

 Este guia contém informações sobre a compatibilidade do CodeArtifact com diferentes ferramentas e versões do NuGet. 

**Topics**
+ [Compatibilidade geral do NuGet](#nuget-version-support)
+ [Suporte à linha de comando do NuGet](#nuget-command-line-support)

## Compatibilidade geral do NuGet
<a name="nuget-version-support"></a>

O AWS CodeArtifact é compatível com o NuGet 4.8 e mais recente.

O AWS CodeArtifact é compatível apenas com a V3 do protocolo HTTP do NuGet. Isso significa que alguns comandos da CLI que dependem da V2 do protocolo não são compatíveis. Consulte a seção [Suporte ao comando nuget.exe](#nuget-command-support) para obter mais informações.

O AWS CodeArtifact não é compatível com o PowerShellGet 2.x.

## Suporte à linha de comando do NuGet
<a name="nuget-command-line-support"></a>

O AWS CodeArtifact é compatível com as ferramentas de CLI NuGet (`nuget.exe`) e .NET Core (`dotnet`).

### Suporte ao comando nuget.exe
<a name="nuget-command-support"></a>

Uma vez que o CodeArtifact é compatível apenas com a V3 do protocolo HTTP do NuGet, os comandos a seguir não funcionarão quando usados em recursos do CodeArtifact:
+ `list`: o comando `nuget list` exibe uma lista de pacotes de uma determinada fonte. Para obter uma lista de pacotes em um repositório do CodeArtifact, você pode usar o comando [Listar nomes de pacotes](list-packages.md) da CLI da AWS.