Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
NuGet-distributievoertuigen:
| NuGet-versie | Beschikbaar in Visual Studio-versie | Beschikbaar in .NET SDK('s) |
|---|---|---|
| 6.0.0 | Visual Studio 2022 versie 17.0.0 | 6.0.01 |
| 6.0.1 | Visual Studio 2022 versie 17.0.2 | N/A |
| 6.0.2 | Visual Studio 2022 versie 17.0.11 | 6.0.3011 |
| 6.0.3 | Visual Studio 2022 versie 17.0 | 6.0.1101 |
| 6.0.5 | N/A | 6.0.1181 |
| 6.0.6 | N/A | 6.0.1271 |
1 Geïnstalleerd met Visual Studio 2022 with.NET Core-workload
Samenvatting: Nieuw in 6.0.6
- [Beveiliging]: Microsoft Security Advisory CVE-2024-0057 | Beveiligingsprobleem met NuGet-clientbeveiligingsfunctie omzeilen - #12653
Samenvatting: Wat is er nieuw in 6.0.5
- [Beveiliging]: Microsoft Security Advisory CVE-2023-29337 | Beveiligingsprobleem met uitvoering van externe code van NuGet-client - #12653
Opmerking
Er is een wijziging die fouten optreedt in Linux. De locatie van de tijdelijke map, waar NuGet tijdelijke bestanden opslaat tijdens de verschillende bewerkingen, is gewijzigd van /tmp/NuGetScratch ./tmp/NuGetScratch<username> Bijvoorbeeld voor gebruiker Gebruiker1 is de tijdelijke map /tmp/NuGetScratchUser1.
Samenvatting: Nieuw in 6.0.3
- [Beveiliging]: Microsoft Security Advisory CVE-2022-41032 | .NET-uitbreiding van beveiligingsprobleem - #12149
Opmerking
Visual Studio 17.0, MSBuild 17.0 en .NET 6.0 vereisen NuGet.exe 6.0 of hoger.
Samenvatting: Nieuw in 6.0.2
- [Beveiliging]: Microsoft Security Advisory CVE 2022-30184 | .NET Information Disclosure Vulnerability - #11883
Samenvatting: Wat is er nieuw in 6.0.0
🎉 Dit is de eerste release die volledige ondersteuning biedt voor het maken en herstellen van NuGet-pakketten die gericht zijn op .NET 6.0 🎉
Ondersteuning voor .NET 6
NuGet 6.0 is de eerste release die volledige ontwerp- en herstelondersteuning biedt voor NuGet-pakketten die gericht zijn op .NET 6.0. U kunt nu de volgende doelframeworks instellen:
- net6.0
- net6.0-windows
- net6.0-android
- net6.0-ios
- net6.0-macos
- net6.0-maccatalyst
- net6.0-tvos
- net6.0-tizen
Als u vandaag nog niet bekend bent met de .NET 6.0-doelen of hoe deze er in de toekomst uitziet, vergeet dan niet om de TFM-specificatie van .NET 6.0 te bekijken.
Brontoewijzing
Eerder dit jaar werden veel pakketbeheerders op de hoogte van afhankelijkheidsverwarringsaanvallen waarbij een gebruiker wordt misleid om een schadelijke afhankelijkheid te installeren in plaats van degene die ze bedoeld hebben. Om uw softwareleveringsketen tegen deze aanvallen te versterken, heeft het NuGet-team een nieuwe functie ontwikkeld waarmee u uw afhankelijkheden kunt toewijzen aan specifieke bronnen. Hieronder ziet u een voorbeeld van hoe u brontoewijzing kunt gebruiken om uw projecten te beveiligen.
<!-- Define a global packages folder for your repository. -->
<!-- This is where installed packages will be stored locally. -->
<config>
<add key="globalPackagesFolder" value="globalPackagesFolder" />
</config>
<!-- Define my package sources, nuget.org and contoso.com. -->
<!-- `clear` ensures no additional sources are inherited from another config file. -->
<packageSources>
<clear />
<!-- `key` can be any identifier for your source. -->
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="contoso.com" value="https://contoso.com/packages/" />
</packageSources>
<!-- Define mappings by adding package ID patterns beneath the target source. -->
<!-- Contoso.* packages will be restored from contoso.com, everything else from nuget.org. -->
<packageSourceMapping>
<!-- key value for <packageSource> should match key values from <packageSources> element -->
<packageSource key="nuget.org">
<package pattern="*" />
</packageSource>
<packageSource key="contoso.com">
<package pattern="Contoso.*" />
</packageSource>
</packageSourceMapping>
Lees meer over bronmapping in onze blog die eerder dit jaar is uitgebracht.
Pakketproblemen in Visual Studio
Wanneer u NuGet Package Manager in Visual Studio gebruikt, ziet u nu pakketproblemen voor uw pakketten, waaronder details zoals het aantal en de ernst van beveiligingsproblemen, evenals directe koppelingen voor meer informatie over de adviezen.
Gedrag voor opnieuw proberen en uitstel
Er is nu een NUGET_ENABLE_EXPERIMENTAL_HTTP_RETRY flag om het poging en terugvalgedrag van NuGet-clients te verbeteren, zoals het verhogen van het maximale aantal pogingen en het verhogen van de vertraging voor een resistentere ervaring bij het tegenkomen van een zwakkere internetverbinding.
Standaardbestandsextensies uitsluiten
U kunt nu de MSBuild-vlag <AllowedOutputExtensionsInPackageBuildOutputFolder> gebruiken om de bestandsextensies te bewerken die zijn opgenomen in de build-uitvoer van uw pakket. Hierdoor hebt u meer controle over de extensies die worden opgenomen in de uitvoermap van de build.
Verbeterde verouderingsinformatie in Visual Studio
Afgeschafte pakketten in Visual Studio bevatten nu een koppeling naar het voorgestelde alternatieve pakket dat moet worden gebruikt. U kunt deze functie gebruiken om snel te bladeren en pakketten te installeren die actief worden onderhouden.
Een pakket-README toevoegen in Visual Studio
U kunt nu rechtstreeks in Visual Studio een pakket README.md-bestand toevoegen. Een README helpt belangrijke informatie over uw pakket te communiceren. Het is vaak het eerste item dat een bezoeker zal zien bij het bezoeken van uw pakket op NuGet.org. LEESMIJ-bestanden bevatten doorgaans informatie over:
- Wat het pakket doet
- Waarom het pakket nuttig is
- Hoe gebruikers aan de slag kunnen met het pakket
- Waar gebruikers hulp kunnen krijgen of bijdragen aan uw pakket
Meer informatie over het toevoegen van een README aan uw NuGet-pakket vindt u in onze blog.
Sneller laden van oplossingen en overschakelen tussen branches in Visual Studio
In Visual Studio 2022 heeft NuGet het contract tussen NuGet-pakketherstel en algemene Visual Studio-onderdelen opnieuw gedefinieerd om de prestaties voor grote oplossingen te verbeteren door slechts eenmaal herstel aan te roepen in plaats van meerdere keren. Dit verbetert de tijd die het kost om achtergrondprocessen aanzienlijk te voltooien.
Installeer Visual Studio 2022 Preview en laat het ons weten als u een snellere ervaring ondervindt bij het laden van uw grote oplossingen of het schakelen tussen vertakkingen.
De Visual Studio API's van NuGet SolutionRestoreManager zijn verplaatst naar het NuGet.VisualStudio-pakket
NuGet.SolutionRestoreManager.Interop wordt niet meer bijgewerkt en de BIJBEHORENDE API's zijn samengevoegd in het NuGet.VisualStudio-pakket. Als u een bestaande Visual Studio-extensie bijwerkt voor gebruik met Visual Studio 2022 (17.0) en u eerder NuGet.SolutionRestoreManager.Interop gebruikte, moet u dat pakket verwijderen en NuGet.VisualStudio upgraden/installeren naar versie 6.0.0. De naamruimten en klassen blijven hetzelfde, dus deze zijn compatibel vanuit een API-perspectief.
Daarnaast gebruikt NuGet.VisualStudio niet langer EmbedInteropTypes, in overeenstemming met de wijzigingen in het beleid van Visual Studio.
Daarom heeft uw extensie een referentietijd voor het compileren van NuGet.VisualStudio.dll.
Nuget geeft Visual Studio opdracht om bindingsomleidingen te gebruiken, dus uw extensie wordt niet beïnvloed wanneer NuGet wordt geüpdatet naar nieuwere versies, terwijl uw extensie wordt gecompileerd met een oudere versie van onze assembly.
Daarom kunt u de assembly's van NuGet uit uw vsix uitsluiten om de downloadgrootte te verkleinen.
NuGet-pakketten worden bijgewerkt om dit automatisch te doen in NuGet 6.2 (voor Visual Studio 17.2).
Als u de assembly's van NuGet wilt onderdrukken vanuit uw vsix, voegt u het volgende toe aan uw projectbestand:
<ItemGroup>
<SuppressFromVsix Include="NuGet.VisualStudio.dll" Visible="false" />
<SuppressFromVsix Include="NuGet.VisualStudio.Contracts.dll" Visible="false" />
</ItemGroup>
Functies:
Hook toevoegen voor het uitsluiten van bepaalde build-uitvoerextensies uit het nuget-pakket - #10690
Nieuwe prioriteit implementeren voor xamarin TFM's wanneer u net6.0+ - #10717 gebruikt
Mac Catalyst-waarschuwing implementeren wanneer wordt teruggevallen op Xamarin.iOS voor net6.0+ projecten - #10718
Ondersteuning voor pakketnaamruimten toevoegen als onderdeel van de configuratie - voeg alleen een leesmogelijkheid toe - #10725
Pakketnaamruimten: Houd rekening met het filteren van pakketnaamruimten bij het downloaden van pakketten in PackageReference-herstel - #10732
Ondersteuning voor het filteren van naamruimten toevoegen tijdens het herstel van packages.config in nuget.exe en msbuild /t:restore - #10737
Voeg een contract toe voor het identificeren van een herstelbron om NuGet te helpen bij betere batchherstelbewerkingen en het schakelen tussen vertakkingen. - #10807
Ondersteuning toevoegen voor net6.0-tizen en net6.0-android - #10819
Ondersteuning voor het filteren van naamruimten toevoegen aan de packages.config-herstelfunctie in Visual Studio - #10823
Ondersteuning toegevoegd voor TfmSpecificDebugSymbolsFile om symbolen te bieden in de interne build - #10913
Waarschuwingspictogram weergeven op het tabblad Geïnstalleerd als er kwetsbare pakketten zijn geïnstalleerd - #10982
Waarschuwingspictogram weergeven per pakket in lijst met pakketten als er een beveiligingsprobleem is - #10983
Details van pakketproblemen weergeven in het deelvenster met pakketdetails van de PMUI - #10985
Verouderdheidskoppelingen toevoegen op de pagina Details in de PM UI - #10996
[Functie]: Het aantal nieuwe pogingen en het uitstelgedrag configureren voor Nuget-clients - #11027
[Functie]: los alle pakketinstallatieregels voor pakketnaamruimten op in packageReference- en PackageDownload-scenario's. - #11035
[Functie]: alle pakketinstallatieregels voor pakketnaamruimten werken in projecten met de configuratiestijl van pakketten - #11036
Problemen opgelost in deze release
DCR's:
Overweeg om de uitbreidbaarheid te verwijderen waarmee andere pakketbeheerders als compatibel kunnen worden weergegeven - #6623
Stoppen met het gebruik van EmbedInteropTypes voor VS-extenbility-pakketten/assembly's van NuGet - #10892
Project.nuget.g.targets mogen niet worden voorafgegaan door MSBuildAllProjects in MSBuild 16 of hoger - #10895
Verouderde kern-API's verwijderen - #10940
NuGet.SolutionRestoreManager.Interop samenvoegen in NuGet.VisualStudio - #10957
RuntimeEnvironmentHelper.IsDev14 verwijderen - #11000
Newtonsoft.Json bijwerken naar 13.0.1 - #11095
[DCR]: naam van de functie packageNamespaces wijzigen in packageSourceMapping - #11205
Bugs:
Installeren met de modus voor het opslaan van pakketten 'nuspec' wordt altijd opnieuw geïnstalleerd - #2402
<project>Update-Package -reinstall -ProjectName werkt niet voor pull request - #6088"Er is al een item met dezelfde sleutel toegevoegd" - wanneer projectgrafiek projectName == packageRef name (van dezelfde versie) - #6795 heeft
[Testfout] Stel voor om de tweede gedupliceerde tekenreeks 'Licentie-acceptatie' te verwijderen in het dialoogvenster 'Licentieacceptatie' - #8162
Kan de configuratiesleutel niet verwijderen met behulp van nuget.exe - #8223
msbuild /t:Restore en Visual Studio produceren verschillende assets-bestanden wanneer de assemblynaam niet gelijk is aan de projectnaam - #8272
PM UI humaniseert het aantal downloads niet wanneer 999.500 <= count <=999.999 - #8800
Roslyn Analyzer-suggestie 'installeren met pakketbeheer' opent NuGet op het verkeerde tabblad - #10124
StaticGraph Restore moet duidelijk worden aangeroepen wanneer een project niet
KnownToBeMSBuildFormatwordt aangeroepen via een oplossingsbestand - #10363Met de opdracht nuget spec wordt een .nuspec-bestand gegenereerd met een iconUrl - #10400
Rfc3161TimestampTokenInfo.GetNonce kan een uitzondering afwerpen - #10484
Controleren of de opdracht niet is uitgeschakeld in Mono - #10585
De methode CreateLockFileTargetLibrary vertraagt de herstelbewerking - #10614
PackageArchieveReader overschrijft CopyNupkgAsync niet, zodat pakketextractie mislukt - #10708
Informatie over pakketnaamruimten doorgeven aan de opdracht Herstellen - #10736
Zorg ervoor dat het filteren van naamruimten wordt gerespecteerd tijdens installatie/updates van het pakket in packages.config binnen PMUI - #10738
NuGet.Packaging.Extraction: uitzonderingen bij resources niet gevonden - #10776
Kan ingesloten PackageReadmeFile niet gebruiken bij het gebruik van snupkg voor symbolen - #10791
Redundante UI-vertraagopties verwijderen bij initialisatie van NuGet-project - #10824
Verwijder overbodige ToList-opsommingen in herstelcodepaden - #10835
IVsPackageInstallerServices markeren als afgeschaft - #10836
NuGet-pakketten die meer dan 1 miljard keer zijn gedownload, geven de verkeerde eenheid weer - #10864
Moeilijk om de achtergrondkleur van het nummer aan de rechterkant van de tabbladen 'Updates' en 'Samenvoegen' te zien in het thema Donker - #10896
IVsProjectRestoreInfoSource-verbeteringen - #10898
packages.lock.json kapot met Sdk-Style C#-project gericht op net5.0-windows - #10901
Een standaard implementatie toevoegen voor IVsSolutionRestoreService4 - #10908
[Reactiesnelheid] Impliciete RPC verwijderen uit achtergrondthread via overbodige GetServiceAsync-extensies - #10916
Het boksen van bool voor hashcode-berekening veroorzaakt overmatige geheugenallocaties - #10917
Herhalen van bibliotheekafhankelijkheden veroorzaakt overtoewijzing van Enumerators - #10918
Zoeken in compatibiliteitscache wijst Func toe voor elke zoekopdracht - #10919
Overbezettingen van WhereListIterator in DependencyWalker.CreateGraphNode - #10920
Uitzondering tijdens het herstellen: 'Herstelmetadata mist de vereiste lijst met doelframeworks' - #10924
Een reducer van een framework delen over verschillende beheerde codeconventies - #10925
NuGet VSIX wordt gegenereerd met onjuiste bindingsomleidingen - #10946
Vertragingen in de gebruikersinterface van NuGet Package Manager bij het uitvoeren van init-scripts - #10947
Ondersteuningsbron-URI die is doorgegeven aan nuget restore/install en dotnet restore package of andere equivalente opdrachten - #10948
Ondersteuning voor het filteren van naamruimten voor de nuget.exe-installatieopdracht - #10961
Stoppen met het genereren van onbewerkte eigenschappen voor elk segment - #10969
Onverwachte NU1605 van transitieve verwijzing die nooit is geselecteerd (gesnoeid subgraaf) - #10972
NuGet.Localization heeft geen pakketpictogram - #10975
Vermijd onnodig het wijzigen van het formaat van woordenlijst tijdens het berekenen van projectsluiting - #10976
Conflicterende documentatie inzake ISettings.AddOrUpdate - #10980
Een pool-bytematrix gebruiken bij het kopiëren van bestanden en het valideren van handtekeningen - #10988
Vermijd toewijzingen van Task.WhenAny in dependency walker - #10989
Zorg ervoor dat het filteren van de naamruimte wordt gerespecteerd bij het installeren/updaten van pakketten in packages.config PMC - #11001
Zorg ervoor dat het filteren van naamruimten wordt gerespecteerd bij de installatie of updates van packages.config via de IVs installer API - #11002
[Bug]: PM UI geeft 0 downloads weer wanneer het geselecteerde pakket al is geïnstalleerd - #11012
Toewijzingen verminderen in VersionFormatter - #11014
Verouderde ongebruikte typen: LibraryDependencyType en gerelateerd - #11015
[Bug]:
nuget.exe install packages.configvoldoet niet aan-PackageSaveMode nuspec- #11018[Bug]:
$(IsPackable)is niet aangehaald - #11025Apex-tests maken met meerdere bronopslagplaatsen voor het filteren van de PMUI-pakketnaamruimte - #11026
[Bug]: [Toegankelijkheid] Moeilijk te lezen koppelingen in zoekresultaten van PM UI met behulp van licht of donker thema - #11055
IVsSolutionRestoreService4 moet IVsSolutionRestoreService3 - #11098 uitbreiden
[Bug]: Advieskoppelingen moeten worden uitgelijnd in het detailvenster van PMUI - #11101
De tooltip van het waarschuwingspictogram voor kwetsbare en verouderde pakketversies is niet duidelijk - #11103
[Responsiviteit] RestoreOperationLogger+StatusBarProgress.Dispose blokkeert een threadpool-thread die wacht op de UI-thread - #11115
Tijd sinds laatste herstel-metriek toevoegen - #11124
[Bug]: nuget.exe regressie bij het verwerken van recursieve
<files>vermeldingen tussen 5.9.1 en 5.10.0 - #11125Await WhenNominated wanneer een project een nominatie in behandeling heeft - #11132
Ondersteunt de sourceUri-optie doorgegeven aan dotnet add package - #11140
[Bug]: VS PM UI geeft geen JPEG-pictogrammen voor pakketten weer - #11144
UIDelay:
nuget.packagemanagement.visualstudio.dll!NuGet.PackageManagement.VisualStudio.VsCoreProjectSystemReferenceReader+<GetProjectReferencesAsync>d__- CPS-projecten - #11162[Bug]:
dotnet list package --outdated --interactivemaakt referentieprovider ongeldig cache voor elk weergegeven pakket - #11169[Bug]: Pakketnaamruimten voor packages.config scenario's gebruiken alle bronnen als terugvaloptie wanneer er geen overeenkomende naamruimten worden gevonden voor een pakket - #11170
MEF-zoekopdrachten op UI-thread voorkomen tijdens initialisatie van NuGet-projecten - #11176
[Bug]: Knopinfo op de waarschuwingsindicatorafbeelding op het tabblad Geïnstalleerd werkt niet meer - #11183
Alle ServiceLocator-aanroepen die MEF-services ophalen, moeten de UI-thread vermijden. - #11201
[Bug]: Telemetriegebeurtenis ontbreekt in Visual Studio - #11206
Vermijd dubbele EnvDTEProjectUtility.IsSupportedAsync-aanroepen - #11207
Voeg IVsSolutionManager.GetSolutionDirectoryAsync toe: verbeter de prestaties en stop met het blokkeren van de aanroepende thread in asynchrone codepaden. - #11208
Naam van typen/variabelen in de product-/testcode wijzigen zodat de nieuwe naam voor de functie voor pakketnaamruimten wordt weergegeven - #11216
[Bug]: ArPow-build werkt niet goed in een submap van een niet-gerelateerde Git-opslagplaats - #11227
dotnet-lijstpakket --kwetsbaar, --afgeschaft, --verouderd werkt niet voor transitieve positieven - #10767
Lijst met alle problemen die zijn opgelost in deze release - 6.0
Lijst met doorvoeringen in deze release - 6.0.0
Samenvatting: Nieuw in 6.0.1
Alleen Visual Studio is bijgewerkt met deze versie van NuGet.
Problemen opgelost in deze release
- [Bug]: Kan INuGetProjectService niet ophalen van de servicebroker in Visual Studio 17 - #11367
- [Bug]: Initialisatie van Package Manager-console kan impasses veroorzaken - #11320
Lijst met doorvoeringen in deze release - 6.0.1
Bijdragen van de community
Bedankt voor alle inzenders die hebben geholpen deze NuGet-release geweldig te maken!
| Wie | Prs | Issues |
|---|---|---|
| omajid | 3866 | Niet-null verwerken in Rfc3161TimestampTokenInfo - #10484 |
| marcin-krystianc | 3934 | Een cache toevoegen voor LockFileTargetLibrary - #10614 |
| krafs | 4151 | Returnwaarde verwijderd uit documenten in ISettings.AddOrUpdate - #10980 |
| huangqinjin | 4148 | Oplossen PackageSaveMode nuspec herinstalleert altijd - #2402 |
| Insomniak47 | 4190 | fix(docs): Koppeling naar gesloten of doodlopende koppeling verwijderen in richtlijnen voor bijdragen - #8987 |
| marcin-krystianc | 4194 | Zorg ervoor dat de prestatiescripts rekening houden met mislukte herstelbewerkingen - #9968 |
| eriawan | 4159 | Fixes Surround ($IsPackable) met enkele aanhalingstekens - #11025 |
| huangqinjin | 4193 | Het installeren van packages.config moet uitvoering geven aan PackageSaveMode - #11018 |
| mfkl | 4199 | test: gebruik nieuwe DependencyGraphSpec - #11168 |
| omajid | 4254 | --work-tree gebruiken met Git apply - #11227 |
Welkom bij feedback
Uw feedback is belangrijk voor ons. Als er problemen zijn met deze release, raadpleegt u onze GitHub-problemen en Visual Studio Developer Community voor bestaande problemen. Voor nieuwe problemen in NuGet meldt u een GitHub-probleem. Voor algemene Problemen met NuGet-problemen kunt u ons dit laten weten via de optie Een probleem melden in uw favoriete IDE onder Help-rapport > een probleem.