Visual Studio Icon Notas de la versión de Visual Studio 2019, versión 16.4Visual Studio 2019 version 16.4 Release Notes


| Comunidad de desarrolladores | Requisitos del sistema | Compatibilidad | Código distribuible | Términos de licencia | Blogs | Problemas conocidos de la versión más reciente || Developer Community | System Requirements | Compatibility | Distributable Code | License Terms | Blogs | Latest Release Known Issues |


Haga clic en un botón para descargar la última versión de Visual Studio 2019.Click a button to download the latest version of Visual Studio 2019. Para obtener instrucciones sobre cómo instalar y actualizar Visual Studio 2019, vea Actualizar Visual Studio 2019 a la versión más reciente.For instructions on installing and updating Visual Studio 2019, see the Update Visual Studio 2019 to the most recent release. Consulte también las instrucciones sobre cómo efectuar una instalación sin conexión.Also, see instructions on how to install offline.


Novedades de Visual Studio 2019, versión 16.4What's New in Visual Studio 2019 version 16.4

Período de tiempo de soporte técnicoSupport Timeframe

Visual Studio 2019, versión 16.4 es la segunda línea de base de mantenimiento de Visual Studio 2019.Visual Studio 2019 version 16.4 is the second supported servicing baseline for Visual Studio 2019. Se recomienda que aquellos clientes de Enterprise y Professional que necesiten adoptar un entorno de desarrollo estable y seguro a largo plazo estandaricen con esta versión.Enterprise and Professional customers needing to adopt a long term stable and secure development environment are encouraged to standardize on this version.  Como se explica con más detalle en el ciclo de vida y la directiva de compatibilidad, la versión 16.4 seguirá contando con correcciones y actualizaciones de seguridad durante un año después del lanzamiento de la siguiente línea de base de mantenimiento.  As explained in more detail in our lifecycle and support policy, version 16.4 will be supported with fixes and security updates for one year after the release of the next servicing baseline.

Además, ahora que la versión 16.4 está disponible, la versión 16.0, que era la última línea de base de mantenimiento, contará con soporte técnico durante 12 meses adicionales y dejará de recibirlo en enero de 2021.In addition, now that version 16.4 is available, version 16.0, which was the last servicing baseline, will be supported for an additional 12 months and will go out of support in January 2021. Tenga en cuenta también que las versiones 16.1, 16.2 y 16.3 ya no cuentan con soporte técnico. Note as well that versions 16.1, 16.2, and 16.3 are no longer under support. Estas versiones intermediarias solo recibieron correcciones de mantenimiento hasta que se lanzó la siguiente actualización secundaria.These intermediary releases received servicing fixes only until the next minor update released.

Puede adquirir la última versión más segura de Visual Studio 2019, versión 16.4 en la sección de descargas de my.visualstudio.com.You can acquire the latest most secure version of Visual Studio 2019 version 16.4 in the downloads section of my.visualstudio.com.  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.  For more information about Visual Studio supported baselines, please review the support policy for Visual Studio 2019.

Notas de la versión de Visual Studio 2019, versión 16.4Visual Studio 2019 version 16.4 Releases

Notas de la versión archivadasArchived Release Notes

Blog de Visual Studio 2019Visual Studio 2019 Blog

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.The Visual Studio 2019 Blog is the official source of product insight from the Visual Studio Engineering Team. Encontrará información detallada sobre las versiones de Visual Studio 2019 en las publicaciones siguientes:You can find in-depth information about the Visual Studio 2019 releases in the following posts:

Únase a la discusión Notas de la versiónJoin the Release Note Discussion


Release Notes Icon Visual Studio 2019, versión 16.4.5Visual Studio 2019 version 16.4.5 New release icon

publicada el 11 de febrero de 2020released February 11, 2020

Principales problemas corregidos en Visual Studio 2019, versión 16.4.5Top Issues Fixed in Visual Studio 2019 version 16.4.5


Release Notes Icon Visual Studio 2019, versión 16.4.4Visual Studio 2019 version 16.4.4

publicada el 30 de enero de 2020released January 30, 2020

Principales problemas corregidos en Visual Studio 2019, versión 16.4.4Top Issues Fixed in Visual Studio 2019 version 16.4.4


Release Notes Icon Visual Studio 2019, versión 16.4.3Visual Studio 2019 version 16.4.3

publicada el 14 de enero de 2020released January 14, 2020

