Condividi tramite


Errore NuGet NU1008

Gli elementi PackageReference seguenti non possono definire un valore per Version: PackageName. I progetti che usano Gestione pacchetti centrale devono definire un valore Version per un elemento PackageVersion.

Problema

Un progetto è configurato per l'uso di Gestione pacchetti centrali NuGet e viene definito un <PackageReference /> elemento che specifica un valore per l'attributo Version :

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

In alternativa, un <PackageReference /> elemento viene definito con un elemento figlio <Version /> con un valore specificato:

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

I progetti configurati per l'uso di Gestione pacchetti centrale non devono definire una versione per <PackageReference /> gli elementi. La versione deve essere definita in in un elemento corrispondente <PackageVersion /> con lo stesso identificatore nel file Directory.Packages.props .

Soluzione

  • Rimuovere l'attributo o l'elemento Version figlio <Version /> dall'elemento <PackageReference /> :

    <ItemGroup>
      <PackageReference Include="PackageName" />
    </ItemGroup>
    
  • Definire un <PackageVersion /> elemento che specifica la versione nel file Directory.Packages.props con lo stesso identificatore dell'elemento <PackageReference /> :

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

In alternativa, Central Package Management consente di eseguire l'override delle versioni dei pacchetti definite centralmente. Per altre informazioni, vedere Override delle versioni dei pacchetti .

Annotazioni

Si noti che i metadati, ad esempio IncludeAssets, PrivateAssets e così via, devono rimanere sull'elemento PackageReference.