Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Senaryo 1
PackageReference System.Text.Json ayıklaması yapılmaz. Bu paket otomatik olarak kullanılabilir ve açıkça başvurulması gerekmez. PackageReference öğesini kaldırma
Issue
Bu uyarı, NuGet bağımlılık grafiği ayıklama işleminin bir sonucu olarak tetiklenir ve doğrudan PackageReferencebir nedeniyle başka bir şekilde kurtarılabilir paketin geri yüklendiğini gösterir.
Hedeflenen .NET SDK'sı bu derlemenin aynı sürümünü veya üstünü sağladığından, doğrudan PackageReference kaldırılırsa adlandırılmış paket ayıklaması yapılabilir.
Bu uyarı yalnızca PrunePackageReference özelliği aracılığıyla ayıklama için kaydedilen paketleri etkiler.
Yalnızca söz konusu projeden tamamen kaldırılabilir olduğunda PackageReferenceoluşturulur.
Örnek 1
Hedeflenen .NET SDK'sı eşdeğer bir sürüm içerdiğinde bağımlılık çakışması çözümlemesi SDK paketli derlemeyi seçer:
<PropertyGroup>
<!-- 'System.Text.Json' is SDK-bundled in 'net10.0' -->
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<!-- The assembly provided by this reference will not be used -->
<PackageReference Include="System.Text.Json" Version="10.0.0" />
</ItemGroup>
Örnek 2
Hedeflenen .NET SDK'sı birden çok çerçeve hedefi için eşdeğer bir sürüm içerdiğinde, bağımlılık çakışması çözümlemesi her hedef için uygun SDK paketlenmiş derlemeyi seçer:
<PropertyGroup>
<!-- 'System.Text.Json' is SDK-bundled in both TFMs -->
<TargetFrameworks>net9.0;net10.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<!-- Neither of the assemblies provided by these references will be used -->
<PackageReference Include="System.Text.Json" Version="10.0.0" Condition="'$(TargetFramework)' == 'net10.0'"/>
<PackageReference Include="System.Text.Json" Version="9.0.4" Condition="'$(TargetFramework)' == 'net9.0'"/>
</ItemGroup>
Solution
Gereksiz PackageReferenceöğesini kaldırın.
Senaryo 2
PackageReference Microsoft. Extensions.Caching.Memory ayıklaması yapılmaz. Bu paket otomatik olarak kullanılabilir ve açıkça başvurulması gerekmez. PackageReference öğesini kaldırma
Issue
Ayıklama için kullanılan paketlerin listesi, geçerli projenin doğrudan FrameworkReference öğeleri tarafından belirlenir.
FrameworkReference öğeler geçişli.
Ancak, geçerli proje aracılığıyla ProjectReferencebir çerçeve başvurusu devraldığında ayıklama, paketleri kaldırmak için bu geçişli çerçeve başvuruyu kullanmaz.
Bu paketin derleme zamanı çakışması çözümü tarafından kaldırılacağını unutmayın.
Example
Bu örnekte Library.csprojMicrosoft.AspNetCore.App ve Consumer.csproj başvuruları Library.csproj.
içinde Consumer.csprojdoğrudan FrameworkReference olmadan NuGet paketin budanabilir olduğunu belirleyemez.
Sonuç olarak, Microsoft.Extensions.Caching.Memory tüketici projesinde ayıklanabilir olarak kabul edilmez.
<!-- Library.csproj -->
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
</Project>
<!-- Consumer.csproj -->
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Library\Library.csproj" />
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="8.0.0" />
</ItemGroup>
</Project>
öğesini FrameworkReference doğrudan öğesine Consumer.csprojekleyin.
NuGet daha sonra paylaşılan çerçeve tarafından Microsoft.Extensions.Caching.Memory sağlandığını belirleyebilir.
Gereksiz doğrudan paket başvurusu için NU1510'a yükseltir.
<ItemGroup>
<ProjectReference Include="..\Library\Library.csproj" />
<FrameworkReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="8.0.0" />
</ItemGroup>
Solution
Eşleşeni FrameworkReference doğrudan geçerli projeye ekleyin.
Ardından gereksiz PackageReferenceöğesini kaldırın.
Note
.NET 10'la başlayarak, PrunePackageReference özellik .NET 10 veya üzerini hedefleyen tüm projeler için varsayılan olarak etkinleştirilir. Uyarı yalnızca ayıklama tüm çalışma zamanı hedeflerine uygulandığında tetiklenir:
<PropertyGroup>
<!-- 'System.Text.Json' is not SDK-bundled in 'net48' -->
<TargetFrameworks>net10.0;net48</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<!-- This reference is needed in 'net48' - NU1510 is not raised -->
<PackageReference Include="System.Text.Json" Version="9.0.7" />
</ItemGroup>