Condividi tramite


Note sulla versione di NuGet 6.10

Veicoli per la distribuzione di NuGet:

Versione nuGet Disponibile nella versione di Visual Studio Disponibile in .NET SDK
6.10.2 Visual Studio 2022 versione 17.10 8.0.3xx1

1 Installato con Visual Studio 2022 con qualsiasi carico di lavoro .NET

Riepilogo: Novità nella versione 6.10.2

Problemi corretti in questa versione

  • Ripristinare in modo implicito la gestione centrale dei pacchetti quando Directory.Packages.props esiste - #11834

Elenco dei commit in questa versione

1 Installato con Visual Studio 2022 con qualsiasi carico di lavoro .NET

Riepilogo: Novità nella versione 6.10.1

Problemi corretti in questa versione

  • Il ripristino/aggiornamento di Visual Studio e PMC ha esito negativo quando più progetti packages.config nella soluzione condividono lo stesso nome (è già stato aggiunto un elemento con la stessa chiave) - #13465

  • ##[error]Il comando nuget non è riuscito con codice di uscita(1) ed errore(È già stato aggiunto un elemento con la stessa chiave. - #13456

Elenco dei commit in questa versione

Riepilogo: Novità nella versione 6.10

  • [Funzionalità]: aggiungere il comando dotnet nuget config - #12469

  • Avvisare quando vengono rilevate vulnerabilità durante il ripristino di packages.config - #12307

  • Visualizzare una barra delle informazioni sulla vulnerabilità quando sono presenti vulnerabilità nei progetti basati su packages.config. - #13271

  • [Bug]: Impostazione non corretta del valore del provider di credenziali di Visual Studio pari isRetry - a #11210

  • dotnet list package --vulnerable richiede l'accesso costante al feed nuget di terze parti - #12456

6.10.0 Problemi noti

NuGet.exe 6.10.0 e Visual Studio 17.10.0 potrebbero avere errori durante le operazioni NuGet per i progetti che usano packages.config negli scenari seguenti:

  • Due o più progetti nella soluzione hanno lo stesso nome
  • Due o più progetti nella soluzione usano lo stesso file di packages.config (i file di progetto esistono nella stessa directory)

Questi problemi sono stati risolti in NuGet.exe 6.10.1 e Visual Studio 17.10.2.

I problemi di rilevamento pubblico e le discussioni sono disponibili nelle posizioni seguenti:

Modifiche radicali

  • Aggiungere annotazioni nullable a NuGet.Configuration - #13250

  • [Ricerca pacchetti Dotnet] Il risultato della ricerca del pacchetto deve essere "version" anziché "latestVersion" quando si esegue il comando "dotnet package search <Package Name> --exact-match --format json" - #13158

  • ResolvedDependencyKey deve essere uno struct per ridurre le allocazioni di memoria - #13138

  • [DCR]: Gestione Centralizzata dei Pacchetti - Rispettare il file .props come modo per abilitare esplicitamente la funzionalità. - #11834

  • Rimuovere NuGet.Packaging.Core - #12495