Aviso de seguridadSecurity Advisory Notice

CVE-2020-0602 Vulnerabilidad de denegación de servicio de ASP.NET CoreCVE-2020-0602 ASP.NET Core Denial of Service Vulnerability

Un atacante remoto no autenticado podría aprovechar esta vulnerabilidad si emite solicitudes creadas especialmente para una aplicación ASP.NET Core.A remote unauthenticated attacker could exploit this vulnerability by issuing specially crafted requests to the ASP.NET Core application. 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.The security update addresses the vulnerability by correcting how the ASP.NET Core web application handles web requests.

CVE-2020-0603 Vulnerabilidad de ejecución de código remoto de ASP.NET CoreCVE-2020-0603 ASP.NET Core Remote Code Execution Vulnerability

Un atacante remoto no autenticado podría aprovechar esta vulnerabilidad si emite solicitudes creadas especialmente para una aplicación ASP.NET Core.A remote unauthenticated attacker could exploit this vulnerability by issuing specially crafted requests to the ASP.NET Core application. La actualización de seguridad soluciona la vulnerabilidad mediante la corrección de cómo las aplicaciones web ASP.NET Core controlan la memoria.The security update addresses the vulnerability by correcting how the ASP.NET Core web application handles in memory.

CVE-2020-0605 Vulnerabilidad de ejecución de código remoto de .NET CoreCVE-2020-0605 .NET Core Remote Code Execution Vulnerability

La explotación de la vulnerabilidad requiere que un usuario abra un archivo diseñado especialmente con una versión afectada de .NET Core.Exploitation of the vulnerability requires that a user open a specially crafted file with an affected version of .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.In an email attack scenario, an attacker could exploit the vulnerability by sending the specially crafted file to the user and convincing the user to open the file.The security update addresses the vulnerability by correcting how .NET Core checks the source markup of a file.

CVE-2020-0606 Vulnerabilidad de ejecución de código remoto de .NET CoreCVE-2020-0606 .NET Core Remote Code Execution Vulnerability

La explotación de la vulnerabilidad requiere que un usuario abra un archivo diseñado especialmente con una versión afectada de .NET Core.Exploitation of the vulnerability requires that a user open a specially crafted file with an affected version of .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.In an email attack scenario, an attacker could exploit the vulnerability by sending the specially crafted file to the user and convincing the user to open the file.The security update addresses the vulnerability by correcting how .NET Core checks the source markup of a file.

Principales problemas corregidos en Visual Studio 2019, versión 16.4.3Top Issues Fixed in Visual Studio 2019 version 16.4.3


Release Notes Icon Visual Studio 2019, versión 16.4.2Visual Studio 2019 version 16.4.2

Fecha de publicación: 17 de diciembre de 2019released December 17, 2019

Principales problemas corregidos en Visual Studio 2019, versión 16.4.2Top Issues Fixed in Visual Studio 2019 version 16.4.2


Release Notes Icon Visual Studio 2019, versión 16.4.1Visual Studio 2019 version 16.4.1

publicada el 10 de diciembre de 2019released December 10, 2019

Principales problemas corregidos en Visual Studio 2019, versión 16.4.1Top Issues Fixed in Visual Studio 2019 version 16.4.1

Aviso de seguridadSecurity Advisory Notice

CVE-2019-1349 Vulnerabilidad de ejecución remota de Git para Visual Studio debido a restricciones poco estrictas en los nombres de submóduloCVE-2019-1349 Git for Visual Studio Remote Excecution Vulnerability due to too lax restrictions on submodule names

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.A remote code execution vulnerability exists when Git runs into collisions of submodule names for directories of sibling submodules. Un atacante que logra aprovechar esta vulnerabilidad podría ejecutar código de forma remota en el equipo de destino.An attacker who successfully exploited this vulnerability could remote execute code on the target machine. 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.The security update addresses the vulnerability by taking a new version of Git for Windows which requires the directory for the submodules’ clone to be empty.

CVE-2019-1350 Vulnerabilidad de ejecución remota de Git para Visual Studio debido a las comillas incorrectas de los argumentos de la línea de comandosCVE-2019-1350 Git for Visual Studio Remote Excecution Vulnerability due to incorrect quoting of command-line arguments

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.A remote code execution vulnerability exists when Git interprets command-line arguments with certain quoting during a recursive clone in conjunction with SSH URLs. Un atacante que logra aprovechar esta vulnerabilidad podría ejecutar código de forma remota en el equipo de destino.An attacker who successfully exploited this vulnerability could remote execute code on the target machine. La actualización de seguridad soluciona la vulnerabilidad tomando una nueva versión de Git para Windows que corrige la incidencia.The security update addresses the vulnerability by taking a new version of Git for Windows which fixes the issue.

