Freigeben über


NuGet-Warnung NU1510

Scenario

PackageReference System.Text.Json wird nicht gekürzt. Erwägen Sie, dieses Paket aus Ihren Abhängigkeiten zu entfernen, da es wahrscheinlich unnötig ist.

Issue

Das Paket System.Text.Json wurde für die Beschnittung durch das PrunePackageReference--Feature angegeben. Die .NET SDK gibt im Allgemeinen die Liste der zu löschenden Pakete an. Das Paket ist nicht als direktes PackageReference erforderlich, da die .NET-Laufzeit selbst dieselbe oder höhere Version der Assembly enthält.

Diese Warnung wird nur ausgelöst, wenn das fragliche PackageReference vollständig aus dem Projekt entfernt werden kann.

Example 1

  <PropertyGroup>
    <TargetFramework>net10.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="System.Text.Json" Version="10.0.0" />
  </ItemGroup>

Example 2

  <PropertyGroup>
    <TargetFrameworks>net9.0;net10.0</TargetFrameworks>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Condition="'$(TargetFramework)' == 'net10.0'" Include="System.Text.Json" Version="10.0.0" />
    <PackageReference Condition="'$(TargetFramework)' == 'net9.0'" Include="System.Text.Json" Version="9.0.0" />
  </ItemGroup>

Jede bedingte Bedingung PackageReference für das System.Text.Json Paket kann entfernt werden, da das Paket bereits in den entsprechenden .NET-Laufzeitversionen für die Frameworks enthalten ist, für die es deklariert wird.

Example 3

  <PropertyGroup>
    <TargetFrameworks>net9.0;net10.0</TargetFrameworks>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Condition="'$(TargetFramework)' == 'net9.0'" Include="System.Text.Json" Version="9.0.4" />
  </ItemGroup>

Das System.Text.Json Paket befindet sich innerhalb des Schnittbereichs des einzigen Frameworks, für das es deklariert ist.

Solution

Entfernen Sie "PackageReference", da sie nicht erforderlich ist.

Note

Um die Einführung des PrunePackageReference-Features zu ermöglichen, wird diese Warnung standardmäßig ausgelöst, wenn ein Projekt auf .NET 10 Framework oder höher ausgerichtet ist.

Note

Die Warnung wird nicht in Szenarien ausgelöst, in denen mindestens eines der Frameworks das Paket noch benötigt, z net48 . B. im folgenden Beispiel.

  <PropertyGroup>
    <TargetFrameworks>net10.0;net48</TargetFrameworks>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="System.Text.Json" Version="9.0.7" />
  </ItemGroup>