Freigeben über


NuGet-Fehler NU1008

Die folgenden PackageReference-Elemente können keinen Wert für Version definieren: PackageName. Projekte, die die zentrale Paketverwaltung verwenden, müssen einen Versionswert für ein PackageVersion-Element definieren.

Thema

Ein Projekt ist für die Verwendung der NuGet Central Package Management konfiguriert, und ein <PackageReference /> Element wird definiert, das einen Wert für das Version Attribut angibt:

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

Alternativ wird ein <PackageReference /> Element mit einem untergeordneten <Version /> Element definiert, für das ein Wert angegeben ist:

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

Projekte, die für die Verwendung der zentralen Paketverwaltung konfiguriert sind, sollten keine Version für <PackageReference /> Elemente definieren. Die Version sollte stattdessen für ein entsprechendes <PackageVersion /> Element mit demselben Bezeichner in der Datei "Directory.Packages.props " definiert werden.

Lösung

  • Entfernen Sie das Version Attribut oder untergeordnete <Version /> Element aus dem <PackageReference /> Element:

    <ItemGroup>
      <PackageReference Include="PackageName" />
    </ItemGroup>
    
  • Definieren Sie ein <PackageVersion /> Element, das die Version in der Datei "Directory.Packages.props" mit demselben Bezeichner wie das <PackageReference /> Element angibt:

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

Alternativ ermöglicht die zentrale Paketverwaltung das Überschreiben zentral definierter Paketversionen. Weitere Informationen finden Sie unter Überschreiben von Paketversionen .

Hinweis

Beachten Sie, dass Metadaten wie IncludeAssets, PrivateAssets usw. im PackageReference-Element verbleiben sollen.