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.
Os seguintes itens PackageVersion não podem especificar uma versão flutuante: PackageName.
Problema
Um projeto é configurado para usar o Gerenciamento de Pacotes Do NuGet Central e um <PackageVersion /> item é definido que especifica um valor de versão flutuante para o Version atributo:
<ItemGroup>
<PackageVersion Include="PackageName" Version="1.*" />
</ItemGroup>
Por padrão, <PackageVersion /> os itens não podem especificar versões flutuantes.
O Gerenciamento Central de Pacotes do NuGet fornece aos usuários a capacidade de gerenciar versões de pacote em um único local, bem como restaurações determinísticas e seguras.
O uso de versões flutuantes introduz a possibilidade de um pacote incorreto ser introduzido em sua compilação depois de ter sido empurrado para um feed.
Isso pode levar a uma situação em que você não fez nenhuma alteração em seu repositório, mas, de repente, algo está interrompido devido a um problema em um novo pacote e não há como você voltar a um bom estado sem remover a versão flutuante ou enviar por push uma versão mais recente do pacote que é corrigida.
O uso de versões não flutuantes significa que cada atualização para um pacote é apoiada por uma confirmação em seu repositório, facilitando a determinação de qual alteração causou a interrupção e permite que você reverta uma confirmação para voltar a um bom estado.
Além disso, ao usar o recurso de fixação transitiva do Gerenciamento Central de Pacotes, usar uma versão flutuante como uma substituição pode fazer com que restaurações de diferentes projetos acabem com versões diferentes para o pacote que deveria ser fixado, indo contra a promessa de usar a versão definida centralmente.
O NuGet recomenda que você use automação como o Dependabot para manter as versões do pacote up-to-date, que fornece uma maneira simplificada de atualizar as versões do pacote ao integrar ao fluxo de trabalho do desenvolvedor existente de uma solicitação pull, validação automatizada de build e testar tudo com o suporte de uma confirmação em seu repositório.
Solução
- É recomendável alterar a versão flutuante para um intervalo de versão não flutuante:
<ItemGroup>
<PackageVersion Include="PackageName" Version="1.0.0" />
</ItemGroup>
- Se isso não for possível ou quiser usar versões flutuantes com o Gerenciamento Central de Pacotes, você poderá fazer isso definindo uma propriedade MSBuild:
<PropertyGroup>
<CentralPackageFloatingVersionsEnabled>true</CentralPackageFloatingVersionsEnabled>
</PropertyGroup>