Compilando pacotes de pré-lançamento

Sempre que você liberar um pacote atualizado com um novo número de versão, o NuGet considerará esse como a “última versão estável” conforme mostrado, por exemplo, na interface do usuário do Gerenciador de Pacotes no Visual Studio:

Package Manager UI showing the latest stable release

Uma versão estável é aquela que é considerado confiável suficiente para ser usada na produção. A versão estável mais recente também é aquela que será instalada como uma atualização de pacote ou durante a restauração do pacote (sujeito a restrições, conforme descrito em Reinstalando e atualizando pacotes).

Para dar suporte ao ciclo de vida de versão de software, o NuGet 1.6 e posterior permite a distribuição de pacotes de pré-lançamento, em que o número de versão inclui um sufixo de controle de versão semântico como -alpha, -beta ou -rc. Para obter mais informações, consulte Controle de versão de pacote.

Você pode especificar essas versões usando uma das seguintes maneiras:

  • Se seu projeto usa PackageReference: incluir o sufixo de versão semântica no elemento PackageVersion do arquivo .csproj:

    <PropertyGroup>
        <PackageVersion>1.0.1-alpha</PackageVersion>
    </PropertyGroup>
    
  • Se seu projeto usa um arquivo packages.config: incluir o sufixo de versão semântica no elemento version do arquivo .nuspec:

    <version>1.0.1-alpha</version>
    

Quando você estiver pronto para lançar uma versão estável, basta remover o sufixo e o pacote terá precedência sobre as versões de pré-lançamento. Novamente, consulte Controle de versão do pacote.

Instalando e atualizando pacotes de pré-lançamento

Por padrão, o NuGet não inclui as versões de pré-lançamento ao trabalhar com pacotes, mas você pode alterar esse comportamento da seguinte maneira:

  • Interface do usuário do Gerenciador de Pacotes no Visual Studio: na interface do usuário Gerenciar pacotes do NuGet, marque a caixa Incluir pré-lançamento:

    The Include prerelease checkbox in Visual Studio

    Definir ou desmarcar esta caixa atualizará a interface do usuário do Gerenciador de Pacotes e a lista de versões disponíveis que você pode instalar.

  • Console do Gerenciador de Pacotes: use a opção -IncludePrerelease com os comandos Find-Package, Get-Package, Install-Package, Sync-Package e Update-Package. Consulte a Referência do PowerShell.

  • CLI do NuGet: use a opção -prerelease com os comandos install, update, delete e mirror. Consulte a referência da CLI do NuGet

Controle de versão semântico

O Semantic Versioning or SemVer convention (Controle de versão semântico ou convenção de SemVer) descreve como utilizar as cadeias de caracteres em números de versão para expressar o significado do código subjacente. Saiba mais sobre os conceitos básicos do controle de versão dos pacotes.