CVE-2019-1351 Vulnerabilidad de sobrescritura de archivos arbitrarios de Git para Visual Studio debido al uso de nombres de unidad que no son letras durante la clonaciónCVE-2019-1351 Git for Visual Studio Arbitrary File Overwrite Vulnerability due to usage of non-letter drive names during clone

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.An arbitrary file overwrite vulnerability exists in Git when non-letter drive names bypass safety checks in git clone. Un atacante que logra aprovechar esta vulnerabilidad podría escribir código en archivos arbitrarios en el equipo de destino.An attacker who successfully exploited this vulnerability could write to arbitrary files on the target machine. La actualización de seguridad soluciona la vulnerabilidad tomando una nueva versión de Git para Windows que corrige la incidencia.The security update addresses the vulnerability by taking a new version of Git for Windows which fixes the issue.

CVE-2019-1352 Vulnerabilidad de ejecución remota de Git para Visual Studio debido a la falta de conocimiento de las flujos de datos alternativos de NTFSCVE-2019-1352 Git for Visual Studio Remote Excecution Vulnerability due to unawareness of NTFS Alternate Data Streams

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.A remote code execution vulnerability exists in Git when cloning and writing to .git/ directory via NTFS alternate data streams. Un atacante que logra aprovechar esta vulnerabilidad podría ejecutar código de forma remota en el equipo de destino.An attacker who successfully exploited this vulnerability could remote execute code on the target machine. 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.The security update addresses the vulnerability by taking a new version of Git for Windows which has been made aware of NTFS alternate data streams.

CVE-2019-1354 Vulnerabilidad de sobrescritura de archivos arbitrarios de Git para Visual Studio debido a que no se rechaza la escritura de archivos con seguimiento que contienen barras diagonales inversasCVE-2019-1354 Git for Visual Studio Arbitrary File Overwrite Vulnerability due to not refusing to write out tracked files containing backslashes

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.An arbitrary file overwrite vulnerability exists in Git when tree entries with backslashes and malicious symlinks could break out of the work tree. Un atacante que logra aprovechar esta vulnerabilidad podría escribir código en archivos arbitrarios en el equipo de destino.An attacker who successfully exploited this vulnerability could write to arbitrary files on the target machine. 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.The security update addresses the vulnerability by taking a new version of Git for Windows which does not allow this usage of backslashes.

CVE-2019-1387 Vulnerabilidad de ejecución remota de Git para Visual Studio debido a una validación poco estricta en los nombres de submódulo en los clones recursivosCVE-2019-1387 Git for Visual Studio Remote Execution Vulnerability due to too lax validation of submodule names in recursive clones

Existe una vulnerabilidad de ejecución de código remoto en Git al clonar de forma recursiva con submódulos.A remote code execution vulnerability exists in Git when cloning recursively with submodules. Un atacante que logra aprovechar esta vulnerabilidad podría ejecutar código de forma remota en el equipo de destino.An attacker who successfully exploited this vulnerability could remote execute code on the target machine. 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.The security update addresses the vulnerability by taking a new version of Git for Windows which tightens validation of submodule names.

CVE-2019-1486 Vulnerabilidad de redirección de direcciones URL de la extensión Live ShareCVE-2019-1486 Live Share extension URL redirection vulnerability

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.A spoofing vulnerability was detected in the Visual Studio Live Share extension, when a guest connected to a Live Share session was redirected to an arbitrary URL specified by the session host. 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.An attacker would have been able to successfully exploit this vulnerability and cause the guest's computer to open a browser and navigate to a malicious URL without explicit consent. 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.This was part of the "Shared Server" feature of Live Share that allowed auto-port forwarding during an active Live Share session. 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.The latest update addresses this vulnerability by prompting the Live Share guest for consent prior to browsing the host-specified URL.


Release Notes Icon Visual Studio 2019, versión 16.4Visual Studio 2019 version 16.4

Publicada el 3 de diciembre de 2019released December 3, 2019

