Partilhar via


Erro NuGet NU1008

Os seguintes itens PackageReference não podem definir um valor para Version: PackageName. Os projetos que usam o Gerenciamento Central de Pacotes devem definir um valor Version em um item PackageVersion.

Questão

Um projeto é configurado para usar o NuGet Central Package Management e um <PackageReference /> item é definido que especifica um valor para o Version atributo:

<ItemGroup>
  <PackageReference Include="PackageName" Version="5.1.0" />
</ItemGroup>

Como alternativa, um <PackageReference /> item é definido com um elemento filho <Version /> que tem um valor especificado:

<ItemGroup>
  <PackageReference Include="PackageName">
    <Version>5.1.0</Version>
  </PackageReference>
</ItemGroup>

Os projetos configurados para usar o Gerenciamento Central de Pacotes não devem definir uma versão nos <PackageReference /> itens. A versão deve ser definida em um item correspondente <PackageVersion /> com o mesmo identificador no arquivo Directory.Packages.props .

Solução

  • Remova o atributo ou elemento Version filho <Version /> do <PackageReference /> item:

    <ItemGroup>
      <PackageReference Include="PackageName" />
    </ItemGroup>
    
  • Defina um <PackageVersion /> item que especifique a versão no arquivo Directory.Packages.props com o mesmo identificador do <PackageReference /> item:

    <ItemGroup>
      <PackageVersion Include="PackageName" Version="5.0.1" />
    </ItemGroup>
    

Como alternativa, o Gerenciamento Central de Pacotes permite substituir versões de pacotes definidas centralmente. Consulte Substituindo versões de pacotes para obter mais informações.

Observação

Observe que metadados como IncludeAssets, PrivateAssets etc. devem permanecer no item PackageReference.