Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Scenario
A PackageReference System.Text.Json nem lesz metszve. Fontolja meg a csomag eltávolítását a függőségekből, mivel valószínűleg szükségtelen.
Issue
Ez a figyelmeztetés a NuGet függőségi gráfjának metszése miatt jelenik meg, és azt jelzi, hogy egy egyébként metszhető csomag egy közvetlen PackageReference.
A névvel ellátott csomag metszhető, ha a közvetlen PackageReference el lett távolítva, mivel a célzott .NET SDK ugyanazt a verziót vagy magasabb verziót biztosítja a szerelvényhez.
Ez a figyelmeztetés csak a PrunePackageReference szolgáltatáson keresztül történő metszésre regisztrált csomagokat érinti.
Ez csak akkor merül fel, ha a PackageReference szóban forgó teljes mértékben eltávolítható a projektből.
1. példa
Ha a célzott .NET SDK egyenértékű verziót tartalmaz, a függőségi ütközés feloldása kiválasztja az SDK-csomagban lévő szerelvényt:
<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>
2. példa
Ha a célzott .NET SDK több keretrendszer-célhoz is tartalmaz egy egyenértékű verziót, a függőségi ütközések feloldása minden célhoz kiválasztja a megfelelő SDK-csomaggal rendelkező szerelvényt:
<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
Távolítsa el a szükségtelent PackageReference.
Note
A .NET 10-től kezdődően a PrunePackageReference funkció alapértelmezés szerint engedélyezve van minden olyan projekt esetében, amely a .NET 10-et vagy újabb verziót célozza. A figyelmeztetés csak akkor jelenik meg, ha a metszés az összes futtatókörnyezeti célra vonatkozik:
<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>