Udostępnij za pomocą


Ostrzeżenie narzędzia NuGet NU1510

Scenario

Plik PackageReference System.Text.Json nie zostanie oczyszczony. Rozważ usunięcie tego pakietu z zależności, ponieważ jest to prawdopodobnie niepotrzebne.

Issue

System.Text.Json pakietu został określony do oczyszczania za pośrednictwem funkcji PrunePackageReference. .NET SDK ogólnie określa listę pakietów do przycinania. Pakiet nie jest wymagany jako bezpośredni element PackageReference, ponieważ środowisko uruchomieniowe platformy .NET niesie ze sobą tę samą lub wyższą wersję zestawu.

To ostrzeżenie jest zgłaszane tylko wtedy, gdy pytanie PackageReference można całkowicie usunąć z projektu.

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>

Każdy warunkowy PackageReferenceSystem.Text.Json pakiet można usunąć, ponieważ pakiet jest już uwzględniony w odpowiednich wersjach środowiska uruchomieniowego platformy .NET dla platform, dla których jest zadeklarowany.

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>

Pakiet System.Text.Json znajduje się w zakresie oczyszczania jedynej struktury, dla których jest zadeklarowany.

Solution

Usuń element PackageReference, ponieważ jest on niepotrzebny.

Note

Aby umożliwić łatwiejsze wdrożenie funkcji PrunePackageReference, to ostrzeżenie jest domyślnie zgłaszane, gdy projekt jest przeznaczony dla platformy .NET 10 lub nowszej.

Note

Ostrzeżenie nie zostanie zgłoszone w scenariuszach, w których co najmniej jedna ze struktur nadal potrzebuje pakietu, na przykład net48 w poniższym przykładzie.

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

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