Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Hoje, há algumas maneiras de obter a versão mais recente do nuget.exe em seu computador de forma scriptável. Por exemplo, você pode baixar e extrair o NuGet.CommandLine pacote de nuget.org. Isso tem alguma complexidade, pois requer que você já tenha nuget.exe (para nuget.exe install) ou descompacte o .nupkg usando uma ferramenta de descompactação básica e localize o binário dentro.
Se você já tiver nuget.exe, também poderá usar nuget.exe update -self, no entanto, isso também requer ter uma cópia existente de nuget.exe. Essa abordagem também atualiza você para a versão mais recente. Ele não permite o uso de uma versão específica.
O tools.json endpoint está disponível tanto para resolver o problema de bootstrap quanto para permitir controle sobre a 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 endpoint tools.json pode ser acessado 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 de nuget.exe subsequentes também podem ser buscadas usando solicitações HTTP não autenticadas.
O ponto de extremidade pode ser buscado usando o método GET.
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 que contém 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 | sim |
Cada objeto na nuget.exe matriz tem as seguintes propriedades:
| Nome | Tipo | Obrigatório | Anotações |
|---|---|---|---|
| versão | cadeia | sim | Uma cadeia de caracteres "SemVer 2.0.0" |
| url | cadeia | sim | Uma URL absoluta para baixar esta versão do nuget.exe |
| fase | cadeia | sim | Uma cadeia de caracteres de enumeração |
| Carregado | cadeia | sim | Um timestamp aproximado no formato ISO 8601 de quando a versão estiver disponível |
Os itens na matriz serão classificados em ordem decrescente, SemVer 2.0.0. Essa garantia destina-se a reduzir a carga de um cliente interessado no número de versão mais alto. No entanto, isso significa que a lista não está classificada em ordem cronológica. Por exemplo, se uma versão principal inferior for atendida em uma data posterior a uma versão principal mais alta, essa versão atendida não aparecerá na parte superior da lista. Se você quiser a versão mais recente lançada em timestamp, basta classificar a matriz pela uploaded string. Isso funciona porque o uploaded carimbo 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 quanto essa versão da ferramenta foi verificada.
| Etapa | Meaning |
|---|---|
| Prévia de Acesso Antecipado | Ainda não visível na página da Web de download e deve ser validado por parceiros |
| Lançado | Disponível no site de download, mas ainda não é recomendado para consumo amplo |
| LiberadoEEmbençoado | Disponível no site de download e é recomendado para consumo |
Uma abordagem simples para obter a versão mais recente e recomendada é adotar 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 pacote NuGet.CommandLine no nuget.org normalmente é atualizado apenas com versões ReleasedAndBlessed.
Solicitação de exemplo
GET https://dist.nuget.org/tools.json
Resposta de exemplo
{
"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"
}
]
}