Partilhar via


Aviso NuGet NU1510

Scenario

PackageReference System.Text.Json não será podado. Considere remover este pacote de suas dependências, pois provavelmente é desnecessário.

Issue

O System.Text.Json do pacote foi especificado para remoção por meio do recurso PrunePackageReference. O .NET SDK geralmente especifica a lista de pacotes a serem removidos. O pacote não é necessário como um PackageReference direto, uma vez que o próprio tempo de execução do .NET carrega a mesma versão ou superior do assembly.

Este aviso é gerado quando o PackageReference em questão pode ser completamente removido do projeto.

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>

Cada condicional PackageReference para o System.Text.Json pacote pode ser removida porque o pacote já está incluído nas respetivas versões de tempo de execução do .NET para as estruturas para as quais é declarado.

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>

O System.Text.Json pacote está dentro do intervalo de poda da única estrutura para a qual é declarado.

Solution

Remova o PackageReference, pois é desnecessário.

Note

Para permitir uma adoção mais fácil do recurso PrunePackageReference, esse aviso é gerado por padrão quando um projeto tem como alvo o .NET 10 framework ou mais recente.

Note

O aviso não será emitido em cenários em que pelo menos uma das estruturas ainda precisa do pacote, como net48 no exemplo abaixo.

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

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