Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Funkce PrunePackageReference automaticky odebere tranzitivní balíčky poskytované cílovou platformou. Díky této změně funkce také označí přímo vyřazovatelné PackageReference položky s PrivateAssets=all atributy a IncludeAssets=none atributy. Tyto atributy brání tomu, aby se balíčky zobrazovaly ve generovaných seznamech závislostí pro balíčky.
Zavedená verze
.NET 10
Předchozí chování
Pokud bylo dříve povoleno prořezávání, přímo proředitelné položky se i přesto objevovaly v seznamu vygenerovaných závislostí .nuspec, a to i když byl balíček poskytován platformou. (A pokud váš projekt cílí na .NET 10, možná vygeneroval NU1510 upozornění.)
Představte si například projekt s cílením na více verzí s následující konfigurací:
<PropertyGroup>
<TargetFramework>net10.0;net472</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.Text.Json" Version="9.0.8" />
</ItemGroup>
Takový soubor projektu vygeneroval soubor .nuspec se závislostmi pro obě cílové architektury:
<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>
Nové chování
Od verze .NET 10 se při prořezávání přímo prořezatelné PackageReference položky automaticky označí PrivateAssets=all a IncludeAssets=none a vyloučí je z vygenerovaných závislostí pro cílové platformy, kde je platforma poskytuje. (Pokud ale projekt cílí na .NET 10 nebo novější, stále se NU1510 zobrazí upozornění , dokud neodeberete odkaz z projektu.)
Stejná konfigurace projektu teď vygeneruje soubor .nuspec s vyřaditelnou závislostí odebranou z cílové architektury, která ji poskytuje (.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 zásadní změny
Tato změna je změna chování.
Důvod změny
Tato změna zajišťuje, aby závislosti balíčků přesně odrážely skutečné požadavky pro každou cílovou architekturu. Zabrání tomu, aby se nepotřebné odkazy na balíčky zobrazovaly ve vygenerovaných balíčcích, pokud už tato rozhraní API poskytuje cílová architektura.
Doporučená akce
- Pokud vytvoříte balíček a zobrazí se
NU1510upozornění, postupujte podle pokynů v něm. - Pokud vytvoříte balíček a vygenerované závislosti .nuspec neobsahují odkazovaný balíček pro žádnou cílovou architekturu, odeberte odkaz ze souboru projektu, protože není potřeba.
- Pokud se odkazovaný balíček zobrazí v souboru .nuspec , není nutná žádná akce.
Ovlivněná rozhraní API
Žádný.