Resumen de las novedades de Visual Studio 2019, versión 16.4Summary of What's New in Visual Studio 2019 version 16.4

  • Visual Studio ahora admite el "modo de cumplimiento del estándar FIPS" Visual Studio now supports “FIPS compliance mode”
  • Ahora el valor predeterminado de zoom y posición del Diseñador XAML es Ajustar todo.XAML Designer zoom/position now defaults to Fit All.
  • Se ha agregado el cuadro de diálogo Crear enlace de datos.Create Data Binding Dialog has been added.
  • Mejoras en IntelliSense para regiones.Improvements to regions IntelliSense
  • Fragmentos de código de IntelliSense en XAML.Snippets in XAML IntelliSense
  • Editor XAML emergente como una ventana independiente del diseñador.Pop-up XAML editor as a separate window from designer
  • Representación de recursos para los ensamblados a los que se hace referencia.Displaying resources for referenced assemblies
  • Solo mi XAML en el Árbol visual dinámicoJust My XAML in Live Visual Tree
  • Combinación de diccionario de recursosMerge Resource Dictionary
  • Compatibilidad con islas XAMLXAML Islands support
  • Ahora Editar plantilla funciona con controles de terceros.Edit Template now works with controsl from 3rd party controls.
  • Compatibilidad con Clang-Tidy en proyectos C++ MSBuild y CMake, para Clang y MSVC.Clang-Tidy support in C++ MSBuild and CMake projects, for both Clang and MSVC.
  • Compatibilidad con AddressSanitizer para los proyectos compilados con MSVC en Windows.AddressSanitizer support for projects compiled with MSVC on Windows.
  • Compatibilidad con la publicación de repositorios de Git locales en GitHub.Support for publishing local Git repositories to GitHub.
  • Cambie las pestañas del documento a un diseño vertical con las pestañas de documento vertical.Change your document tabs to a vertical layout with Vertical Document Tabs.
  • 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..NET Productivity additions in this release include the ability to configure the severity level of a code style rule directly in the error list, Find All References now has the option to group by type and member, and a refactoring to make a local function static and pass in variables defined outside of the function to the function's declaration and calls.
  • Personalice rápidamente cómo se muestran los objetos en las ventanas del depurador con la nueva característica Anclar propiedades.Quickly customize how objects are displayed in debugger windows using the new Pinnable Properties feature.
  • Ventana de herramientas de contenedores agrega la capacidad de inspeccionar, detener, iniciar y quitar imágenes y contenedores de DockerContainers tool window adds the ability to inspect, stop, start, and remove Docker containers and images
  • Opción para mejorar el rendimiento de inicio mediante la ocultación automática de las ventanas de herramientasOption to improve startup peformance by auto hiding tool windows
  • 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 conectadosAutomatic detection of SQL Server and Azure Storage connections strings when managing publish dependencies or using Connected Services
  • Se ha agregado compatibilidad con el desarrollo de Azure Functions mediante el tiempo de ejecución de 64 bits.Added support for developing Azure Functions using the 64bit runtime.
  • Se agregó compatibilidad con las opciones de publicación de aplicaciones de .NET Core 3.0: Ready to Run (Crossgen), Linking y SingleExeAdded support for .NET Core 3.0 app publishing options: Ready to Run (Crossgen), Linking, and 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..NET Productivity additions in this release include the ability to configure the severity level of a code style rule directly through the editor, navigate easily up the inheritance chain with the new Go To Base command, adding null checks for all parameters, and XML documentation for overriding methods.
  • Recarga activa de XAML para Xamarin.FormsXAML Hot Reload for Xamarin.Forms
  • Publicación del lote de aplicaciones de AndroidAndroid App Bundle Publishing
  • Asistente para migración de AndroidXAndroidX Migration Wizard
  • Detección de errores de diseño de AndroidAndroid Layout Linting

Detalles de las novedades de Visual Studio 2019, versión 16.4Details of What's new in Visual Studio 2019 version 16.4

Visual Studio ahora admite el "modo de cumplimiento del estándar FIPS"Visual Studio now supports “FIPS compliance mode”

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.Starting with version 16.4, Visual Studio 2019 now supports “FIPS 140-2 compliance mode” when developing apps and solutions for Windows, Azure, and .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.When you’re developing apps or solutions for non-Microsoft platforms like Linux, iOS, or Android, these platforms may not use FIPS 140-2 approved algorithms. 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.Third-party software included with Visual Studio or extensions that you install also may not use FIPS 140-2 approved algorithms. Además, el desarrollo de soluciones de SharePoint no es compatible con el modo de cumplimiento del estándar FIPS 140-2.In addition, development for SharePoint solutions does not support FIPS 140-2 compliance mode.

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 "Criptografía de sistema: Usar algoritmos que cumplan el estándar FIPS para cifrado, firma y operaciones hash".To configure FIPS 140-2 compliance mode for Visual Studio, install .NET Framework 4.8 and enable the Windows group policy setting: “System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing.”