Problemi corretti in questa versione

  • Avvertire della rilevazione di vulnerabilità durante il ripristino di packages.config negli scenari dell'interfaccia della riga di comando. - #13253

  • Interrompere l'uso di JObject nella lettura dei file di asset per ridurre le allocazioni. #12715

  • Aggiungere il tracciamento di eventi al ripristino per consentire di misurare le prestazioni - #13274

  • Leggere auditSources dai file di nuget.config - #13211

  • SourceRepository.GetResourceAsync deve essere annullabile. - #13234

  • CreateWalkAsync non deve essere ricorsivo - #13222

  • ProjectModel.HashObjectWriter.OnFlush usa un hash SHA512 rispetto a un hash più economico che sembra eccessivo - #13214

  • I metadati del pacchetto proprietario sono una matrice in JSON, ma una stringa in Tipi di protocollo - #13186

  • dotnet ricerca pacchetto --verbosity dettagliata tabella di output troppo ampia - #13162

  • Le chiamate in SetWarningProperties() hanno un sovraccarico di allocazione dovuto a più enumerazione - #13151

  • L'uso di ConcurrentStack nell'implementazione del pool di oggetti crea grandi quantità di allocazioni - #13147

  • IsBestVersion effettua boxing degli enumeratori HashSet<T> generando un elevato sovraccarico di allocazione durante il ripristino. - #13146

  • Deprecare NuGet.exe elenco a favore di NuGet.exe ricerca - #7912

  • [Ricerca pacchetti Dotnet] Viene generata un'eccezione non gestita durante la ricerca con "--verbosity detailed" e "--format json" - #13300

  • dotnet package search crash nella versione preview 2 nightly di .NET 9 - #13286

  • Usare StringBuilderPool anziché allocare un nuovo StringBuilder - #13285

  • Inserire una dimensione appropriata per List<T> - #13284

  • JsonTextWriter alloca un numero elevato di stringhe - #13283

  • L'utilizzo di StringBuilder.Append() comporta un'allocazione quando si aggiunge un int - #13282

  • Boxing non necessario degli enumeratori struct - #13281

  • Gli oggetti di processo devono essere eliminati in modo che il finalizzatore non venga eseguito - #13280

  • Evitare enumeratori boxing per le raccolte - #13279

  • [.NET 9 Preview 3] il ripristino no-op non è più no-op - #13269

  • Ridurre le allocazioni nella chiamata a IVsProjectAdpater.IsCapabilityMatchAsync - #13268

  • Consolidare le implementazioni di ripristino packages.config riducendo al minimo le discrepanze - #13233

  • Annullare la registrazione dell'utilizzo di LINQ per ridurre alcune allocazioni in AddMSBuildAssets - #13223

  • PackageSpecWriter chiama Any su istanze di ICollection<T>/IList<T> invece di .Count - #13213

  • StringBuilder.Append(int) causa allocazioni non necessarie - #13207

  • La memorizzazione nella cache dei risultati delle attività può causare l'esecuzione di tutte le continuazioni nello stesso thread - #13206

  • LibraryDependency crea una raccolta che è per lo più vuota - #13184

  • PackageSpecWriter deve scrivere la stringa originale per le versioni invece di allocare una nuova stringa - #13183

  • SetCentralDependencies invoca OrderBy senza specificare il confronto, predefinendo un confronto sensibile alla cultura - #13182

  • I risultati della ricerca in formato JSON dalla ricerca di pacchetti dotnet non devono includere campi per i quali non vengono forniti valori - #13166

  • Il risultato della ricerca del pacchetto deve essere "totalDownloads" anziché "total downloads" durante l'esecuzione del comando "dotnet package search <Package Name> --format json" - #13165

  • [dotnet package search] il mancato caricamento di un indice di servizio dovrebbe essere considerato un errore e non un avviso. - #13163

  • Il formato di ricerca del pacchetto dotnet mostra l'output della Guida oltre a un file JSON - #13161

  • L'annullamento del ripristino statico basato su grafo non termina il processo di ripristino - #13140

  • Usare string.Contains anziché IEnumerable.Contains nel parsing di VersionRange - #13124

  • Il ripristino statico del grafo non ripristina la soluzione solo packages.config - #13109

  • Il ripristino NuGet ha sempre toccato il file project.assets.json anche se non viene modificato alcun contenuto quando è necessario registrare i messaggi di errore. - #13098

  • Il controllo in fase di ripristino non deve generare errori e fallire l'operazione - #13085

  • Durante il ripristino viene visualizzato l'errore "Un elemento con la stessa chiave è già stato aggiunto". - #13067

  • Lo scorrimento dell'interfaccia utente pm non carica più pacchetti aggiuntivi. - #13063

  • Il controllo della cache di ripristino NuGet non usa più la cache di esistenza dei file - #13058

  • L'aggiunta di un riferimento a un esproj da un progetto ASP.Net genera un errore NU1105 - #12986

  • RemoteDependencyWalker richiede molte risorse perché viene chiamato in modo ricorsivo - #12748

  • [Bug]: L'annullamento del ripristino di msbuild è lento quando è configurata un'origine non valida/non raggiungibile - #11813

  • Ripristino: clonazione profonda eccessiva di ProjectSpec - #9041

Elenco dei commit in questa versione

Contributi della community

Grazie a tutti i collaboratori che hanno contribuito a rendere incredibile questa versione di NuGet.

  • Erarndt
    • 5659 Ridurre il boxing durante l'enumerazione di elenchi
    • 5662 Usare StringBuilder.AppendInt() in più posizioni per ridurre le allocazioni durante l'aggiunta di numeri interi a stringBuilder
    • 5663 Rimuovere allocazioni dall'implementazione TextWriter.NewLine
    • 5665 Usare StringBuilder condivisi
    • 5661 Evitare il boxing dell'enumeratore in PackageSpecificWarningProperties.AddRangeOfCodes e in TransitiveNoWarnUtils.AddToSeen
    • 5660 Assicurarsi che gli oggetti Process vengano eliminati quando si avviano i plug-in di autenticazione
    • 5664 Specificare le dimensioni dell'elenco in TopologicalSortUtility.CalculateRelationships
    • 5624 Convertire CreateNodeAsync a un approccio iterativo
    • 5584 Espandere l'uso di LINQ per ridurre alcune allocazioni in AddMSBuildAssets
    • 5574 Annullare la registrazione di diverse chiamate LINQ
    • 5593 Ridurre ulteriormente le allocazioni in CreateGraphNodeAsync
    • 5592 Evitare enumerazioni multiple durante scrittura di oggetti Json
    • 5600 Evitare l'allocazione di stringhe intermedia causata da StringBuilder Append(i...
    • 5555 Annullare la registrazione di Linq in GetFlags
    • 5588 Evitare il boxing dell'enumeratore HashSet in IsBestVerion
    • 5589 Aggiornare l'implementazione del pool per usare uno stack con un blocco per evitare al...
    • 5568 Modificare ResolvedDependencyKey in struct
    • 5553 Evitare alcune allocazioni in GetCompatibilityData
    • 5554 Passare da Tuple a ValueTuple come chiavi del dizionario
    • 5552 Evitare di creare la classe di acquisizione per le chiamate a WithExtension
    • 5556 Passare da ConcurrentDictionary a Dictionary con blocco di locking per evitare ripetizioni...
    • 5551 Usare string.Contains anziché IEnumerable.Contains
    • 5550 Evitare il boxing dell'enumeratore List<T>
  • GenelleM
    • 5655 Aggiungere un algoritmo di hash non crittografico a 64 bit per il calcolo dell'univocità di dgspec
    • 5629 Sostituire le chiamate a Any() in ICollection in PackageSpecWriter con Conteggio == > 0 Problema #13213
    • 5619 Riduce l'utilizzo del tempo della CPU in SetCentralDependencies
  • NikolaMilosavkolvic
    • 5673 Abilitare la pubblicazione in VMR
    • 5625 Eliminare il pacchetto predefinito System.CommandLine
  • brianrob
    • 5650 Aggiungere strumentazione di ripristino