Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Funktionen PrunePackageReference tar automatiskt bort transitiva paket som tillhandahålls av målplattformen. Med den här ändringen markerar funktionen också direkt beskärbara PackageReference objekt med PrivateAssets=all och IncludeAssets=none attribut. Dessa attribut förhindrar att paketen visas i genererade beroendelistor för paket.
Version introducerad
.NET 10
Tidigare beteende
Tidigare, om beskärning var aktiverat, visades fortfarande direkt beskärbara PackageReference objekt i listan över genererade .nuspec-beroenden , även om paketet tillhandahölls av plattformen. (Och om projektet riktade in sig på .NET 10 kan de ha genererat en NU1510 varning.)
Överväg till exempel ett projekt med flera mål med följande konfiguration:
<PropertyGroup>
<TargetFramework>net10.0;net472</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.Text.Json" Version="9.0.8" />
</ItemGroup>
En sådan projektfil genererade en .nuspec-fil med beroenden för båda målramverken:
<dependencies>
<group targetFramework=".NETFramework4.7.2">
<dependency id="System.Text.Json" version="9.0.8" />
</group>
<group targetFramework="net10.0">
<dependency id="System.Text.Json" version="9.0.8" />
</group>
</dependencies>
Nytt beteende
Från och med .NET 10, när beskärning är aktiverat, markeras direkt beskärbara PackageReference objekt automatiskt med PrivateAssets=all och IncludeAssets=none, vilket exkluderar dem från de genererade beroendena för målramverk där de tillhandahålls av plattformen. (Men om projektet är avsett för .NET 10 eller senare får du fortfarande en NU1510 varning tills du tar bort referensen från projektet.)
Samma projektkonfiguration genererar nu en .nuspec-fil med det beskärbara beroendet borttaget från målramverket som tillhandahåller den (.NET 10):
<dependencies>
<group targetFramework=".NETFramework4.7.2">
<dependency id="System.Text.Json" version="9.0.8" />
</group>
<group targetFramework="net10.0">
</group>
</dependencies>
Typ av icke-bakåtkompatibel ändring
Den här ändringen är en beteendeförändring.
Orsak till ändring
Den här ändringen säkerställer att paketberoenden korrekt återspeglar de faktiska kraven för varje målramverk. Det förhindrar att onödiga paketreferenser visas i genererade paket när dessa API:er redan tillhandahålls av målramverket.
Rekommenderad åtgärd
- Om du skapar ett paket och får en
NU1510varning följer du anvisningarna där. - Om du skapar ett paket och de genererade .nuspec-beroendena inte innehåller något refererat paket för något målramverk tar du bort referensen från projektfilen eftersom den inte behövs.
- Om det refererade paketet visas i .nuspec-filen behövs ingen åtgärd.
Berörda API:er
Ingen.