Condividi tramite


Avviso NuGet NU1510

Scenario

PackageReference System.Text.Json non verrà eliminati. Prendere in considerazione la rimozione di questo pacchetto dalle dipendenze, perché è probabile che non sia necessario.

Issue

Il System.Text.Json del pacchetto è stato specificato per l'eliminazione tramite la funzionalità di prunePackageReference. Il .NET SDK in genere specifica l'elenco di pacchetti da eliminare. Il pacchetto non è necessario come packageReference diretto perché il runtime .NET stesso contiene la stessa versione o successiva dell'assembly.

Questo avviso viene generato solo quando PackageReference in questione può essere rimosso completamente dal progetto.

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>

Ogni condizionale PackageReference per il System.Text.Json pacchetto può essere rimosso perché il pacchetto è già incluso nelle rispettive versioni di runtime .NET per i framework per cui è dichiarato.

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>

Il System.Text.Json pacchetto rientra nell'intervallo di eliminazione dell'unico framework per cui è dichiarato.

Solution

Rimuovere PackageReference perché non è necessario.

Note

Per semplificare l'adozione della funzionalità PrunePackageReference, questo avviso viene generato per impostazione predefinita quando un progetto è destinato al framework .NET 10 o versione successiva.

Note

L'avviso non verrà generato negli scenari in cui almeno uno dei framework richiede ancora il pacchetto, ad esempio net48 nell'esempio seguente.

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

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