Leer en inglés

Compartir a través de


Notas de la versión de NuGet 6.10

Vehículos de distribución de NuGet:

Versión de NuGet Disponible en la versión de Visual Studio Disponible en los SDK de .NET
6.10.2 Visual Studio 2022 versión 17.10 8.0.3xx1

1 Se instala con Visual Studio 2022 con cualquier carga de trabajo de .NET

Resumen: Novedades de la versión 6.10.2

Problemas corregidos en esta versión

  • Revertir Habilitar la administración central de paquetes implícitamente cuando existe Directory.Packages.props: #11834

Lista de confirmaciones en esta versión

1 Se instala con Visual Studio 2022 con cualquier carga de trabajo de .NET

Resumen: Novedades de la versión 6.10.1

Problemas corregidos en esta versión

  • Se produce un error en la restauración o actualización de Visual Studio y PMC cuando varios proyectos packages.config de la solución comparten el mismo nombre (ya se ha agregado un elemento con la misma clave) - #13465

  • ##[error]El comando nuget produjo un error con código de salida(1) y error(Ya se ha agregado un elemento con la misma clave. - #13456

Lista de confirmaciones en esta versión

Resumen: Novedades de la versión 6.10

  • [Característica]: agregue el comando dotnet nuget config - 12469

  • Advertencia cuando se detectan vulnerabilidades durante la restauración de packages.config: 12307

  • Muestra una barra de información de vulnerabilidad cuando hay vulnerabilidades en los proyectos basados en packages.config. - 13271

  • [Error]: El proveedor de credenciales de VS establece incorrectamente el valor de isRetry - 11210

  • dotnet list package --vulnerable requiere el inicio de sesión constante en la fuente nuget de terceros: 12456

Incidencias conocidas en 6.10.0

NuGet.exe 6.10.0 y Visual Studio 17.10.0 pueden tener errores durante las operaciones de NuGet para proyectos que usan packages.config en los escenarios siguientes:

  • Dos o más proyectos de la solución tienen el mismo nombre
  • Dos o más proyectos de la solución usan el mismo archivo packages.config (los archivos de proyecto existen en el mismo directorio)

Estos problemas se han corregido en NuGet.exe 6.10.1 y Visual Studio 17.10.2.

Los problemas y discusiones sobre seguimiento público se pueden encontrar en las siguientes ubicaciones:

Cambios importantes

  • Adición de anotaciones que aceptan valores NULL a NuGet.Configuration: 13250

  • [Búsqueda de paquetes dotnet] El resultado de búsqueda del paquete debe ser "version" en lugar de "latestVersion" al ejecutar el comando "dotnet package search <Package Name> --exact-match --format json" - n.º 13158

  • ResolvedDependencyKey debe ser una estructura para reducir las asignaciones de memoria: n.º 13138

  • [DCR]: Administración central de paquetes: respetar el archivo .props como una manera de participar en la característica. - n.º 11834

  • Eliminar NuGet.Packaging.Core: #12495