Herramientas de WPF y UWPWPF/UWP Tooling

Los clientes que compilan aplicaciones WPF y UWP verán las mejoras siguientes en las herramientas XAML de Visual Studio:Customers building WPF/UWP applications will see the following improvements in Visual Studio XAML tooling:

DiseñadorDesigner

  • 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.XAML Designer zoom/position now defaults to Fit All: Based on customer feedback we’ve reevaluated the default XAML Designer zoom behavior that occurs when you open a XAML window/page/control/etc. The previous experienced stored the zoom level and position for each file across Visual Studio sessions which caused confusion when customers were coming back to a file after some time had passed. 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.Starting with this release we will only store the zoom level and position for the duration of the active session and go back to a “fit all” default once Visual Studio is restarted.
  • 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.Create Data Binding Dialog: Visual Studio has had a data binding dialog available to WPF .NET Framework developers from the right-click of the XAML Designer and Property Explorer, and this dialog was also previously available to UWP developers. 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.In this release we’re bringing back this experience to UWP developers and adding support for WPF .NET Core applications. 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.This feature is still in development and will continue to improve in the future to bring back feature parity with .NET Framework dialog capabilities.

Editor XAMLXAML Editor

  • 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.Improvements to #regions IntelliSense: Starting with Visual Studio 2015 #region support has been available for WPF and UWP XAML developers and more recently for Xamarin.Forms. En esta versión se ha corregido un error de IntelliSense, y ahora #regions se mostrará correctamente cuando empiece a escribir <!.In this release we’ve fixed an IntelliSense bug, with this fix #regions will now show properly as you begin to type <!.
  • 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.Snippets in XAML IntelliSense: IntelliSense has been enhanced to support showing XAML snippets, this will work for both built-in snippets and any custom snippets that you add manually. 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.Starting with this release we’re also including some out-of-the-box XAML snippets: #region, Column definition, Row definition, Setter and Tag.
  • 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.Pop up XAML editor as a separate window from designer: It is now possible to easily split the XAML Designer and its underlying XAML editor into separate windows using the new Pop up XAML button next to the XAML tab. When clicked the XAML designer will minimize its attached XAML tab and pop open a new window for just the XAML editor view. Puede mover esta nueva ventana a cualquier grupo de pestañas o pantalla de Visual Studio.You can move this new window to any display or tab group in 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.Note that it is still possible to expand the original XAML view but regardless all XAML views of the same file will stay synchronized in real-time.
Pop up XAML code window
Ventana emergente de código XAMLPop up XAML code window
  • 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.Displaying resources for referenced assemblies: XAML IntelliSense has been updated to support displaying XAML resources from a referenced assembly (when source is not available) for WPF Framework and WPF .NET Core projects.

Herramientas de depuración de XAMLXAML Debugging Tools

  • 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.Just My XAML in Live Visual Tree: The Live Visual Tree is a feature that is available to both UWP and WPF developers when they run their application in debug mode and is part of the live editing tooling related to XAML Hot Reload. 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.Previously the feature would display the full live visual tree of the attached running application with no filter possible to see just the XAML you’ve written in your app. 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.This made for a very noisy experience and based on customer feedback we’ve added a new default called “Just My XAML” which will limit the tree to just controls you wrote in your application. 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)While this is the new default it is still possible to go back to the previous behavior through either the button within tine Live Visual Tree itself or through a new setting (found under: Options > Debugging > General > Enable Just My XAML)
Show Just My XAML in Live Visual Tree
Mostrar Solo mi XAML en el Árbol visual dinámicoShow Just My XAML in Live Visual Tree

Plantillas y recursosResources & Templates

  • 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.Merge Resource Dictionary: It is now possible to easily merge an existing resource dictionary within your UWP/WPF project with any valid XAML file using the new feature available through the solution explorer. 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.Simply open the XAML file in which you want to add the merge statement, then find the file you wish to merge in and right-click on it in solution explorer. 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.In the context menu select the option “Merge Resource Dictionary Into Active Window”, which will add the right merge XAML with path.
