Chyba NuGet NU1008

Následující položky PackageReference nemohou definovat hodnotu pro Version: PackageName. Projekty používající správu centrálních balíčků musí definovat hodnotu verze pro položku PackageVersion.

Problém

Projekt je nakonfigurovaný tak, aby používal správu centrálních balíčků NuGet a <PackageReference /> je definována položka, která určuje hodnotu atributu Version :

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

Alternativně <PackageReference /> je položka definována s podřízeným <Version /> elementem, který má zadanou hodnotu:

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

Projekty nakonfigurované tak, aby používaly správu centrálních balíčků , by neměly definovat verzi položek <PackageReference /> . Verze by měla být definována u odpovídající <PackageVersion /> položky se stejným identifikátorem v souboru Directory.Packages.props .

Řešení

  • Version Odeberte atribut nebo podřízený <Version /> prvek z <PackageReference /> položky:

    <ItemGroup>
      <PackageReference Include="PackageName" />
    </ItemGroup>
    
  • <PackageVersion /> Definujte položku, která určuje verzi v souboru Directory.Packages.props se stejným identifikátorem jako položka<PackageReference />:

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

Správa centrálních balíčků také umožňuje přepisovat centrálně definované verze balíčků. Další informace najdete v tématu Přepsání verzí balíčků .

Poznámka:

Upozorňujeme, že metadata, jako jsou IncludeAssets, PrivateAssets atd. by měla zůstat u položky PackageReference.