Problemas corregidos en esta versión

  • Advertencia cuando se detectan vulnerabilidades durante la restauración de packages.config en los escenarios de la CLI. - n.º 13253

  • Deje de usar JObject en la lectura de archivos de recursos para reducir las asignaciones. n.º 12715

  • Agregar seguimiento de eventos para restaurar con el fin de que se pueda medir el rendimiento: n.º 13274

  • Leer auditSources de archivos nuget.config: n.º 13211

  • SourceRepository.GetResourceAsync debe cancelarse. - n.º 13234

  • CreateWalkAsync no debe ser recursivo: 13222

  • ProjectModel.HashObjectWriter.OnFlush usa un hash SHA512 frente a un hash más barato que parece excesivo: 13214

  • Los metadatos del paquete del propietario son una matriz en JSON, pero una cadena en tipos de protocolo: 13186

  • búsqueda de paquete dotnet --tabla de salida en nivel de detalle demasiado amplia: 13162

  • Las llamadas en SetWarningProperties() tienen sobrecarga de asignación debido a varias enumeraciones: 13151

  • El uso de ConcurrentStack en la implementación del grupo de objetos crea grandes cantidades de asignaciones: 13147

  • Los enumeradores HashSet<T> de los cuadros IsBestVersion dan lugar a una gran sobrecarga de asignación durante la restauración. - 13146

  • En desuso NuGet.exe lista en favor de la búsqueda de NuGet.exe: 7912

  • [Búsqueda de paquetes dotnet] Se produce una excepción no controlada al buscar con "--nivel de detalle detallado" y "--format json": 13300

  • dotnet package search bloqueos en la versión preliminar 2 de .NET 9 por la noche: 13286

  • Use StringBuilderPool en lugar de asignar un nuevo StringBuilder : 13285

  • Pase un tamaño adecuado para List<T>: 13284

  • JsonTextWriter asigna una gran cantidad de cadenas: 13283

  • El uso de StringBuilder.Append() asigna al anexar un int: 13282

  • Conversión boxing innecesaria de enumeradores de estructura: 13281

  • Los objetos de proceso deben eliminarse para que el finalizador no se ejecute: 13280

  • Evitar enumeradores de conversión boxing para colecciones: 13279

  • [.NET 9 Preview 3] la restauración no operativa ya no es una operación no operativa: 13269

  • Reducir las asignaciones en la llamada a IVsProjectAdpater.IsCapabilityMatchAsync: 13268

  • Consolidar implementaciones de restauración de packages.config minimizando las discrepancias: 13233

  • Anular el uso de LINQ para recortar algunas asignaciones en AddMSBuildAssets: 13223

  • PackageSpecWriter llama a cualquier método en una instancia de <T>/IList<T> de ICollection en lugar de .Count: 13213

  • StringBuilder.Append(int) provoca asignaciones innecesarias: 13207

  • Los resultados de la tarea de almacenamiento en caché pueden hacer que todas las continuaciones se produzcan en el mismo subproceso: 13206

  • LibraryDependency crea una colección que está principalmente vacía: 13184

  • PackageSpecWriter debe escribir una cadena original para las versiones en lugar de asignar una nueva: 13183

  • SetCentralDependencies llama a OrderBy sin especificar la comparación predeterminada a la comparación culturalmente sensible: 13182

  • Los resultados de búsqueda en formato JSON de la búsqueda de paquetes dotnet no deben incluir campos para los que no se proporciona ningún valor: 13166

  • El resultado de la búsqueda del paquete debe ser "totalDownloads" en lugar de "descargas totales" al ejecutar el comando "búsqueda de paquetes dotnet <Nombre del paquete> --formato json" - 13165

  • [búsqueda de paquetes dotnet] el error al cargar un índice de servicio debe ser un error y no una advertencia. - 13163

  • El formato de búsqueda de paquetes dotnet muestra la salida de ayuda además de un archivo JSON: 13161

  • La cancelación de la restauración basada en gráficos estáticos no finaliza el proceso de restauración: 13140

  • Use string.Contains en lugar de IEnumerable.Contains en el análisis de VersionRange: 13124

  • La restauración de gráficos estáticos no restaura la solución packages.config únicamente: 13109

  • La restauración de NuGet siempre tocó el archivo project.assets.json incluso aunque no se cambie ningún contenido cuando necesita mensajes de error de registro. - 13098

  • La auditoría en el momento de la restauración no debe iniciar y producir un error en la operación: 13085

  • Error “Ya se ha agregado un elemento con la misma clave” al ejecutar la restauración. - 13067

  • El desplazamiento de la interfaz de usuario de PM ya no carga paquetes adicionales. - 13063

  • La comprobación de caché de restauración de NuGet ya no usa la caché de existencia de archivos: 13058

  • Agregar una referencia a un esproj desde un proyecto de ASP.Net produce un error NU1105: 12986

  • RemoteDependencyWalker realiza numerosas asignaciones debido a que se llama recursivamente: 12748

  • [Error]: La cancelación de la restauración de msbuild es lenta cuando se configura un origen no válido o inaccesible: 11813

  • Restauración: clonación excesiva en profundidad de ProjectSpec: 9041

Lista de confirmaciones en esta versión

Contribuciones de la comunidad

Gracias a todos los colaboradores que han ayudado a que esta versión de NuGet sea impresionante.

  • Erarndt
    • 5659 Reducir la conversión boxing al enumerar listas
    • 5662 Usar StringBuilder.AppendInt() en más lugares para reducir las asignaciones al anexar enteros a un stringBuilder
    • 5663 Eliminar asignaciones de la implementación de TextWriter.NewLine
    • 5665 Usar StringBuilder agrupado
    • 5661 Evitar la conversión boxing del enumerador en PackageSpecificWarningProperties.AddRangeOfCodes y TransitiveNoWarnUtils.AddToSeen
    • 5660 Asegurarse de que los objetos de procesos se eliminan al iniciar complementos de autenticación
    • 5664 Especificar el tamaño de lista en TopologicalSortUtility.CalculateRelationships
    • 5624 Cambiar CreateNodeAsync a un enfoque iterativo
    • 5584 Anular el uso de LINQ para recortar algunas asignaciones en AddMSBuildAssets
    • 5574 Anular la inscripción de varias llamadas LINQ
    • 5593 Reducir adicionalmente asignaciones en CreateGraphNode.
    • 5592 Evitar varias enumeraciones al escribir objetos Json
    • 5600 Evitar la asignación intermedia de cadenas causada por StringBuilder Append(i...
    • 5555 Anular la inscripción de Linq en GetFlags
    • 5588 Evitar el enumerador HashSet boxing en IsBestVerion
    • 5589 Actualizar la implementación del grupo para usar una pila con un bloqueo para evitar al...
    • 5568 Cambiar ResolvedDependencyKey a una estructura
    • 5553 Evitar algunas asignaciones en GetCompatibilityData
    • 5554 Cambiar de tupla a ValueTuple para las claves de diccionario
    • 5552 Evite crear la clase de captura para las llamadas a WithExtension
    • 5556 Cambiar de ConcurrentDictionary a Dictionary con bloqueo para evitar rep...
    • 5551 Usar string.Contains en lugar de IEnumerable.Contains
    • 5550 Evitar enumerador de List<T> de conversión boxing
  • GenelleM
    • 5655 Agregar algoritmo de hash no criptográfico de 64 bits para el cálculo de unicidad de dgspec
    • 5629 Reemplazar las llamadas a cualquier método (Any()) en ICollection en PackageSpecWriter con el número > 0 problema n.º 13213
    • 5619 Reducir el uso de tiempo de CPU en SetCentralDependencies
  • NikolaMilosavljevic
    • 5673 Habilitar la publicación en VMR
    • 5625 Eliminar el paquete precompilado System.CommandLine
  • brianrob
    • 5650 Agregar instrumentación de restauración