Aan de slag met NuGet 5.8
NuGet 5.8 is inbegrepen in Visual Studio 16.8 en .NET 5. Je kunt NuGet 5.8 ook downloaden voor Windows, macOS en Linux als een zelfstandig uitvoerbaar bestand. De NuGet tooling helpt developers nieuwe .NET packages te ontdekken om te gebruiken voor hun .NET applicaties, terwijl het package management makkelijker gemaakt wordt tijdens je dagelijkse development.
NuGet 5.8 highlights
Er zijn veel belangrijke verbeteringen in NuGet 5.8:
Creëer en gebruik .NET 5 NuGet packages met *.*NET 5 Support
Snellere package extractie door het gebruik van MemoryMappedFiles voor Faster Writes
Zoek naar packages door de NuGet CLI Search Command te gebruiken
Snellere NuGet restores met No-Op Restore Optimization
Stel je package list vast met dotnet list package -verbosity
Installeer prerelease packages met dotnet add package -prelease
Verifieer getekende NuGet packages met dotnet nuget verify
Sneller coderen met verbeteringen in NuGet Solution Load Performance
Ben productiever met verbeteringen in Visual Studio Package Manager
.NET 5 Support
NuGet 5.8 is de eerste release die volledige ondersteuning biedt in het authoring en restoring voor NuGet packages gericht op .NET 5.0.
MemoryMappedFiles voor Faster Writes
Door het gebruik van mmap voor .nupkg extractie tijdens het restoren was het mogelijk om de schrijfsnelheid van Windows over het algemeen te verbeteren. Wanneer je bijvoorbeeld NuGet restore met mmap draait tegen het Orchard Core project:
MMAP verbeteringen:
Client | Scenario | Tijd in Seconden |
---|---|---|
GEEN mmap | cold | 64.08216 |
mmap | cold | 22.03339 |
GEEN mmap | warmup | 64.58149 |
mmap | warmup | 32.60708 |
Er is een performance verbetering van 65% voor cold (Http Cache) en een performance verbetering van 50% voor warmup (Geen Http Cache) scenario’s.
NuGet CLI Search Command
Vind snel NuGet packages door middel van de NuGet CLI met NuGet Search.
No-Op Restore optimalisatie
Een No-Op restore vindt plaats wanneer NuGet elk project checkt om zeker te weten dat niks veranderd is en het bepaald of er een gedeeltelijke of volledige NuGet restore nodig is om al jou afhankelijke delen te installeren. In NuGet 5.8 en Visual Studio 16.8 zijn optimalisaties voor projecten toegevoegd door het gebruik van
NuGet restore:
Tool | Versie | Restore | Tijd in seconden |
---|---|---|---|
DotNet CLI | 3.1.402 | Noop | 6.929698 |
DotNet CLI | 5.0.100 | Noop | 5.792257 |
Er is een performance verbetering van 15%+ van No-Op restores tussen .NET 3.1 en .NET 5.0. Bovendien zul je minder verschil zien tussen de performance van je No-Op restore wanneer je andere methodes gebruikt zoals NuGet CLI, MSBuild en Visual Studio.
DotNet list package -verbosity
Je kunt het MSBuild verbosity niveau verhogen wanneer je packages weergeeft voor je projecten of oplossingen.
DotNet add package -prerelease
De DotNet add package command installeert standaard de laatste stabiele versie. Je kunt nu de absolute laatste versie installeren als je de prerelease optie erbij neemt.
DotNet NuGet verify
Je kunt een NuGet package verifiëren dat gesigned is binnen de DotNet CLI. In de toekomst zal het mogelijk zijn om een NuGet package te signen met de DotNet CLI.
NuGet Solution Load Performance verbeteringen
Misschien ben je wel eens een vertraging van het laden van grote oplossingen in Visual Studio tegengekomen. Een groot gedeelte van die tijd kan gebruikt worden voor het laden van je projecten en het restoren van je packages wanneer je jouw oplossing voor het eerst opent. In NuGet 5.8 zijn twee hoofdgebieden verbeterd:
De hoeveelheid van NU1105 errors die je ziet bij het laden van je oplossingen in Visual Studio zijn verminderd.
Wanneer je een oplossing laadt is de No-Op restore performance verbeterd met 10%+.
Visual Studio Package Manager verbeteringen
In NuGet 5.8 en Visual Studio 2019 16.8 is een probleem verholpen waarbij projecten doorlopend werden restored. Dit is geoptimaliseerd door maar één keer te restoren terwijl het tegelijkertijd wordt gedraaid. Als resultaat zul je merken dat NuGet Package Manager UI sneller zal presteren. De ervaring zal tussen de twee en veertien keer sneller zijn wanneer de NuGet Package Manager UI wordt gebruikt met meer optimalisaties die nog zullen volgen. Ook is jouw ervaring verbeterd wanneer je package operaties gebruikt. Eerst moest je verschillende keren proberen om een package versie te up- of downgraden. De betrouwbaarheid is verbeterd om er zeker van te zijn dat je dit maar een keer hoeft te doen en de restore zal goed zijn. Tenslotte kun je veel sneller packages verwijderen voor grote oplossingen. Een project als Orchard Core omvat bijvoorbeeld 158 projecten in een oplossing. Het verwijderen van packages in deze oplossing zou eerst ongeveer 70 seconden duren. Deze tijd is verbeterd met factor twee, dat betekent dat het nog maar 30 seconden duurt om 158 projecten te verwijderen. Deze verbetering zul je ook zien bij kleinere oplossingen. Het verwijderen van een kleine oplossing met bijvoorbeeld 4 projecten duurde hiervoor 1 seconden. Dit zal nu nog maar 0.75 seconden duren.