Notas de la versión 16.5 de Visual Studio 2019
Comunidad de desarrolladores | Requisitos del sistema | Compatibilidad | Código distribuible | Historial de versiones | Términos de licencia | Blogs | Novedades de la documentación de Visual Studio
Nota:
Esta no es la versión más reciente de Visual Studio. Para descargar la versión más reciente, visite el sitio de Visual Studio.
Novedades de Visual Studio 2019, versión 16.5
Período de tiempo de soporte técnico
Esta versión ya no es compatible. Para más información sobre la compatibilidad con Visual Studio, revise la Directiva de compatibilidad para Visual Studio 2019.
Consulte la versión más reciente de las notas de la versión o visite el sitio de Visual Studio para descargar la versión más reciente compatible de Visual Studio 2019.
Versiones de Visual Studio 2019, versión 16.5
- 12 de mayo de 2020: Visual Studio 2019, versión 16.5.5
- 14 de abril de 2020: Visual Studio 2019, versión 16.5.4
- 7 de abril de 2020: Visual Studio 2019, versión 16.5.3
- 31 de marzo de 2020: Visual Studio 2019, versión 16.5.2
- 24 de marzo de 2020: Visual Studio 2019, versión 16.5.1
- 16 de marzo de 2020: Visual Studio 2019, versión 16.5.0
Blog de Visual Studio 2019
El blog de Visual Studio 2019 es la fuente oficial de información sobre el producto de la mano del equipo de ingeniería de Visual Studio. Encontrará información detallada sobre las versiones de Visual Studio 2019 en las publicaciones siguientes:
- Se ha publicado la versión 16.5 de Visual Studio 2019
- Este es el mejor momento para lanzar Visual Studio 2019, versión 16.4
- Visual Studio 2019 v16.4 Preview 2, Fall Sports, and Pumpkin Spice
- Compatibilidad con .NET Core y mucho más en Visual Studio 2019 versión 16.3: ¡actualice ahora!
- Se ha publicado la versión preliminar 2 de Visual Studio 2019 16.3 y la versión preliminar 2 de Visual Studio 2019 para Mac 8.3.
- Versión preliminar 1 de Visual Studio 2019 16.2 y 16.3 ya disponible
- Versión preliminar 2 de Visual Studio 2019 16.2
- Versión preliminar de Visual Studio 2019 16.1 y 16.2
- Visual Studio 2019: escribe código más rápido. Trabaje de forma más inteligente. Cree el futuro.
Únase a la discusión Notas de la versión
- Nos interesa encontrar formas de mejorar las notas de la versión a fin de proporcionarle lo que considere más importante. ¡Le invitamos a unirse a nuestra discusión sobre notas de la versión de Developer Community!
Visual Studio 2019, versión 16.5.5
publicada el 12 de mayo de 2020
Corregido en esta versión de Visual Studio 2019, versión 16.5
- Team Explorer no se carga después de la actualización a la última versión obligatoria de Visual Studio para Visual Studio 2019
- Se produce un error en la búsqueda de resaltado al buscar coincidencias con la opción Coincidir mayúsculas y minúsculas deshabilitada y la opción Regex habilitada
Aviso de seguridad
CVE-2020-1108 Vulnerabilidad de denegación de servicio de .NET Core
Un atacante remoto no autenticado podría aprovechar esta vulnerabilidad si emite solicitudes creadas especialmente para una aplicación de .NET Core. La actualización de seguridad soluciona la vulnerabilidad mediante la corrección de cómo las aplicaciones web de .NET Core controlan las solicitudes web.
CVE-2020-1161 Vulnerabilidad de denegación de servicio de .NET Core
Un atacante remoto no autenticado podría aprovechar esta vulnerabilidad si emite solicitudes creadas especialmente para una aplicación ASP.NET Core. La actualización de seguridad soluciona la vulnerabilidad mediante la corrección de cómo las aplicaciones web ASP.NET Core controlan las solicitudes web.
Visual Studio 2019, versión 16.5.4
Fecha de publicación: 14 de abril de 2020
Corregido en esta versión de Visual Studio 2019, versión 16.5
- Se ha modificado la "vista de lista" de la búsqueda para trabajar con la extensión VsColorOutput.
- Se ha corregido una regresión introducida en la versión 16.5 por la que el uso de propiedades indexadas con tipos de valor provocaba un error de compilador interno.
- Se ha modificado la búsqueda en archivos para conservar la configuración de usuario en las sesiones de Visual Studio 2019.
- Se ha corregido un problema por el que la opción de ir a la entrada siguiente o la anterior no funcionaba en la lista de resultados de búsqueda cuando la opción "Vista previa de archivos seleccionados en Resultados de búsqueda" estaba desactivada.
- Se ha corregido un problema por el que la búsqueda de expresiones regulares se devolvía un patrón que no contenía caracteres especiales de expresiones regulares.
- Se ha corregido la posición del botón en la ventana de herramientas Buscar en archivos cuando se encuentra acoplado. Se han cambiado las alineaciones para ofrecer una mejor experiencia en modo acoplado.
- Se ha corregido un problema por el que la vista de búsqueda de listas no llevaba a los resultados cuando se pulsaba la tecla Entrar.
Aviso de seguridad
CVE-2020-0899 Vulnerabilidad de elevación de privilegios de Microsoft Visual Studio
Se produce una vulnerabilidad de elevación de privilegios cuando el servicio actualizador de Microsoft Visual Studio manipula permisos de archivos de forma incorrecta. Los atacantes que supieran aprovechar esta vulnerabilidad podrían sobrescribir contenido arbitrario de archivos en el contexto de seguridad del sistema local.
CVE-2020-0900 Vulnerabilidad de elevación de privilegios del servicio instalador de extensiones de Visual Studio
Se produce una vulnerabilidad de elevación de privilegios cuando el servicio instalador de extensiones de Visual Studio manipula operaciones de archivos de forma incorrecta. Los atacantes que supieran aprovechar la vulnerabilidad podrían eliminar archivos en ubicaciones arbitrarias con permisos elevados.
CVE-2020-5260 Vulnerabilidad de filtración de credenciales de Git para Visual Studio debido a una validación insuficiente en las URL
Se produce una vulnerabilidad de filtración de credenciales cuando las URL creadas específicamente se analizan y envían a los asistentes de credenciales. Esto puede conllevar que las credenciales se envíen al host incorrecto.
Visual Studio 2019, versión 16.5.3
Fecha de publicación: 7 de abril de 2020
Corregido en esta versión de Visual Studio 2019, versión 16.5
- Se ha corregido la imposibilidad de abrir algunos tipos de archivo.
- Se ha corregido un problema que provocaba un error al agregar una cuenta de desarrollador de Apple con autenticación en dos pasos.
- Se ha corregido un bloqueo que ocurría en aplicaciones de watchOS al crear un subproceso de GC.
- Se ha corregido una regresión que no permitía valores float exponenciales del formulario 1e5f.
- Se ha corregido un problema que impedía abrir archivos en aplicaciones externas como Word o Excel.
- Se ha corregido un problema al escribir credenciales erróneas durante el intento de conexión a un host de compilación de Mac remoto.
Visual Studio 2019, versión 16.5.2 ![Icono de nueva versión](media/buttons/new_button.svg)
Fecha de publicación: 31 de marzo de 2020
Corregido en esta versión de Visual Studio 2019, versión 16.5
- Se ha producido un error al generar las claves SSH. Compruebe que el entorno esté configurado correctamente. Detalles: cat: /Users/cc/Library/Caches/Xamarin/XMA/Keys/1984b83a-dde9-4031-919d-b1d1b8411d0d: No existe este archivo o directorio
- InvalidOperationException al depurar una aplicación de Xamarin Forms
- Nota del marco en un módulo en Xamarin Forms para Android
- Se ha corregido un error interno del compilador, y el análisis para WDK se efectúa como de costumbre.
- Hemos corregido un problema de la nueva experiencia Buscar en archivos que causaba que los archivos ocultos y generados automáticamente no se pudieran buscar.
- Se ha corregido un problema con la implementación de las aplicaciones para UWP en máquinas remotas que provocaba un error de implementación con el mensaje "DEP0600: Ha fallado la implementación DkmException: Error en la aplicación".
- Variable estática local no inicializada en una función insertada de la clase importada de un archivo .dll
- VS 2019 16.5.X: tener varios proyectos de inicio mientras el árbol visual dinámico está abierto en una sesión de depuración hace que VS se bloquee
- Se han corregido varios problemas relativos a la sangría de formato de C++ de las nuevas líneas solo con paréntesis de cierre.
- Se ha corregido un error que impedía a algunos usuarios instalar la versión 16.5.
- Se ha corregido un problema que podía provocar el bloqueo de Visual Studio al cambiar la configuración de visualización.
- Se ha corregido un problema que causaba una ralentización al abrir soluciones que afectaban al código de IntelliSense y las operaciones relacionadas.
- Se ha corregido un bloqueo con el depurador con el que los usuarios se podían encontrar en los casos en los que la aplicación de destino en proceso de depuración generaba una excepción.
- Se ha agregado compatibilidad con Xcode 11.4.
Visual Studio 2019, versión 16.5.1 ![Icono de nueva versión](media/buttons/new_button.svg)
Fecha de publicación: 24 de marzo de 2020
Corregido en esta versión de Visual Studio 2019, versión 16.5
- Se corrige un error del expansor de bucles que podría provocar la generación de códigos de condición incorrectos en el bucle expandido.
- Se ha corregido un error que provocaba que ServiceHub.Host.CLR.x64 dejara de funcionar.
- Corrige el problema en la versión en chino de los errores del compilador C4533 y C2362, que dieron como resultado un orden incorrecto de sustitución de cadenas para esos idiomas.
- Estabilidad mejorada de las Herramientas de diagnóstico y el Generador de perfiles de rendimiento.
- Problema de generación de código que provoca un bloqueo con destructor virtual puro en el objeto const
- Se ha corregido una regresión de evaluación constante en la versión preliminar 2 de 16.5
- Se ha corregido un problema por el que MacOS no se podía emparejar.
- Se ha corregido un problema por el que las Herramientas de diagnóstico durante la depuración y el Generador de perfiles de rendimiento no se iniciaban en dispositivos XBox.
Visual Studio 2019, versión 16.5.0
Fecha de publicación: 16 de marzo de 2020
En esta versión de Visual Studio 2019, versión 16.5
IDE de Visual Studio
- Al mantener el mouse sobre un botón Cerrar aparece para cada documento en la lista de desbordamiento del grupo de pestañas.
- Selección múltiple de directorios de Azure
- Mejoras sugeridas por el usuario en pestañas verticales
Depuración
- Descompilación de código de C#
- Asociación a procesos que se ejecutan en contenedores de Docker para Windows
- Depuración de Open Enclave para Azure Confidential Computing
- Mejoras en la vista de asignación de la herramienta de seguimiento de asignación de objetos de .NET
- Vista de qué subproceso administrado está manteniendo un bloqueo de objeto .NET
- Depuración de Open Enclave para Azure Confidential Computing
- Anclado de propiedades en DataTips y en las ventanas Automático, Locales e Inspección de C++
Herramientas de Azure
- Mejoras de productividad | Ahora proporciona compatibilidad con el servidor de trabajo .NET Core.
- Se ha agregado compatibilidad con Azure Functions V3. Esto proporciona una nueva opción durante la creación de proyectos para usar V3 en lugar de V2.
- Al publicar en App Service Linux, ahora Visual Studio espera hasta que la aplicación se esté ejecutando para abrir la ventana del navegador.|
C++
- Modelo de finalización de equipos y compatibilidad con variables de miembros en IntelliCode
- Mejoras de IntelliSense
- Administrador de conexiones mediante la línea de comandos
- Depuración o implementación para WSL
- Compatibilidad con el modo de cumplimiento de FIPS 140-2
- Servicios de lenguaje para archivos de lenguaje de CMake y manipulación de proyectos de CMake mejorada
- Ahora, IntelliSense cuenta con una mayor precisión en proyectos de Linux de Visual Studio, lo que le permite controlar la sincronización del encabezado remota por proyecto.
Lenguaje y herramientas de F#
- Mejoras de rendimiento para soluciones de gran tamaño
- La versión preliminar de las características de FSharp.Core ahora está protegida por la marca
LangVersion
. - Varias mejoras y correcciones de errores
Productividad de .NET
- Refactorización para convertir un fragmento de código de un método existente en una función local
- Refactorización para convertir miembros en estáticos
- Refactorización para simplificar las interpolaciones de cadenas
- Opción EditorConfig para que los analizadores no se ejecuten en archivos o carpetas generados
- Los creadores de analizadores ahora pueden distribuir refactorizaciones de código personalizado como un paquete NuGet
- Capacidad de convertir
if
a instrucciones o expresiones switch - Finalización de código de IntelliSense para métodos de extensión no importados
- Capacidad de usar System.HashCode para implementar el método GetHashCode cuando System.HashCode no esté disponible
Prueba
- Generar perfiles de una prueba unitaria en .NET Core
- Configuración “Auto” de una arquitectura del procesador predeterminada
- Mejoras de rendimiento en el consumo de memoria y tiempo de carga
- Mejores diagnósticos para Live Unit Testing
JavaScript/TypeScript
- Code Search para JavaScript/TypeScript
- ESLint para archivos TypeScript
- Compilador de TypeScript 3.8 Beta y servicio de lenguaje para JavaScript y TypeScript.
- Experimental: Motor de resaltado de sintaxis más rápido que usa el árbol de sintaxis en lugar de las gramáticas de TextMate
SQL
Herramientas de UWP y WPF
- Al arrastrar una imagen del proyecto al editor XAML, se genera una etiqueta de imagen
- Compatibilidad de cambio de color del “Fondo de la mesa de trabajo” del Diseñador XAML para proyectos de .NET Core de WPF
- Compatibilidad del Diseñador XAML con la carga de proyectos de .NET Core 3.x que incluyen la configuración de PublishSingleFile, RuntimeIdenfier y PublishTrimmed
Xamarin
- Uso de Recarga activa de XAML en varios emuladores, simuladores y dispositivos al mismo tiempo
- Esquema de documento para interfaces de usuario de lenguaje XAML de Xamarin.Forms
- Aplicación de cambios en Android
- Perfiles personalizados con seguimiento de inicio
- Compatibilidad de Kotlin con el generador de Xamarin.Android
- Mejora de la combinación de AndroidManifest.XML
- Cambios rápidos de controles personalizados para diseños de Android
- Mejora de Android IntelliSense
Detalles de las novedades de Visual Studio, versión 16.5
IDE de Visual Studio
- Ahora es posible filtrar las cuentas de un subconjunto específico de los directorios de Azure Active Directory que quiere poner a disposición de Visual Studio.
Depuración
Ahora puede descompilar el código administrado aunque no tenga los símbolos, lo que le permite examinar el código, inspeccionar las variables y establecer puntos de interrupción.
Ahora puede asociar elementos a los procesos que se ejecutan en contenedores de Docker para Windows a través de la ventana de diálogo de asociación a un proceso.
Ahora se admite la depuración de Enclave en Visual Studio a través del SDK de Open Enclave. Para obtener más información sobre la depuración de Enclave, vaya a aka.ms/OpenEnclaveVisualStudio.
Se han realizado varias mejoras en la vista de asignación de la herramienta de seguimiento de asignación de objetos de .NET. En primer lugar, la vista de seguimiento regresivo se ha desplazado a un panel independiente para distinguir más fácilmente entre el tipo de asignación y las funciones llamadas. En segundo lugar, los árboles de llamadas de la vista de seguimiento regresivo se han rediseñado para diagnosticar más fácilmente a qué funciones se está asignando más memoria. Por último, se han agregado iconos que indican los tipos de valor y referencia, y próximamente se agregarán dos iconos para las colecciones de valores y referencias.
C++
Los desarrolladores de C++ ahora pueden entrenar modelos de IntelliCode en sus propios códigos base. Decimos que esto es un modelo de finalización de equipos porque puede aprovechar las prácticas de su equipo. Además, hemos mejorado las sugerencias de IntelliCode para las variables de miembro.
IntelliSense muestra ahora más nombres de tipos legibles al tratar con la Biblioteca estándar.
Se ha agregado la capacidad de alternar si las teclas Entrar, Espacio y Tabulador funcionan como caracteres de confirmación, y de alternar si el tabulador se usa para Insertar fragmento de código. Esta configuración se encuentra en Herramientas > Opciones > Editor de texto > C/C++ > Avanzado > IntelliSense.
Ahora es posible aprovechar la compatibilidad nativa de Visual Studio con WSL para separar el sistema de compilación del sistema de implementación remoto. Esto permite compilar de forma nativa en WSL e implementar los artefactos de compilación en un segundo sistema remoto para la depuración. Este flujo de trabajo es compatible tanto con proyectos de CMake como con proyectos de Linux basados en MSBuild.
Ahora es posible interactuar con las conexiones remotas almacenadas mediante la línea de comandos. Esto resulta útil para tareas como el aprovisionamiento de un nuevo equipo de desarrollo o la configuración de Visual Studio en integración continua.
Visual Studio ahora admite el modo de cumplimiento del estándar FIPS 140-2 en el desarrollo de aplicaciones de C++ destinadas a un sistema Linux remoto.
Se ha optimizado la copia del archivo de origen para los proyectos de CMake que tienen como destino un sistema Linux remoto. Visual Studio ahora mantiene un "archivo de huella digital" del último conjunto de orígenes copiados de forma remota y optimiza el comportamiento en función del número de archivos que han cambiado.
Las características de navegación de código, como, por ejemplo, Ir a definición y Buscar todas las referencias son ahora compatibles con funciones, variables y destinos en archivos de script de CMake.
Agregue, quite o cambie el nombre de los archivos de código fuente y destinos de los proyectos de CMake desde el IDE sin modificar manualmente los scripts de CMake. Al agregar o quitar archivos con el Explorador de soluciones, Visual Studio editará automáticamente el proyecto de CMake. También puede agregar y quitar los destinos del proyecto, así como cambiarles el nombre, desde la vista Destinos del Explorador de soluciones.
Lenguaje y herramientas de F#
El objetivo principal de esta versión es mejorar el rendimiento y la escalabilidad de los códigos base de F# de gran tamaño en Visual Studio. Este trabajo ha recibido la influencia del trabajo directo con los clientes que tienen códigos base muy grandes. El trabajo de rendimiento está todavía en curso, pero si tiene un código base de tamaño mediano a grande, notará una reducción en el uso de memoria.
Además de las mejoras de rendimiento, esta versión incluye algunas otras, muchas de las cuales fueron aportadas por nuestra magnífica comunidad de OSS de F#.
Lenguaje de F#
Se han combinado varias características del lenguaje en versión preliminar de F#. Puede probarlas estableciendo LangVersion
en preview
en el archivo del proyecto.
- F# RFC FS-1076: segmentación e indexación de colecciones desde el final se ha completado para la versión preliminar de F#.
- F# RFC FS-1077: segmentación tolerante se ha completado para la versión preliminar de F#.
- F# RFC FS-1077: segmentación para matrices 3D/4D con índice fijo se ha completado para la versión preliminar de F#.
- F# RFC FS-1080: Float32 sin punto se ha completado para la versión preliminar de F#, una contribución de Grzegorz Dziadkiewicz.
compilador de F#
- Se ha agregado compatibilidad con
--standalone
para .NET Core. - Eugene Auduchinok aportó varias mejoras en la recuperación de errores.
- Se ha agregado compatibilidad con la generación de un archivo AssemblyInfo desde un archivo de proyecto.
- Isaac Abraham aportó una mejor generación de informes de errores para registros anónimos no coincidentes.
- Se ha resuelto un error en el que el uso de las abreviaturas de tipo podría omitir el análisis
byref
en el compilador. - Ahora es posible especificar el atributo
[<Literal>]
en los archivos de signatura de F#. - Se ha resuelto un error en el que la marca
LangVersion
dependía de la referencia cultural. - Se ha resuelto un error en el que tipos y expresiones grandes definidos en el origen provocarían un desbordamiento de pila.
- Se ha resuelto un error en el que se podían definir atributos arbitrarios y sin sentido en extensiones de tipo F#.
- Se ha resuelto un error en el que coincidencias exhaustivas de valores literales de SByte y Byte emitían una advertencia.
- Se ha resuelto un error en el que se podrían definir abreviaturas de tipo no válidas con y valores
byref
ybyref
. - Grzegorz Dziadkiewicz ha aportado la solución de un error en que el compilador aceptaría literales binarios y octales no válidos.
- Adeel Mujahid resolvió un error por el cual se llamaba a
P/Invoke to "kernel32.dll"
en una compilación de origen de FreeBSD de .NET Core. - Eugene Auduchinok y Steffen Formann agregaron varias mejoras de rendimiento más pequeñas.
Biblioteca principal de F#
- Se ha resuelto un error en el que la llamada a
string
o.ToString
enValueNone
generaría una excepción. - Se ha resuelto un error en el que la llamada a
Async.Sleep
dentro de un conjunto de expresiones asincrónicas procesadas secuencialmente no se procesaban secuencialmente, una contribución de Fraser Waters - Se ha resuelto un problema en
Async.Choice
que podría provocar pérdidas de memoria, una contribución de Fraser Waters.
Herramientas de F# para Visual Studio
- Se ha resuelto un error en el que la versión del producto en la ventana Acerca de Visual Studio mostraba erróneamente F# 4.6.
- Se ha resuelto un error en el que el tipo
fsi
de scripts de F# se trataba incorrectamente como no definido.
Experiencia de desarrollo de código abierto de F#
- La compilación FSharp.Compiler.Service del repositorio de F# se ha movido para usar el SDK de .NET, una contribución de Chet Husk.
Productividad de .NET
Ahora es posible convertir un fragmento de código de un método existente en una función local. Resalte el código que quiera extraer. Presione (Ctrl+. ) para activar los menús Acciones rápidas y refactorizaciones. Seleccione Extraer función local.
![Extraer función local](media/16.5/16.5_p2_extract-local-function.png)
Ahora puede hacer que los miembros sean estáticos. Coloque el cursor sobre el nombre del miembro. Presione (Ctrl+. ) para activar los menús Acciones rápidas y refactorizaciones. Seleccione Hacer estático.
![Conversión de los miembros en estáticos](media/16.5/16.5_p2_make-members-static.png)
Ahora puede simplificar las interpolaciones de cadena cuando sea posible. Coloque el cursor sobre la interpolación de cadena. Presione (Ctrl+. ) para activar los menús Acciones rápidas y refactorizaciones. Seleccione Simplificar la interpolación.
![Simplificación de la interpolación de cadenas](media/16.5/16.5_p2_simplify-string-interpolation.png)
Ahora existe la opción de excluir archivos o carpetas generados al ejecutar los analizadores. Cree un archivo EditorConfig y marque como generados los archivos o las carpetas necesarios con la siguiente sintaxis:
![Opción EditorConfig para excluir los archivos o carpetas generados](media/16.5/16.5_p2_exclude-generated-files-folder.png)
Ahora, los creadores de analizadores pueden distribuir refactorizaciones de código personalizado como un paquete NuGet, mientras que antes solo podían hacerlo como VSIX.
Prueba
Ahora puede generar perfiles de una prueba de .NET Core. Tenga en cuenta que los requisitos previos para la generación de perfiles son que los proyectos de .NET Core estén configurados para generar PDB completos. También se recomienda que actualice a la versión mínima 16.4 de Microsoft.Test.SDK. Esto le permitirá generar perfiles de pruebas en arquitecturas x86 y x64. Para generar perfiles de una prueba, seleccione “Perfil” en el menú contextual del explorador de pruebas. La generación de perfiles de prueba se admite mediante la instrumentación estática y el documento Explorador de rendimiento (.vsp) en Visual Studio.
La configuración predeterminada de la arquitectura del procesador para las pruebas ahora tiene una tercera opción “Automática”, además de las opciones x64 y x86. “Automática” admite diferentes arquitecturas predeterminadas para las pruebas que tienen como destino pruebas de .NET Framework y .NET Core. El valor predeterminado de las pruebas de .NET Framework para la ejecución de pruebas es x86, mientras que para .NET Core es x64. “Automática” permite que el usuario deje sin establecer la opción de arquitectura y admite valores predeterminados diferentes para estos marcos de trabajo. Anteriormente, x86 era el valor predeterminado en todos los casos; sin embargo, las pruebas de .NET Core tenían como valor predeterminado x64 y de ahí la necesidad de que la configuración predeterminada difiera.
Esta versión contiene importantes mejoras de rendimiento en la detección y ejecución de pruebas, especialmente en soluciones de gran tamaño con una gran cantidad de pruebas. Le recomendamos que ejecute sus propias pruebas comparativas para evaluar lo importante que es esto. Con la base de código de Roslyn (el compilador de C# y Visual Basic), el explorador de pruebas reduce el consumo de memoria de un 50 a un 60 % y el tiempo de carga hasta un 60 %.
Ahora hay mejores diagnósticos disponibles para Live Unit Testing. Cuando se produce un error en una compilación de Live Unit Testing, se imprime información de diagnóstico adicional en la salida, incluidos los registros de MSBuild. También notificará los casos en los que la ruta de acceso de salida está codificada de forma rígida.
JavaScript/TypeScript
VS Search admite ahora la capacidad de buscar tipos y miembros en archivos de TypeScript y JavaScript. También se admite la búsqueda de bloques de JavaScript en archivos de marcado abierto (es decir, HTML, CSHTML)
Visual Studio ahora admite ESLint para archivos Typescript: hay una configuración global con un conjunto de reglas recomendadas o ESLint se puede configurar localmente en un proyecto con personalización completa. Más información e instrucciones disponibles en nuestra página de GitHub
Xamarin
Con Recarga activa de XAML, ahora puede ver los cambios actualizados en varios destinos de Xamarin.Forms al mismo tiempo. Depure la aplicación con varios proyectos de inicio, cambie el código de XAML y presione Guardar para mostrar los cambios en Android e iOS simultáneamente.
Ahora es posible ver una jerarquía de los controles de Xamarin.Forms en el panel Esquema de documento. En Windows, puede abrirse con Ctrl+Alt+T (Ver > Otras ventanas > Esquema de documento). En Mac, puede abrirse mediante Vistas > Paneles > Esquema de documento.
Ahora, puede aplicar cambios en los recursos de Android en tiempo de ejecución mediante Aplicación de cambios de Android. Esta característica permite ver rápidamente los cambios hechos en los archivos de recursos de Android (diseños XML, recursos drawable, etc.) en un dispositivo o emulador Android sin necesidad de reiniciar la aplicación.
![Aplicación de cambios en Android](media/16.5/androidapplychanges.png)
- Ahora es posible generar perfiles personalizados al usar el seguimiento durante el inicio en su aplicación Android. Esto proporciona una experiencia de inicio todavía mejor con un incremento mínimo del tamaño de APK.
- Ahora es posible generar enlaces Xamarin.Android en bibliotecas Kotlin.
- Ya se puede usar la fusión de manifiestos de Google al combinar archivos AndroidManifest.xml en los proyectos de Android. Esto permite personalizar la forma en que se fusionará cada manifiesto y su contenido. Para obtener más información sobre las reglas que se pueden aplicar, consulte Cómo fusionar varios archivos de manifiesto.
- Ahora puede acceder a una nueva opción que recargará automáticamente todas las superficies de diseñador abiertas cuando se haga algún cambio en el código base.
![Cambios rápidos de controles personalizados para diseños de Android](media/16.5/customcontrolsandroid.png)
- Aproveche la funcionalidad del editor consolidado para ofrecer una característica IntelliSense más precisa y con mayor capacidad de respuesta. Esto incluye muchos cambios, como una finalización mejorada de construcciones XML comunes, como las comillas de atributo y la actualización automática de nombres de etiqueta final. Este comportamiento puede controlarse mediante las preferencias del editor de XML de Android:
![Opciones de IntelliSense de Android XML](media/16.5/androidintellisense.png)
Herramientas de UWP y WPF
Ahora, al arrastrar una imagen desde el explorador de soluciones del proyecto hasta el editor XAML, se generará una etiqueta de imagen XAML con la propiedad Source establecida en la ruta de acceso de la imagen correcta.
Es posible cambiar el color de “Fondo de la mesa de trabajo” para el Diseñador XAML con proyectos de .NET Core de WPF. Vaya a Opciones > Entorno > Fuentes y colores, cambie a la configuración del Diseñador XAML y actualice el Fondo de la mesa de trabajo.
El Diseñador XAML ahora admite la carga de proyectos de .NET Core 3.x que incluyen la configuración de PublishSingleFile, RuntimeIdenfier y PublishTrimmed en su archivo de proyecto (csproj). Tenga en cuenta que la inclusión de esta configuración ralentiza el rendimiento del diseñador.
Principales problemas de Developer Community
- Se produce una excepción no controlada de .NET.
- Visual Studio 2019 se bloquea al abrir la ventana de subprocesos.
- ScriptedSandbox64.exe se bloquea varias veces al día.
- El método abreviado de teclado de un usuario a View.SynchronizeClassView ha dejado de funcionar.
- No se llama a la sobrecarga de eliminación del operador de sustitución ASan.
- Las pruebas generan errores y no se pueden iniciar otras.
- Se está organizando el documento. Esperando a que finalice el trabajo en segundo plano.
- Cuando se carga un proyecto de InstallShield Express en la solución, al iniciar esta: SetSite failed for package - Shared Web Components - (en VS 16.4.3 y 16.4.4), ScaffoldingPackage, EurekaPackage, WebPublishPackage
- Visual Studio Professional 2019 se bloquea al compilar un proyecto de ASP.NET de VB.NET.
- La versión preliminar de la nueva función de búsqueda "Buscar en toda la solución" no realiza tal acción.
- No se puede ver ni abrir el Diseñador de tablas SQL a partir del Explorador de objetos ni el Explorador de servidores de SQL Server.
- La implementación de una aplicación para UWP en una máquina remota mediante la autenticación universal genera el mensaje de error "Error: No se puede conectar a Microsoft Visual Studio Remote Debugger"
- El explorador de pruebas no ejecutará ninguna prueba: demasiado específico sobre la versión en tiempo de ejecución de .NET Core
- msvsmon.exe se bloquea cuando se alcanza un punto de interrupción en código nativo C++
- CSharpeRenameTrackingCodeFixProvider ha detectado un error y se ha deshabilitado
- F4 : siguiente error/siguiente incidencia en los resultados
- "Profile Test" produce un error en la prueba de xUnit de .NET Core debido a un "marco de prueba desconocido"
- Bloqueos al intentar depurar una aplicación para UWP
- La búsqueda de extensiones de Visual Studio se bloquea indefinidamente al buscar "Rapid XAML Toolkit"
- Cuando ejecuto pruebas unitarias, se inicia mi aplicación para UWP.
- La grabación de pasos para informar de una incidencia no ha terminado de recopilar información adicional
- En la versión 16.5 Preview 2, las compilaciones de C++ se interrumpen debido a un cambio de comportamiento local de la copia
- El bloque "env" no funciona con las configuraciones de Linux en launch.vs.json; las variables env definidas en CMakeSettings no se extraen
- Advertencia de C6011 incorrecta
- Puede que se muestra una solicitud para agregar una macro al archivo de indicaciones de C++ (cpp.hint) tras agregar la macro
- La ejecución de la búsqueda durante la depuración bloquea Visual Studio
- Editor de XAML/ventana de propiedades
- No se puede seleccionar la versión 12 de Azure como plataforma de destino para un proyecto de base datos
- Proyecto de base de datos de VS: la implementación en el menú de compilación no funciona
- Explorador de objetos de SQL Server | F4 no funciona en una base de datos
- Falta una barra diagonal inversa en el script de publicación de SSDT
- Elementos adicionales de Developer Community corregidos
- Errores del administrador de paquetes en Herramientas, Administrador de paquetes NuGet y Administrar paquetes NuGet para la solución
- Error de generación de código de MSVC en la versión de depuración de C++17 x64 al usar reverse_iterator con un vector
- Error del operador de conversión implícita de VS 15.8 Preview 4
- Plantilla de proyecto personalizada omitida
- Error en el optimizador de C++/CLI
- Clang 9.0 RC no acepta _com_ptr_t
- Se produce un error en Visual Studio 16.3.1 al compilar el código de plantilla (por ejemplo, de Basler Pylon SDK)
- VS 16.4.0 Preview 1.0: ArgumentException Las colecciones hacen referencia a instantáneas distintas
- Visual Studio no se actualiza cuando tiene que elevar permisos
- clang-format cambia el formato de todo el archivo al usar llaves de apertura y cierre
- Se produce un error en las pruebas unitarias activas con FatalError - System.ArgumentException: el elemento SnapshotPoint proporcionado está en una instantánea incorrecta.
- Bloqueo de VS al intentar arrastrar una pestaña en el diseño de tabulación vertical (derecha o izquierda)
- Error C2440 al crear atlenc.h con/permissive- en la versión preliminar 1 de VS 16.4
- Bloqueo del IDE de Visual Studio al hacer clic en el icono que despliega un espacio de nombres
- Error en la advertencia C4265
- En mi código fuente, aparecen líneas de subrayado verdes en todas partes
- La ventana de herramientas a veces se mueve o desaparece durante el cambio de diseño de la ventana
- Errores de detección de pruebas
- VS 2019 / C++ / Google Test: Imposible conseguir que las pruebas unitarias funcionen
- La integración de mono en el IDE de Visual Studio no permite depurar paso a paso por instrucciones los módulos que no están en la ruta de acceso de compilación original
- Las pestañas del documento se desacoplan al seleccionarlas
- La depuración se detiene demasiado rápido después de iniciar una sesión de depuración en iOS, lo que provoca un bloqueo en el depurador.
- IntelliSense no reconoce el atributo x:FactoryMethod en XAML
- Error del depurador en un solo paso cuando se usa Debug.WriteLine en una aplicación Windows.Forms con ElementHost de WPF
- Uso constante de la CPU cuando se carga la solución
- Se produce una detección incorrecta de la compatibilidad para "nodiscard" con un motivo.
- IntelliSense/vcpkgsrv se bloquea en la guía de deducción
- No se encuentra la plantilla de proyectos de pruebas unitarias de SQL Server en Visual Studio 2019
- "codedesign" se cerró con el código 1
- Android Device Manager tiene problemas de conexión a Internet
- Generación incorrecta de código SSE con Visual Studio 2019
- error LNK2005: "__cdecl Windows::Foundation::operator co_await(struct Windows::Foundation::IAsyncAction ^)" (??__LFoundation@Windows@@YA@PE$AAUIAsyncAction@01@@Z) ya definido en pch.obj
- Proyecto de biblioteca dinámica: error de vínculo de dependencia de biblioteca nativa usando C++/Cli y el destino netcoreapp3.1
- Faltan propiedades de prioridad de contenido en el diseñador de iOS cuando la vista está contenida en UIStackView
- El depurador de Xamarin Mobile incorpora el IDE a un rastreo
- Falta el punto de entrada de CMakeLists.txt en "Depurar e iniciar configuración" en la vista de carpeta para las configuraciones de Linux y WSL
- Visual Studio no se inicia al cambiarse al escalado del 250 % desde el del 100 %
- Adición de compatibilidad para omitir dotnet dev-certs al depurar
- La división de una cadena con una expresión regular devuelve resultados aparentemente incorrectos
- Clases base dependientes de C++ y filtros de excepciones SEH
- Error de VC 16.3 list::splice
- El mensaje de diálogo al eliminar un archivo de un proyecto es extraño.
- En Crear configuración de publicación, el botón "crear perfil" no abre el Asistente para crear perfiles
- AppInstaller.exe no puede abrir el archivo *.applinstaller que se ha creado con el Proyecto de paquete de aplicación de Windows.
- En el cuadro de diálogo Agregar nuevo elemento, faltan las opciones Formulario heredado / Control de usuario de la selección de Windows Forms
- La vista en el explorador no me proporciona la página en la que me encontraba, sino que va a la ruta predeterminada.
- Versión 16.4.0, versión preliminar 1.0: BuildWindow InvalidOperationException
- Se reordenan las pestañas de la ventana que están a la izquierda
- Falta la traducción en la ventana "Comentarios de Visual Studio".
- Informe de error incorrecto de decltyp (member):: staticMethod ()
- REGRESIÓN: Error de IntelliSense al inicializar una clase de valor de C++/CLI con ”{}”.
- El proceso de compilación del proyecto CPP en el símbolo del sistema para desarrolladores de Visual Studio 2019 usa cl.exe de Visual Studio 2019 para .v141 Platformtoolset
- Uso elevado de CPU
- El sistema de proyectos de Asp.Net Core no respeta la capacidad del proyecto IntegratedConsoleDebugging
- Bloqueo al abrir cualquier archivo con el paquete Lang instalado
- Bloqueo de componente Razor de edición
Problemas conocidos
Consulte todos los problemas y las soluciones alternativas disponibles de Visual Studio 2019, versión 16.5 en el siguiente vínculo.
Comentarios y sugerencias
Nos encantaría que nos diera su opinión. Puede informarnos de un problema mediante la opción Notificar un problema de la esquina superior derecha del instalador o del propio IDE de Visual Studio. El icono se encuentra en la esquina superior derecha.
Puede realizar una sugerencia de producto o un seguimiento de los problemas en la comunidad de desarrolladores de Visual Studio, donde podrá hacer preguntas, encontrar respuestas y proponer nuevas características.
También puede obtener ayuda gratuita para la instalación a través de nuestro servicio de soporte técnico de chat en directo.
Blogs
Saque partido de la información y de las recomendaciones disponibles en los blogs de Developer Tools que le mantendrán al día sobre las nuevas versiones y con publicaciones con mucha información sobre una gran variedad de características.
Historial de notas de la versión de Visual Studio 2019
Para obtener más información sobre versiones anteriores de Visual Studio 2019, consulte la página Historial de notas de la versión de Visual Studio 2019.