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.
Período de tiempo de soporte técnico
La versión 16.4 de Visual Studio 2019 ya no tiene soporte técnico.
Los usuarios de Enterprise y Professional de la versión 16.4 de Visual Studio 2019 contaban con soporte técnico y recibían correcciones de vulnerabilidades de seguridad hasta octubre de 2021. Este período de tiempo viene determinado por el hecho de que, en agosto de 2020, Visual Studio 2019, versión 16.7 se designó como la siguiente línea de base de mantenimiento para el producto de Visual Studio 2019. Para obtener más información sobre las líneas base con soporte técnico de Visual Studio, revise la Directiva de compatibilidad para 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:
Existe una vulnerabilidad de asignación de permisos en Visual Studio después de instalar Desarrollo de juegos con C++ y seleccionar la carga de trabajo Cliente de instalación del motor Unreal. El sistema es vulnerable a LPE durante la instalación, crea un directorio con acceso de escritura para todos los usuarios.
Existe una vulnerabilidad de ejecución remota de código en Visual Studio al controlar objetos en la memoria incorrectamente. Un atacante que haya aprovechado correctamente la vulnerabilidad podría ejecutar código arbitrario en el contexto del usuario actual.
Visual Studio 2019, versión 16.4.25
Fecha de publicación: 10 de agosto de 2021
Principales problemas corregidos en la versión de Visual Studio 2019, versión 16.4.25
Se ha corregido un problema que afectaba a la ejecución de la línea de comandos del comando Actualizar. Si se produce un error en la actualización por primera vez, una emisión posterior del comando Actualizar ahora hace que la actualización reanude la operación anterior donde la dejó.
Existe una vulnerabilidad de denegación de servicio que engaña a las aplicaciones de servidor de .NET (Core) que proporcionan puntos de conexión de WebSocket para que se ejecuten indefinidamente en bucle al intentar leer un único marco WebSocket.
Existe una vulnerabilidad de divulgación de información cuando la herramienta crea volcados para recopilar volcados de memoria y volcados a petición con permisos de lectura globales en Linux y macOS.
Existe una vulnerabilidad de denegación de servicio cuando ASP.NET Core controla la desconexión del cliente de forma incorrecta.
Visual Studio 2019, versión 16.4.22
Fecha de publicación: 11 de mayo de 2021
Principales problemas corregidos en Visual Studio 2019, versión 16.4.22
Se ha corregido un problema que hace que las actualizaciones no se apliquen cuando un administrador crea un diseño de Visual Studio para implementar actualizaciones. La actualización de la máquina cliente no se aplica dado que el diseño ha cambiado de ubicación.
Existe una vulnerabilidad en la ejecución remota de código al abrir un área de trabajo con código de Python y esa área de trabajo contiene un archivo python.exe en una subcarpeta de scripts.
Existe una vulnerabilidad de elevación de privilegios en .NET 5.0 y .NET Core 3.1 cuando un usuario ejecuta una aplicación de archivo único en sistemas operativos basados en Linux o macOS.
Visual Studio 2019, versión 16.4.21
fecha de publicación: 13 de abril de 2021
Principales problemas corregidos en Visual Studio 2019, versión 16.4.21
Hay una vulnerabilidad de ejecución de código remoto presente cuando el instalador de Visual Studio ejecuta el cliente de comentarios en un estado elevado.
Existe una vulnerabilidad de elevación de privilegios cuando el recopilador estándar del centro de diagnósticos administra incorrectamente operaciones de datos.
Visual Studio 2019, versión 16.4.20
Fecha de publicación: 9 de marzo de 2021
Principales problemas corregidos en Visual Studio 2019, versión 16.4.20
Existe una vulnerabilidad de ejecución remota de código cuando Visual Studio carga un repositorio malintencionado que contiene archivos de código de JavaScript o TypeScript.
Existe una vulnerabilidad de ejecución remota de código al eliminar los metarchivos cuando una interfaz de gráficos todavía tiene una referencia a ellos. Esta vulnerabilidad solo existe en los sistemas que se ejecutan en MacOS o Linux.
Visual Studio 2019, versión 16.4.17
publicada el 12 de enero de 2020
Principales incidencias corregidas en Visual Studio 2019, versión 16.4.17
Aviso de seguridad
CVE-2021-1651 / CVE-2021-1680 Vulnerabilidad de elevación de privilegios del Servicio recopilador estándar del concentrador de diagnósticos
Existe una vulnerabilidad de elevación de privilegios cuando el recopilador estándar del centro de diagnósticos administra incorrectamente operaciones de datos.
CVE-2020-26870 Vulnerabilidad de ejecución remota de código del instalador de Visual Studio
Existe una vulnerabilidad de ejecución remota de código que se da cuando el instalador de Visual Studio intenta mostrar un elemento Markdown malintencionado.
CVE-2021-1723 Vulnerabilidad de denegación de servicio de .NET Core y Visual Studio
Existe una vulnerabilidad de denegación de servicio en la implementación de Kestrel.
Visual Studio 2019, versión 16.4.16
Fecha de publicación: 08 de diciembre de 2020
Principales incidencias corregidas en Visual Studio 2019, versión 16.4.16
CVE-2020-17156 Vulnerabilidad de ejecución remota de código de Visual Studio
Hay una vulnerabilidad de ejecución remota de código cuando Visual Studio clona un repositorio malintencionado.
Visual Studio 2019, versión 16.4.15
fecha de publicación: 10 de noviembre de 2020
Principales incidencias corregidas en Visual Studio 2019, versión 16.4.15
Aviso de seguridad
CVE-2020-17100 Vulnerabilidad de alteración de Visual Studio
Existe una vulnerabilidad de manipulación cuando Herramientas de Python para Visual Studio crea la carpeta python27. Un atacante que se hubiera aprovechado de esta vulnerabilidad podría ejecutar procesos en un contexto con privilegios elevados.
Visual Studio 2019, versión 16.4.14
Fecha de publicación: 13 de octubre de 2020
Principales incidencias corregidas en Visual Studio 2019, versión 16.4.14
El modificador MEMMAX de PGO debe comportarse ahora de tal forma que sea más probable que se respeten los datos proporcionados por el usuario.
Se ha reducido la cantidad de memoria reservada para la generación de perfiles de PGO.
.NET Core 2.1.13 Runtime y 3.1.109 SDK (3.1.9) se agregaron a Visual Studio 2019.
Visual Studio 2019, versión 16.4.13
publicada el 8 de septiembre de 2020
Principales incidencias corregidas en Visual Studio 2019, versión 16.4.13
Aviso de seguridad
CVE-2020-1130 Vulnerabilidad de elevación de privilegios del recopilador estándar del concentrador de diagnósticos
Existe una vulnerabilidad de elevación de privilegios cuando el recopilador estándar del centro de diagnósticos administra incorrectamente operaciones de datos. Un atacante que se hubiera aprovechado de esta vulnerabilidad podría ejecutar procesos en un contexto con privilegios elevados.
CVE-2020-1133 Vulnerabilidad de elevación de privilegios del recopilador estándar del concentrador de diagnósticos
Existe una vulnerabilidad de elevación de privilegios cuando el recopilador estándar del centro de diagnósticos administra incorrectamente operaciones de archivos. Un atacante que se hubiera aprovechado de esta vulnerabilidad podría ejecutar procesos en un contexto con privilegios elevados.
CVE-2020-16856 Vulnerabilidad de ejecución remota de código de Visual Studio
Existe una vulnerabilidad de ejecución remota de código en Visual Studio al controlar objetos en la memoria incorrectamente. Un atacante que haya aprovechado correctamente la vulnerabilidad podría ejecutar código arbitrario en el contexto del usuario actual.
CVE-2020-16874 Vulnerabilidad de ejecución remota de código de Visual Studio
Existe una vulnerabilidad de ejecución remota de código en Visual Studio al controlar objetos en la memoria incorrectamente. Un atacante que haya aprovechado correctamente la vulnerabilidad podría ejecutar código arbitrario en el contexto del usuario actual.
CVE-2020-1045 Vulnerabilidad de omisión de características de seguridad de Microsoft ASP.NET Core
Existe una vulnerabilidad de omisión de características de seguridad en la forma en que Microsoft ASP.NET Core analiza los nombres de cookies codificados. El analizador de cookies de ASP.NET Core descodifica cadenas de cookies completas que podrían permitir que un atacante malintencionado establezca una segunda cookie con el nombre parcialmente codificado.
Correcciones adicionales en 16.4.13
Se ha corregido un problema que en ocasiones provocaba que Visual Studio o MSBuild dejaran de responder después de cancelar una compilación de C++.
Las versiones de .NET Core para las que ya no se ofrece soporte técnico ya no se volverán a instalar durante una reparación o actualización, si se han quitado de la instalación de Visual Studio.
Visual Studio 2019, versión 16.4.12
Publicado el 11 de agosto de 2020
Principales problemas corregidos en Visual Studio 2019, versión 16.4.12
Existe una vulnerabilidad de denegación de servicio cuando ASP.NET Core gestiona solicitudes web de forma incorrecta. Un atacante que aprovechase correctamente esta vulnerabilidad podría producir una denegación de servicio en una aplicación web ASP.NET Core. La vulnerabilidad se puede aprovechar de forma remota, sin autenticación.
Visual Studio 2019, versión 16.4.11
fecha de publicación: 14 de julio de 2020
Principales problemas corregidos en Visual Studio 2019, versión 16.4.11
Se ha corregido un error que provocaba que se pudieran restaurar valores erróneos después de setjmp.
Los entornos de ejecución de .NET Core 1.0 y 2.0 se han marcado como "sin soporte técnico" en la IU del programa de instalación y se han convertido en opcionales para todos los escenarios.
Aviso de seguridad
CVE-2020-1393 Vulnerabilidad de elevación de privilegios del Servicio recopilador estándar del concentrador de diagnósticos
Existe una vulnerabilidad de elevación de privilegios cuando el Servicio recopilador estándar del Concentrador de diagnósticos de Windows no puede corregir la entrada de forma adecuada, lo que lleva a un comportamiento de carga de biblioteca no seguro.
CVE-2020-1416 Vulnerabilidad de elevación de privilegios de Visual Studio
Existe una vulnerabilidad de elevación de privilegios en Visual Studio cuando este carga las dependencias de software.
CVE-2020-1147 Vulnerabilidad de denegación de servicio de .NET Core
Un atacante remoto no autenticado podría aprovechar esta vulnerabilidad y emitir solicitudes creadas especialmente para una aplicación ASP.NET Core, o bien otra aplicación que analizara ciertos tipos de XML. La actualización de seguridad aborda la vulnerabilidad en cuestión mediante la restricción de los tipos que se permite que estén presentes en la carga de XML.
Visual Studio 2019, versión 16.4.10
Fecha de publicación: 9 de junio de 2020
Principales problemas corregidos en Visual Studio 2019, versión 16.4.10
Se ha corregido un error que provocaba que se pudieran restaurar valores erróneos después de setjmp.
Para solucionar por completo el problema CVE-2020-1108, Microsoft ha publicado actualizaciones para .NET Core 2.1 y .NET Core 3.1. Los clientes que usan cualquiera de estas versiones de .NET Core deben instalar la versión más reciente de .NET Core. Consulte las notas de la versión para ver los números de versión más recientes e instrucciones para actualizar .NET Core.
CVE-2020-1202 / CVE-2020-1203 Vulnerabilidad de elevación de privilegios del servicio recopilador estándar del concentrador de diagnósticos
Existe una vulnerabilidad de elevación de privilegios cuando el recopilador estándar del concentrador de diagnósticos o el recopilador de Visual Studio administran incorrectamente objetos en la memoria.
Existe una vulnerabilidad de elevación de privilegios cuando el servicio recopilador estándar del concentrador de diagnósticos administra incorrectamente operaciones de archivos.
Visual Studio 2019, versión 16.4.9
Fecha de publicación: 27 de mayo de 2020
Principales problemas corregidos en Visual Studio 2019, versión 16.4.9
Se corrige un error de almacenamiento en caché durante un análisis usado por una optimización, por el que se quitaban instrucciones erróneamente marcadas como innecesarias. Ahora se detectan los casos en los que, de lo contrario, se habrían almacenado datos obsoletos en la memoria caché. Es difícil caracterizar por completo cuándo se manifiesta esto, pero en el informe había un operador de módulo incluido en un índice de un bucle. Para el futuro, se ha agregado la marca /d2ssa-bit-estimator- (no admitida) para desactivar completamente la optimización específica. Esta marca se ha agregado con la corrección y no está presente en versiones anteriores.
Se han corregido las advertencias y los bloqueos falsos de C6244 en cl.exe durante el análisis de código que estaban causados por las variables locales de lambda.
Principales problemas corregidos en Visual Studio 2019, versión 16.4.8
Se ha realizado un cambio que permite a los administradores de TI de la empresa y a los ingenieros de implementación configurar herramientas como el cliente de Microsoft Update y SCCM para determinar la aplicabilidad de las actualizaciones de VS2019 16.4 hospedadas en el Catálogo de Microsoft Update y WSUS.
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.4.7
Fecha de publicación: 14 de abril de 2020
Principales problemas corregidos en Visual Studio 2019, versión 16.4.7
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.4.6
Fecha de publicación: 10 de marzo de 2020
Principales problemas corregidos en Visual Studio 2019, versión 16.4.6
Nuevas opciones de mitigación de Spectre en el compilador de C++: /Qspectre-load y /Qspectre-load-cf para la protección de la carga especulativa.
Aviso de seguridad
CVE-2020-0793 y CVE-2020-0810 Vulnerabilidad de elevación de privilegios del servicio recopilador estándar del concentrador de diagnósticos
Existe una vulnerabilidad de elevación de privilegios cuando el recolector estándar del concentrador de diagnósticos controla incorrectamente las operaciones de archivo o el servicio Recopilador estándar de Windows Diagnostics Hub no puede sanear correctamente la entrada.
CVE-2020-0884 Vulnerabilidad de suplantación al crear el complemento web de Outlook
Existe una vulnerabilidad de suplantación al crear un complemento Web de Outlook si está habilitada la autenticación multifactor, ya que incluye una dirección URL de respuesta que no está protegida por SSL. Un atacante que aprovechara correctamente esta vulnerabilidad podría poner en peligro los tokens de acceso, lo que implica riesgos de seguridad y privacidad.
CVE-2020-0789 Vulnerabilidad de servicio de la denegación del servicio Instalador de extensiones de Visual Studio
Se han corregido los bloqueos o errores que se pueden producir al ejecutar Visual Studio después de una acción de instalación que requiere un reinicio.
Se ha corregido un problema que se producía al implementar aplicaciones de Xamarin.Android. Antes, era necesario desinstalar manualmente la aplicación desde el dispositivo o emulador.
Con este cambio se corrige un error que provocaba que el compilador, en algunos casos, podía quitar de forma incorrecta una instrucción de una corrutina de C++.
Visual Studio 2019, versión 16.4.4
publicada el 30 de enero de 2020
Principales problemas corregidos en Visual Studio 2019, versión 16.4.4
C#: Se ha corregido un bloqueo cuando un constructor de atributos se decoraba consigo mismo y los tipo de referencia que aceptan valores NULL estaban habilitados.
Se ha corregido un error de análisis de optimización en el que se pierde el seguimiento de la información de alias para matrices de longitud indeterminada (declarada como extern int a[]) cuando se desplazan bucles, lo que conduce a una posible eliminación incorrecta del almacén inactivo.
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.
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 la memoria.
La explotación de la vulnerabilidad requiere que un usuario abra un archivo diseñado especialmente con una versión afectada de .NET Core. En un escenario de ataque por correo electrónico, un atacante podría aprovechar esta vulnerabilidad enviando el archivo diseñado especialmente al usuario y convenciéndolo para que lo abra. La actualización de seguridad soluciona la vulnerabilidad corrigiendo cómo .NET Core comprueba el marcado de origen de un archivo.
La explotación de la vulnerabilidad requiere que un usuario abra un archivo diseñado especialmente con una versión afectada de .NET Core. En un escenario de ataque por correo electrónico, un atacante podría aprovechar esta vulnerabilidad enviando el archivo diseñado especialmente al usuario y convenciéndolo para que lo abra. La actualización de seguridad soluciona la vulnerabilidad corrigiendo cómo .NET Core comprueba el marcado de origen de un archivo.
Principales problemas corregidos en Visual Studio 2019, versión 16.4.3
Se ha corregido un retraso de la interfaz de usuario frecuente que se podía producir al usar el editor.
Se ha corregido un bloqueo cuando un constructor de atributos se decoraba consigo mismo los tipo de referencia que aceptan valores NULL estaban habilitados al usar C#.
Se ha corregido un problema que provocaba que Visual Studio no se iniciase o se bloquease al cargar una solución C# en determinadas configuraciones de máquinas virtuales.
Se ha corregido un error que provocaba que se perdiesen símbolos de compilación condicionales definidos al volver a abrir la página de propiedades de la compilación.
Visual Studio 2019, versión 16.4.1
publicada el 10 de diciembre de 2019
Principales problemas corregidos en Visual Studio 2019, versión 16.4.1
Se han corregido las excepciones ExecutionEngineException al usar SignalR en dispositivos iOS en algunas configuraciones
Corrección en tiempo de ejecución del bloqueo "CEE_RET: pila de tipos de valor"cuando se habilita el intérprete con determinadas bibliotecas
TypeScript 3.7.3, que contiene varias correcciones para problemas que afectan a la experiencia de edición de JavaScript y TypeScript, ahora se incluye de forma predeterminada.
Puede permitir la mitigación de un bloqueo relacionado con el reconocimiento por monitor en Visual Studio
Existe una vulnerabilidad de ejecución de código remoto cuando Git detecta colisiones de nombres de submódulo para directorios de submódulos relacionados. Un atacante que logra aprovechar esta vulnerabilidad podría ejecutar código de forma remota en el equipo de destino. La actualización de seguridad soluciona la vulnerabilidad tomando una nueva versión de Git para Windows que requiere que el directorio del clon de los submódulos esté vacío.
Existe una vulnerabilidad de ejecución de código remoto cuando Git interpreta los argumentos de la línea de comandos con ciertas comillas durante un clon recursivo junto con direcciones URL de SSH. Un atacante que logra aprovechar esta vulnerabilidad podría ejecutar código de forma remota en el equipo de destino. La actualización de seguridad soluciona la vulnerabilidad tomando una nueva versión de Git para Windows que corrige la incidencia.
Existe una vulnerabilidad de sobrescritura de archivos arbitrarios en Git cuando los nombres de unidad que no son letras omiten las comprobaciones de seguridad en git clone. Un atacante que logra aprovechar esta vulnerabilidad podría escribir código en archivos arbitrarios en el equipo de destino. La actualización de seguridad soluciona la vulnerabilidad tomando una nueva versión de Git para Windows que corrige la incidencia.
Existe una vulnerabilidad de ejecución de código remoto en Git al clonar y escribir en el directorio .git/ mediante flujos de datos alternativos de NTFS. Un atacante que logra aprovechar esta vulnerabilidad podría ejecutar código de forma remota en el equipo de destino. La actualización de seguridad soluciona la vulnerabilidad tomando una nueva versión de Git para Windows en la que se conocen los flujos de datos alternativos de NTFS.
Existe una vulnerabilidad de sobrescritura de archivos arbitrarios en Git, dado que las entradas de árbol con barras diagonales inversas y vínculos simbólicos malintencionados pueden interrumpir el árbol de trabajo. Un atacante que logra aprovechar esta vulnerabilidad podría escribir código en archivos arbitrarios en el equipo de destino. La actualización de seguridad soluciona la vulnerabilidad tomando una nueva versión de Git para Windows en la que no se permite el uso de barras diagonales inversas.
Existe una vulnerabilidad de ejecución de código remoto en Git al clonar de forma recursiva con submódulos. Un atacante que logra aprovechar esta vulnerabilidad podría ejecutar código de forma remota en el equipo de destino. La actualización de seguridad soluciona la vulnerabilidad tomando una nueva versión de Git para Windows en la que se refuerza la validación de los nombres de submódulo.
Se ha detectado una vulnerabilidad de suplantación de identidad en la extensión Visual Studio Live Share cuando un invitado conectado a una sesión de Live Share se redirige a una dirección URL arbitraria especificada por el host de sesión. Un atacante podría aprovecharse de esta vulnerabilidad y hacer que el equipo del invitado abra un explorador y navegue a una dirección URL malintencionada sin consentimiento explícito. Esto formaba parte de la característica "Servidor compartido" de Live Share que permitía el reenvío automático de puertos durante una sesión de Live Share activa. En la actualización más reciente se soluciona esta vulnerabilidad mediante la solicitud al invitado de Live Share de su consentimiento antes de navegar a la dirección URL especificada por el host.
Visual Studio 2019, versión 16.4
Publicada el 3 de diciembre de 2019
Resumen de las novedades de Visual Studio 2019, versión 16.4
Las adiciones de productividad de .NET en esta versión incluyen: capacidad de configurar el nivel de gravedad de una regla de estilo de código directamente en la lista de errores; "Buscar todas las referencias" ahora tiene la opción de agrupar por tipo y miembro; y refactorización para convertir una función local en estática y pasar variables definidas fuera de la función a la declaración y las llamadas de la función.
Personalice rápidamente cómo se muestran los objetos en las ventanas del depurador con la nueva característica Anclar propiedades.
Detección automática de cadenas de conexión de SQL Server y Azure Storage al administrar las dependencias de publicación o mediante Servicios conectados
Se ha agregado compatibilidad con el desarrollo de Azure Functions mediante el tiempo de ejecución de 64 bits.
Se ha agregado compatibilidad con las opciones de publicación de las aplicaciones de .NET Core 3.0: Preparado para ejecutarse (Crossgen), Vinculación y SingleExe
Entre las adiciones de productividad de .NET de esta versión se incluye la capacidad de configurar el nivel de gravedad de una regla de estilo de código directamente a través del editor, navegar fácilmente hacia arriba en la cadena de herencia con el nuevo comando Ir a base, agregar comprobaciones de valores NULL para todos parámetros y la documentación XML para los métodos de invalidación.
Detalles de las novedades de Visual Studio 2019, versión 16.4
Visual Studio ahora admite el "modo de cumplimiento del estándar FIPS"
A partir de la versión 16.4, Visual Studio 2019 ahora admite el "modo de cumplimiento del estándar FIPS 140-2" al desarrollar aplicaciones y soluciones para Windows, Azure y .NET. Al desarrollar aplicaciones o soluciones para plataformas que no son de Microsoft, como Linux, iOS o Android, es posible que estas plataformas no usen algoritmos aprobados por el estándar FIPS 140-2. Es posible que el software de terceros incluido con Visual Studio o las extensiones que instale tampoco use algoritmos aprobados por el estándar FIPS 140-2. Además, el desarrollo de soluciones de SharePoint no es compatible con el modo de cumplimiento del estándar FIPS 140-2.
Para configurar el modo de cumplimiento del estándar FIPS 140-2 para Visual Studio, instale .NET Framework 4.8 y habilite la configuración de directiva de grupo de Windows: "Usar algoritmos que cumplan el estándar FIPS para cifrado, firma y operaciones hash."
Herramientas de WPF y UWP
Los clientes que compilan aplicaciones WPF y UWP verán las mejoras siguientes en las herramientas XAML de Visual Studio:
Diseñador
Ahora el valor predeterminado de zoom y posición del Diseñador XAML es Ajustar todo: en función de los comentarios de los clientes, se ha reevaluado el comportamiento predeterminado de zoom del Diseñador XAML que se produce al abrir una ventana, página, control de XAML, etc. En la experiencia anterior se almacenaba el nivel de zoom y la posición de cada archivo entre las sesiones de Visual Studio, lo que provocaba confusión entre los clientes cuando regresaban a un archivo después de un tiempo. A partir de esta versión, solo se almacenará el nivel de zoom y la posición para la duración de la sesión activa y se volverá a un valor predeterminado "Ajustar todo" una vez que se reinicie Visual Studio.
Cuadro de diálogo Crear enlace de datos: Visual Studio ofrecía un cuadro de diálogo de enlace de datos para los desarrolladores de .NET Framework para WPF en el menú contextual del Diseñador XAML y el Explorador de propiedades, que también estaba disponible previamente para los desarrolladores de UWP. En esta versión se vuelve a ofrecer esta experiencia a los desarrolladores de UWP y se agrega compatibilidad con las aplicaciones .NET Core para WPF. Esta característica aún está en desarrollo y continuará mejorando en el futuro para devolver la paridad de características con las funcionalidades de cuadro de diálogo de .NET Framework.
Editor XAML
Mejoras en IntelliSense para #region: a partir de Visual Studio 2015, la compatibilidad con #region está disponible para los desarrolladores de XAML para WPF y UWP, y más recientemente para Xamarin.Forms. En esta versión se ha corregido un error de IntelliSense, y ahora #regions se mostrará correctamente cuando empiece a escribir <!.
Fragmentos de código de IntelliSense en XAML: se ha mejorado IntelliSense para admitir la visualización de fragmentos de código XAML, lo que funcionará tanto en fragmentos de código integrados como en los fragmentos de código personalizados que agregue de forma manual. A partir de esta versión, también se incluyen algunos fragmentos de código XAML listos para usar: #region, Definición de columna, Definición de fila, Establecedor y Etiqueta.
Editor XAML emergente como una ventana independiente del diseñador: ahora es posible dividir fácilmente el Diseñador XAML y su editor XAML subyacente en ventanas independientes con el nuevo botón emergente de XAML situado junto a la pestaña XAML. Al hacer clic en el diseñador XAML, se minimizará la pestaña XAML adjunta y se abrirá una nueva ventana solo para la vista del editor XAML. Puede mover esta nueva ventana a cualquier grupo de pestañas o pantalla de Visual Studio. Tenga en cuenta que todavía se puede expandir la vista XAML original, pero todas las vistas XAML del mismo archivo permanecerán sincronizadas en tiempo real.
Ventana emergente de código XAML
Representación de recursos para los ensamblados a los que se hace referencia: IntelliSense para XAML se ha actualizado para admitir la representación de recursos XAML de un ensamblado al que se hace referencia (cuando el código fuente no está disponible) para los proyectos de Framework y .NET Core para WPF.
Herramientas de depuración de XAML
Solo mi XAML en el Árbol visual dinámico: Árbol visual dinámico es una característica que está disponible para los desarrolladores de UWP y WPF cuando ejecutan su aplicación en modo de depuración y forma parte de las herramientas de edición dinámica relacionadas con la recarga activa de XAML. Anteriormente, la característica mostraba el árbol visual dinámico completo de la aplicación en ejecución conectada sin ningún filtro para poder ver solo el código XAML escrito en la aplicación. Esto entorpecía considerablemente la experiencia y, en función de los comentarios de los clientes, se ha agregado un nuevo valor predeterminado denominado "Solo mi XAML", que limitará el árbol a los controles que haya escrito en la aplicación. Aunque este es el nuevo valor predeterminado, todavía se puede volver al comportamiento anterior mediante el botón dentro del propio árbol visual dinámico o mediante un valor nuevo (que se encuentra en: Opciones > Depuración > General > Habilitar Solo mi XAML)
Mostrar Solo mi XAML en el Árbol visual dinámico
Plantillas y recursos
Combinación de diccionario de recursos: ahora es posible combinar fácilmente un diccionario de recursos existente en el proyecto de UWP o WPF con cualquier archivo XAML válido mediante la nueva característica disponible a través del Explorador de soluciones. Simplemente abra el archivo XAML en el que quiere agregar la instrucción de combinación, busque el archivo que quiera combinar y haga clic con el botón derecho en él en el Explorador de soluciones. En el menú contextual, seleccione la opción “Merge Resource Dictionary Into Active Window” (Combinar diccionario de recursos en la ventana activa), que agregará el código XAML de combinación correcto con la ruta de acceso.
Combinación de diccionario de recursos
Ahora Editar plantilla funciona con controles de terceros: ahora se puede crear una copia de una plantilla de controles aunque no forme parte de la solución como código fuente. Con este cambio, la característica “Editar plantilla” ahora estará disponible y funcionará como lo hace para los elementos propios en los que el origen está disponible hoy en día. Tenga en cuenta que esta característica es aplicable a bibliotecas de controles de terceros y propias en las que el origen no está disponible.
Islas XAML:
Compatibilidad mejorada con la isla XAML: Hemos agregado compatibilidad con el escenario de islas XAML para las aplicaciones de Windows Forms y WPF .NET Core 3, lo que facilita agregar el control XAML de UWP a estas aplicaciones. Con estas mejoras, un proyecto de .NET Core 3 puede hacer referencia al proyecto de UWP que contiene controles XAML personalizados de UWP. Estos controles personalizados los pueden usar los controles WindowsXamlHost incluidos en la versión 6 del kit de herramientas de la comunidad de Windows (Microsoft.Toolkit.Wpf.UI.XamlHost v6.0). También puede usar el proyecto de paquete de aplicación de Windows para generar MSIX para .NET Core 3 con islas. Para obtener información sobre cómo empezar, consulte la documentación.
C++
Ahora el análisis de código es compatible de forma nativa con Clang-Tidy para proyectos de MSBuild y CMake, tanto si usa un conjunto de herramientas de Clang como de MSVC. Las comprobaciones de Clang-Tidy pueden ejecutarse como parte del análisis de código en segundo plano, aparecer como advertencias en el editor (subrayado ondulado) y aparecer en la lista de errores.
Advertencias de Clang-Tidy en la lista de errores
Ahora los proyectos de CMake de Visual Studio tienen páginas de información general que le ayudarán a empezar a trabajar con el desarrollo multiplataforma. Estas páginas son dinámicas y le ayudan a conectarse a un sistema Linux y a agregar una configuración de Linux o WSL al proyecto de CMake.
Ahora C++/CLI admite la interoperabilidad con .NET Core 3.1 y versiones posteriores en Windows.
Ahora puede habilitar ASan para los proyectos compilados con MSVC en Windows para la instrumentación de código de C++ en tiempo de ejecución que ayuda a detectar errores de memoria.
Actualizaciones de la biblioteca C++ Standard de MSVC:
C++17: se ha implementado la precisión general de to_chars(), para completar las conversiones de cadenas elementales (charconv) de P0067R5. Esto completa la implementación de todas las características de la biblioteca en el estándar C++17.
C++20: se han implementado conceptos de cambio de nombre de P1754R1 en standard_case. Para incluir características en versión preliminar del borrador de trabajo de C++ más reciente, use la marca del compilador /std:c++latest; la marca también se puede establecer en la >página de propiedades del proyecto del lenguaje C/C++ a través de la propiedad estándar del lenguaje C++.
Ahora hay disponible una nueva colección de herramientas denominada C++ Build Insights. Para obtener más información, vea el blog del equipo de Visual C++.
Compatibilidad con la publicación en GitHub
La característica publicar en GitHub que formaba parte de la extensión de GitHub para Visual Studio ahora se incluye en GitHub Essentials de Visual Studio.
Ahora puede publicar repositorios de Git locales en GitHub con el botón Publicar en GitHub en la página Sincronización de Team Explorer.
Pestañas de documentos verticales en Visual Studio
Administre las pestañas de documentos en una lista vertical en el lado izquierdo o derecho del editor.
Pestañas de documentos verticales en Visual Studio
Herramienta de depuración Anclar propiedades
Ahora puede identificar e inspeccionar rápidamente objetos en tiempo de depuración mediante el anclaje de propiedades en la parte superior de la información sobre datos o en las ventanas Inspección, Automático y Variables locales mediante la característica Anclar propiedades.
Anclar propiedades en Visual Studio
Ventana de la herramienta Contenedores
Puede enumerar, inspeccionar, detener, iniciar y quitar contenedores
Puede ver los registros y el contenido de los archivos de los contenedores en ejecución, así como abrir una ventana de terminal en los contenedores
Puede ver, inspeccionar y quitar imágenes
Ventana de herramientas de contenedores en Visual Studio
Ocultar automáticamente las ventanas de herramientas
La habilitación de esta opción de característica en versión preliminar le permite omitir los retrasos de inicio presentes al iniciar Visual Studio con varias ventanas de herramientas abiertas.
Productividad de .NET
Ahora puede configurar el nivel de gravedad de una regla de estilo de código directamente a través de la lista de errores. Coloque el cursor sobre el error, la advertencia o la sugerencia. Haga clic con el botón derecho y seleccione Set severity (Establecer gravedad). Después, seleccione el nivel de gravedad que desea configurar para esa regla. Esto actualizará la instancia existente de EditorConfig con la nueva gravedad de la regla. También funciona para los analizadores de terceros.
Establecer la gravedad de la regla directamente a través de la lista de errores
"Buscar todas las referencias" ahora permite agrupar por tipo y miembro.
Agrupar por tipo y miembro en "Buscar todas las referencias"
Ahora puede hacer que una función local sea estática y pasar las variables definidas fuera de la función a la declaración y llamadas de la función. Coloque el cursor en el nombre de la función local. Presione (Ctrl+.) para activar el menú Acciones rápidas y refactorizaciones. Seleccione Make local function static (Convertir la función local en estática).
Convertir la función local en estática
Ahora puede pasar una variable explícitamente a una función estática local. Coloque el cursor en la variable de la función local estática. Presione (Ctrl+.) para activar el menú Acciones rápidas y refactorizaciones. Seleccione Pass variable explicitly in local static function (Pasar una variable explícitamente a una función estática local).
Pasar una variable a una función estática local
Productividad de .NET
Ahora puede configurar el nivel de gravedad de una regla de estilo de código directamente a través del editor. Si un usuario no tiene actualmente un archivo. editorconfig, se generará uno automáticamente. Coloque el cursor en el error, advertencia o sugerencia y escriba (Ctrl +.) para abrir el menú Acciones rápidas y refactorizaciones. Seleccione "Configurar o suprimir incidencias". Después, seleccione la regla y elija el nivel de gravedad que desea configurar para esa regla. Esto actualizará la instancia existente de EditorConfig con la nueva gravedad de la regla. También funciona para los analizadores de terceros.
Establecer la gravedad de la regla directamente a través del editor
Ahora puede usar el comando Ir a base para navegar hacia arriba en la cadena de herencia. El comando Ir a base está disponible en el menú contextual (clic en el botón derecho) del elemento en cuya jerarquía de herencia desea navegar. También puede escribir (Alt+Inicio). Si hay más de un resultado, se abrirá una ventana de herramientas con todos los resultados a los que puede navegar.
Ir a base
Ahora puede agregar comprobaciones de todos los parámetros nulos. Esto agregará instrucciones if que comprueban la nulidad de todos los parámetros no comprobados que aceptan valores NULL. Coloque el cursor en cualquier parámetro dentro del método. Presione (Ctrl+.) para activar el menú Acciones rápidas y refactorizaciones. Seleccione la opción para agregar comprobaciones de valores NULL para todos los parámetros.
Agregar comprobaciones de valores NULL para todos los parámetros
Los métodos que no tienen documentación XML ahora pueden heredar automáticamente la documentación XML del método que está reemplazando. Coloque el cursor sobre el método no documentado que implementa un método de interfaz documentado. La información rápida mostrará la documentación XML desde el método de interfaz. También puede heredar comentarios XML de clases base e interfaces con la etiqueta <inheritdoc>. Ejemplo de documentación.
Documentación de herencia de XML
Xamarin
Recarga activa de XAML para Xamarin.Forms
La recarga activa de XAML para Xamarin.Forms agiliza el desarrollo y facilita la compilación, la experimentación y la iteración en la interfaz de usuario. Ya no tiene que volver a compilar la aplicación cada vez que retoque la interfaz de usuario, ya que los cambios en la aplicación en ejecución se muestran de forma instantánea.
Publicación del lote de aplicaciones de Android
Ahora puede crear lotes de aplicaciones de Android al publicar aplicaciones Android en Visual Studio. Los paquetes de aplicaciones proporcionan a los usuarios APK optimizados según sus especificaciones de dispositivo al descargar una aplicación desde Google Play Store u otras tiendas de aplicaciones Android.
Publicación del lote de aplicaciones de Android
Asistente para migración de AndroidX
Ahora puede usar un asistente para migración de AndroidX para convertir la aplicación de Android existente en AndroidX desde la biblioteca de compatibilidad de Android.
Asistente para migración de AndroidX
Detección de errores de diseño de Android
Ahora se proporciona un conjunto de problemas comunes al editar los diseños en Android Designer.
Detección de errores de diseño de Android
Principales problemas corregidos en Visual Studio 2019, versión 16.4
Consulte todos los problemas y las soluciones alternativas disponibles de Visual Studio 2019, versión 16.4 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.