Udostępnij za pomocą


Błąd narzędzia NuGet NU1008

Następujące elementy PackageReference nie mogą zdefiniować wartości version: PackageName. Projekty korzystające z centralnego zarządzania pakietami muszą definiować wartość Wersji w elemencie PackageVersion.

Problematyka

Projekt jest skonfigurowany do używania centralnego zarządzania pakietami NuGet, a <PackageReference /> element jest zdefiniowany, który określa wartość atrybutu Version :

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

Alternatywnie <PackageReference /> element jest definiowany z elementem podrzędnym <Version /> , który ma określoną wartość:

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

Projekty skonfigurowane do korzystania z zarządzania pakietami centralnymi nie powinny definiować wersji elementów <PackageReference /> . Zamiast tego należy zdefiniować wersję w odpowiednim <PackageVersion /> elemencie o tym samym identyfikatorze w pliku Directory.Packages.props .

Rozwiązanie

  • Usuń atrybut lub element podrzędny Version<Version /><PackageReference /> z elementu:

    <ItemGroup>
      <PackageReference Include="PackageName" />
    </ItemGroup>
    
  • Zdefiniuj <PackageVersion /> element określający wersję w pliku Directory.Packages.props o tym samym identyfikatorze <PackageReference /> co element:

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

Alternatywnie centralne zarządzanie pakietami umożliwia zastępowanie centralnie zdefiniowanych wersji pakietów. Aby uzyskać więcej informacji, zobacz Zastępowanie wersji pakietów .

Uwaga / Notatka

Należy pamiętać, że metadane, takie jak IncludeAssets, PrivateAssets itp. powinny pozostać w elemencie PackageReference.