NuGet-fel NU1008

Följande PackageReference-objekt kan inte definiera ett värde för Version: PackageName. Projekt som använder central pakethantering måste definiera ett versionsvärde för ett PackageVersion-objekt.

Problematik

Ett projekt har konfigurerats för att använda NuGet Central Package Management och ett <PackageReference /> objekt definieras som anger ett värde för Version attributet:

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

Alternativt definieras ett <PackageReference /> objekt med ett underordnat <Version /> element som har ett angivet värde:

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

Projekt som har konfigurerats för att använda central pakethantering bör inte definiera en version av <PackageReference /> objekt. Versionen ska definieras i ett motsvarande <PackageVersion /> objekt med samma identifierare i filen Directory.Packages.props i stället.

Lösning

  • Version Ta bort attributet eller det underordnade <Version /> elementet från objektet<PackageReference />:

    <ItemGroup>
      <PackageReference Include="PackageName" />
    </ItemGroup>
    
  • Definiera ett <PackageVersion /> objekt som anger versionen i filen Directory.Packages.props med samma identifierare som objektet <PackageReference /> :

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

Alternativt kan central pakethantering åsidosätta centralt definierade paketversioner. Mer information finns i Åsidosätta paketversioner .

Anmärkning

Observera att metadata som IncludeAssets, PrivateAssets osv. ska finnas kvar på PackageReference-objektet.