Merge Resource Dictionary
Combinación de diccionario de recursosMerge Resource Dictionary
  • 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.Edit Template now works with controls from 3rd party controls: It is now possible to create a copy of a controls template even when it’s not part of your solution as source code. 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.With this change the “Edit Template” feature will now be available and work as it does for 1st party elements where the source is available today. 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.Note that this feature is applicable to both 3rd party control libraries and 1st party where source isn’t available.

Islas XAML:XAML Islands:

  • 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.Improved XAML Island support: We’ve added support for XAML Islands scenario for Windows Forms and WPF .NET Core 3 apps making it easier to add UWP XAML control into these applications. Con estas mejoras, un proyecto de .NET Core 3 puede hacer referencia al proyecto de UWP que contiene controles XAML personalizados de UWP.With these improvements a .NET Core 3 project can a reference to UWP project that contains custom UWP XAML controls. 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).Those custom controls can be used by the WindowsXamlHost controls shipped within the Windows Community Toolkit v6 (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.You can also use the Windows Application Packaging project to generates MSIX for you .NET Core 3 with Islands. Para obtener información sobre cómo empezar, consulte la documentación.To learn how to get started visit our documentation.

C++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.Code Analysis now natively supports Clang-Tidy for both MSBuild and CMake projects, whether you're using a Clang or MSVC toolset. 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.clang-tidy checks can run as part of background code analysis, appear as in-editor warnings (squiggles), and display in the Error List.
Clang-Tidy warnings in the Error List
Advertencias de Clang-Tidy en la lista de erroresClang-Tidy warnings in the Error List
  • 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.Visual Studio CMake projects now have Overview Pages to help you get started with cross-platform development. 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.These pages are dynamic and help you connect to a Linux system and add a Linux or WSL configuration to your CMake project.
CMake Overview Pages
Páginas de información general de CMakeCMake Overview Pages
  • Ahora en el menú desplegable de inicio para los proyectos de CMake se muestran los destinos usados más recientemente, y además se pueden filtrar.The launch drop-down menu for CMake projects now displays your most recently used targets and can be filtered.
  • Ahora C++/CLI admite la interoperabilidad con .NET Core 3.1 y versiones posteriores en Windows.C++/CLI now supports interop with .NET Core 3.1 and higher on 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.You can now enable ASan for projects compiled with MSVC on Windows for runtime instrumentation of C++ code that helps with detection of memory errors.
  • Actualizaciones de la biblioteca C++ Standard de MSVC:Updates to MSVC's C++ Standard Library:
    • C++17: se ha implementado la precisión general de  to_chars() , para completar las conversiones de cadenas elementales (charconv) de  P0067R5 .C++17: Implemented to_chars() general precision, completing P0067R5 Elementary String Conversions (charconv). Esto completa la implementación de todas las características de la biblioteca en el estándar C++17.This completes implementation of all library features in the C++17 Standard.
    • C++20: se han implementado conceptos de cambio de nombre de  P1754R1 a standard_case.C++20: Implemented P1754R1 Rename concepts to 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++.To include preview features from the Latest C++ Working Draft, use the compiler flag /std:c++latest; the flag can also be set in the C/C++ > Language project property page via the C++ Language Standard property.
  • Ahora hay disponible una nueva colección de herramientas denominada C++ Build Insights.A new collection of tools named C++ Build Insights is now available. Para obtener más información, vea el blog del equipo de Visual C++.See the C++ Team Blog for more information.

Compatibilidad con la publicación en GitHubPublish to GitHub Support

  • 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.The publish to GitHub feature that was a part of the GitHub Extension for Visual Studio is now included in Visual Studio’s GitHub Essentials.
  • 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.You can now publish local Git repositories to GitHub using the Publish to GitHub button on Team Explorer Synchronization page.

Pestañas de documentos verticales en Visual StudioVertical Document Tabs in Visual Studio

Administre las pestañas de documentos en una lista vertical en el lado izquierdo o derecho del editor.Manage your document tabs in a vertical list on either the left or right side of your editor.

Pestañas de documentos verticales en Visual StudioVertical Document Tabs in Visual Studio

Herramienta de depuración Anclar propiedadesPinnable Properties Debugging Tool

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.You can now quickly identify and inspect objects at debug-time by pinning properties to the top of DataTips or the Watch, Autos, and Locals windows using the Pinnable Properties feature.

Anclar propiedades en Visual StudioPinnable Properties in Visual Studio

Ventana de la herramienta contenedoresContainers tool window

  • Puede enumerar, inspeccionar, detener, iniciar y quitar contenedoresYou can list, inspect, stop, start, and remove containers
  • 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 contenedoresYou can view logs and file contents for running containers, as well as open a terminal window into the containers
  • Puede ver, inspeccionar y quitar imágenes
    You can view, inspect, and remove images
    Ventana de herramientas de contenedores en Visual StudioContainers tool window in Visual Studio

Ocultar automáticamente las ventanas de herramientasAutohide tool windows

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.Enabling this preview feature option allows you to skip startup delays introduced by launching Visual Studio with multiple tool windows opened.

Productividad de .NET.NET Productivity

  • Ahora puede configurar el nivel de gravedad de una regla de estilo de código directamente a través de la lista de errores.You can now configure the severity level of a code style rule directly through the error list. Coloque el cursor sobre el error, la advertencia o la sugerencia.Place your cursor on the error, warning, or suggestion. Haga clic con el botón derecho y seleccione Set severity (Establecer gravedad).Right click and select Set severity. Después, seleccione el nivel de gravedad que desea configurar para esa regla.Then select the severity level you would like to configure for that rule. Esto actualizará la instancia existente de EditorConfig con la nueva gravedad de la regla.This will update your existing EditorConfig with the rule’s new severity. También funciona para los analizadores de terceros.This also works for third party analyzers.
Set rule severity directly through the error list
Establecer la gravedad de la regla directamente a través de la lista de erroresSet rule severity directly through the error list
  • "Buscar todas las referencias" ahora permite agrupar por tipo y miembro.Find All References now allows you to group by type and member.
Group by type and member in Find All References
Agrupar por tipo y miembro en "Buscar todas las referencias"Group by type and member in Find All References
  • 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.You can now make a local function static and pass in variables defined outside the function to the function’s declaration and calls. Coloque el cursor en el nombre de la función local.Place your cursor on the local function name. Presione (Ctrl+. ) para activar el menú Acciones rápidas y refactorizaciones.Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Seleccione Make local function static (Convertir la función local en estática).Select Make local function static.
Make local function static
Convertir la función local en estáticaMake local function static
  • Ahora puede pasar una variable explícitamente a una función estática local.You can now pass a variable explicitly into a local static function. Coloque el cursor en la variable de la función local estática.Place your cursor on the variable in the static local function. Presione (Ctrl+. ) para activar el menú Acciones rápidas y refactorizaciones.Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Seleccione Pass variable explicitly in local static function (Pasar una variable explícitamente a una función estática local).Select Pass variable explicitly in local static function.
Pass a variable into a local static function
Pasar una variable a una función estática localPass a variable into a local static function

Productividad de .NET.NET Productivity

  • Ahora puede configurar el nivel de gravedad de una regla de estilo de código directamente a través del editor.You can now configure the severity level of a code style rule directly through the editor. Si un usuario no tiene actualmente un archivo. editorconfig, se generará uno automáticamente.If a user does not currently have an .editorconfig file, one will be generated for them. Coloque el cursor en el error, advertencia o sugerencia y escriba (Ctrl +. ) para abrir el menú Acciones rápidas y refactorizaciones.Place your cursor on the error, warning, or suggestion and type (Ctrl+.) to open the Quick Actions and Refactorings menu. Seleccione "Configurar o suprimir incidencias".Select ‘Configure or Suppress issues’. Después, seleccione la regla y elija el nivel de gravedad que desea configurar para esa regla.Then select the rule and choose the severity level you would like to configure for that rule. Esto actualizará la instancia existente de EditorConfig con la nueva gravedad de la regla.This will update your existing EditorConfig with the rule’s new severity. También funciona para los analizadores de terceros.This also works for third party analyzers.
Set rule severity directly through the editor
Establecer la gravedad de la regla directamente a través del editorSet rule severity directly through the editor
  • Ahora puede usar el comando Ir a base para navegar hacia arriba en la cadena de herencia.You can now use the Go To Base command to navigate up the inheritance chain. 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.Go To Base command is available on the context (right-click) menu of the element you want to navigate the inheritance hierarchy. También puede escribir (Alt+Inicio).Or you can type (Alt+Home). Si hay más de un resultado, se abrirá una ventana de herramientas con todos los resultados a los que puede navegar.If there is more than one result a tool window will open with all of the results that you can choose to navigate to.
Go To Base
Ir a baseGo To Base
  • Ahora puede agregar comprobaciones de todos los parámetros nulos.You can now add null checks for all parameters. Esto agregará instrucciones if que comprueban la nulidad de todos los parámetros no comprobados que aceptan valores NULL.This will add if statements that check nullity of all the nullable, non-checked parameters. Coloque el cursor en cualquier parámetro dentro del método.Place your cursor on any parameter within the method. Presione (Ctrl+. ) para activar el menú Acciones rápidas y refactorizaciones.Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Seleccione la opción para agregar comprobaciones de valores NULL para todos los parámetros.Select the option to ‘Add null checks for all parameters’.
Add null checks for all parameters
Agregar comprobaciones de valores NULL para todos los parámetrosAdd null checks for all parameters
  • Los métodos que no tienen documentación XML ahora pueden heredar automáticamente la documentación XML del método que está reemplazando.Methods that have no XML documentation can now automatically inherit XML documentation from the method it is overriding. Coloque el cursor sobre el método no documentado que implementa un método de interfaz documentado.Place your cursor over the undocumented method that implements a documented interface method. La información rápida mostrará la documentación XML desde el método de interfaz.Quick Info will then display the XML documentation from the interface method.
XML inherit documentation
Documentación de herencia de XMLXML inherit documentation

XamarinXamarin

Recarga activa de XAML para Xamarin.FormsXAML Hot Reload for 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.XAML Hot Reload for Xamarin.Forms speeds up your development and makes it easier to build, experiment, and iterate on your user interface. 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.You no longer have to rebuild your app each time you tweak your UI – it instantly shows you your changes in your running app.

Publicación del lote de aplicaciones de AndroidAndroid App Bundle Publishing

Ahora puede crear lotes de aplicaciones de Android al publicar aplicaciones Android en Visual Studio.You can now create Android App Bundles when publishing your Android applications in 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.App Bundles provide users with with optimized APKs per their device specifications when downloading an app from the Google Play Store or various Android App Stores.

Android App Bundle Publishing
Publicación del lote de aplicaciones de AndroidAndroid App Bundle Publishing

Asistente para migración de AndroidXAndroidX Migration Wizard

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.You can now use an AndroidX migration wizard to convert your existing Android application to AndroidX from the Android Support Library.

AndroidX Migration Wizard
Asistente para migración de AndroidXAndroidX Migration Wizard

Detección de errores de diseño de AndroidAndroid Layout Linting

Ahora se proporciona un conjunto de problemas comunes al editar los diseños en Android Designer.You are now provided a set of common issues when editing your layouts inside the Android designer.

Android Layout Linting
Detección de errores de diseño de AndroidAndroid Layout Linting

Principales problemas corregidos en Visual Studio 2019, versión 16.4Top Issues Fixed in Visual Studio 2019 version 16.4


Problemas conocidosKnown Issues

Consulte todos los problemas y las soluciones alternativas disponibles de Visual Studio 2019, versión 16.4 en el siguiente vínculo.See all issues and available workarounds in Visual Studio 2019 version 16.4 by following the below link.

Visual Studio 2019 Known Issues Visual Studio 2019 Known Issues


ComentariosFeedback

Nos encantaría que nos diera su opinión.We would love to hear from you! 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.For issues, let us know through the Report a Problem option in the upper right-hand corner of either the installer or the Visual Studio IDE itself. A la claseThe Feedback Icon icono se encuentra en la esquina superior derecha.icon is located in the upper right-hand corner. 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.You can make a product suggestion or track your issues in the Visual Studio Developer Community, where you can ask questions, find answers, and propose new features. También puede obtener ayuda gratuita para la instalación a través de nuestro servicio de soporte técnico de chat en directo.You can also get free installation help through our Live Chat support.


BlogsBlogs

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.Take advantage of the insights and recommendations available in the Developer Tools Blogs site to keep you up-to-date on all new releases and include deep dive posts on a broad range of features.


Historial de notas de la versión de Visual Studio 2019Visual Studio 2019 Release Notes History

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.For more information relating to past versions of Visual Studio 2019, see the Visual Studio 2019 Release Notes History page.


Principio de página
Top of Page