Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Hoje, existem algumas maneiras de obter a versão mais recente do nuget.exe em sua máquina de forma programável. Por exemplo, você pode baixar e extrair o NuGet.CommandLine pacote do nuget.org. Isso tem alguma complexidade, pois requer que você já tenha nuget.exe (para nuget.exe install) ou você tem que descompactar o .nupkg usando uma ferramenta básica de descompactar e encontrar o binário dentro.
Se você já tem nuget.exe, você também pode usar nuget.exe update -self, no entanto, isso também requer ter uma cópia existente do nuget.exe. Essa abordagem também atualiza você para a versão mais recente. Não permite o uso de uma versão específica.
O tools.json ponto de extremidade está disponível para resolver o problema de inicialização e para dar controle da versão do nuget.exe que você baixa. Isso pode ser usado em ambientes de CI/CD ou em scripts personalizados para descobrir e baixar qualquer versão lançada do nuget.exe.
O tools.json endpoint pode ser recuperado usando uma solicitação HTTP não autenticada (por exemplo, Invoke-WebRequest no PowerShell ou wget). Ele pode ser analisado usando um desserializador JSON e as URLs de download subsequentes de nuget.exe também podem ser obtidas usando solicitações HTTP não autenticadas.
O ponto de extremidade pode ser obtido usando o GET método:
GET https://dist.nuget.org/tools.json
O esquema JSON para o ponto de extremidade está disponível aqui:
GET https://dist.nuget.org/tools.schema.json
Resposta
A resposta é um documento JSON contendo todas as versões disponíveis do nuget.exe.
O objeto JSON raiz tem a seguinte propriedade:
| Nome | Tipo | Obrigatório |
|---|---|---|
| nuget.exe | matriz de objetos | yes |
Cada objeto na nuget.exe matriz tem as seguintes propriedades:
| Nome | Tipo | Obrigatório | Observações |
|---|---|---|---|
| versão | cadeia (de caracteres) | yes | Uma cadeia de caracteres SemVer 2.0.0 |
| URL | cadeia (de caracteres) | yes | Um URL absoluto para baixar esta versão do nuget.exe |
| stage | cadeia (de caracteres) | yes | Uma cadeia de caracteres de enum |
| carregado | cadeia (de caracteres) | yes | A data/hora ISO 8601 aproximada de quando a versão foi disponibilizada |
Os itens na matriz serão classificados em ordem decrescente, SemVer 2.0.0. Esta garantia destina-se a reduzir a carga de um cliente que está interessado no número de versão mais alto. No entanto, isto significa que a lista não está ordenada por ordem cronológica. Por exemplo, se uma versão principal inferior for atendida em uma data posterior a uma versão principal superior, essa versão com manutenção não aparecerá no topo da lista. Se pretender a versão mais recente lançada por timestampuploaded de data/hora, basta classificar a matriz pela string. Isso funciona porque o carimbo uploaded de data/hora está no formato ISO 8601 , que pode ser classificado cronologicamente usando uma classificação lexicográfica (ou seja, uma classificação de cadeia de caracteres simples).
A stage propriedade indica o quão aprovada esta versão da ferramenta é.
| Etapa | Meaning |
|---|---|
| Acesso AntecipadoPreview | Ainda não visível na página web de download e deve ser validado pelos parceiros |
| Libertado | Disponível no site de download, mas ainda não é recomendado para consumo generalizado |
| LançadoEAbençoado | Disponível no site de download e é recomendado para consumo |
Uma abordagem simples para obter a versão mais recente e recomendada é selecionar a primeira versão na lista que possui o valor stage de ReleasedAndBlessed. Isso funciona porque as versões são classificadas na ordem SemVer 2.0.0.
O NuGet.CommandLine pacote no nuget.org normalmente só é atualizado com ReleasedAndBlessed versões.
Pedido de amostra
GET https://dist.nuget.org/tools.json
Resposta da amostra
{
"nuget.exe": [
{
"version": "4.8.0-preview3",
"url": "https://dist.nuget.org/win-x86-commandline/v4.8.0-preview3/nuget.exe",
"stage": "EarlyAccessPreview",
"uploaded": "2018-07-06T23:00:00.0000000Z"
},
{
"version": "4.7.1",
"url": "https://dist.nuget.org/win-x86-commandline/v4.7.1/nuget.exe",
"stage": "ReleasedAndBlessed",
"uploaded": "2018-08-10T23:00:00.0000000Z"
},
{
"version": "4.6.1",
"url": "https://dist.nuget.org/win-x86-commandline/v4.6.1/nuget.exe",
"stage": "Released",
"uploaded": "2018-03-22T23:00:00.0000000Z"
},
{
"version": "3.5.0",
"url": "https://dist.nuget.org/win-x86-commandline/v3.5.0/nuget.exe",
"stage": "ReleasedAndBlessed",
"uploaded": "2016-12-19T15:30:00.0000000-08:00"
},
{
"version": "2.8.6",
"url": "https://dist.nuget.org/win-x86-commandline/v2.8.6/nuget.exe",
"stage": "ReleasedAndBlessed",
"uploaded": "2015-09-01T12:30:00.0000000-07:00"
}
]
}