Visual Studio IconNotas de la versión de Visual Studio 2019 16.0


Comunidad de desarrolladores | Requisitos del sistema | Compatibilidad | Código distribuible | Historial de versiones | Términos de licencia | Blogs | Novedades de la documentación de Visual Studio


Nota:

Esta no es la versión más reciente de Visual Studio. Para descargar la versión más reciente, visite el sitio de Visual Studio.



Novedades de la versión de Visual Studio 2019, versión 16.0

Período de tiempo de soporte técnico

La versión 16.0 de Visual Studio 2019 ya no tiene soporte técnico.

Los usuarios de Enterprise y Professional de la versión 16.0 de Visual Studio 2019 contaban con soporte técnico y recibían correcciones de vulnerabilidades de seguridad hasta enero de 2021. Este período de tiempo viene determinado por el hecho de que, en diciembre de 2019, Visual Studio 2019, versión 16.4 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

Consulte la versión más reciente de las notas de la versión o visite el sitio de Visual Studio para descargar la versión más reciente compatible de Visual Studio 2019.

Notas de la versión de Visual Studio 2019, versión 16.0

Blog de Visual Studio 2019

El blog de Visual Studio 2019 es la fuente oficial de información sobre el producto ofrecida por el equipo de ingeniería de Visual Studio. Ahí encontrará información detallada sobre las versiones de Visual Studio 2019.


Release Notes Icon Visual Studio 2019, versión 16.0.22

publicada el 12 de enero de 2020

Aviso de seguridad sobre la versión 16.0.22

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.


Release Notes Icon Visual Studio 2019, versión 16.0.21

Fecha de publicación: 08 de diciembre de 2020

Aviso de seguridad sobre la versión 16.0.21

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.


Release Notes Icon Visual Studio 2019, versión 16.0.20

fecha de publicación: 10 de noviembre de 2020

Aviso de seguridad sobre la versión 16.0.20

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.


Release Notes Icon Visual Studio 2019, versión 16.0.19

Fecha de publicación: 13 de octubre de 2020

En esta versión de 16.0.19

  • El SDK de .NET Core 2.1.616 se agregó a Visual Studio 2019.

Release Notes Icon Visual Studio 2019, versión 16.0.18

publicada el 8 de septiembre de 2020

Incidencia corregida en la versión 16.0.18

  • 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 VS.

Aviso de seguridad sobre la versión 16.0.18

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.


Release Notes Icon Visual Studio 2019, versión 16.0.17

Publicado el 11 de agosto de 2020

Problema corregido en la versión 16.0.17

Aviso de seguridad sobre la versión 16.0.17

CVE-2020-1597 Vulnerabilidad de denegación de servicio de ASP.NET Core

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.


Release Notes Icon Visual Studio 2019, versión 16.0.16

fecha de publicación: 14 de julio de 2020

Incidencias corregidas en la versión 16.0.16

  • Hemos corregido el problema de regresión de CodeGen del compilador para llamar a una función virtual con la versión 15.9.
  • Se ha corregido un error que provocaba que faltaran importaciones en el enlazador de C++ al usar LIB de nivel superior con un uso distinto de mayúsculas y minúsculas en el postfijo del nombre de DLL.
  • Se ha corregido un error en el compilador de C++ para ARM64 que provocaba que se pudieran restaurar valores erróneos después de setjmp.

Aviso de seguridad sobre la versión 16.0.16

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.


Release Notes Icon Visual Studio 2019, versión 16.0.15

Fecha de publicación: 9 de junio de 2020

Incidencias corregidas en la versión 16.0.15

Aviso de seguridad sobre la versión 16.0.15

CVE-2020-1108 / CVE-2020-1108Vulnerabilidad de denegación de servicio de .NET Core

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.

CVE-2020-1293 / CVE-2020-1278 / CVE-2020-1257 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 administra incorrectamente operaciones de archivos


Release Notes Icon Visual Studio 2019, versión 16.0.14

publicada el 12 de mayo de 2020

Incidencias corregidas en la versión 16.0.14

  • 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.0 hospedadas en el Catálogo de Microsoft Update y WSUS.

Aviso de seguridad sobre la versión 16.0.14

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.


Release Notes Icon Visual Studio 2019, versión 16.0.13

Fecha de publicación: 14 de abril de 2020

Aviso de seguridad sobre la versión 16.0.13

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.


Release Notes Icon Visual Studio 2019, versión 16.0.12

Fecha de publicación: 10 de marzo de 2020

Problemas corregidos en la versión 16.0.12

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

CVE-2020-0789 Vulnerabilidad de servicio de la denegación del servicio Instalador de extensiones de Visual Studio

Existe una vulnerabilidad de denegación de servicio cuando el servicio Instalador de extensiones de Visual Studio controla incorrectamente los vínculos físicos. Un atacante que aprovechara esta vulnerabilidad podría provocar que el sistema de destino dejara de responder.


Release Notes Icon Visual Studio 2019, versión 16.0.11

publicada el 14 de enero de 2020

Aviso de seguridad

CVE-2020-0602 Vulnerabilidad de denegación de servicio de ASP.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.

CVE-2020-0603 Vulnerabilidad de ejecución de código remoto de ASP.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 la memoria.


Release Notes Icon Visual Studio 2019, versión 16.0.10

publicada el 10 de diciembre de 2019

Problemas corregidos en la versión 16.0.10

Aviso de seguridad

CVE-2019-1349 Vulnerabilidad de ejecución remota de Git para Visual Studio debido a restricciones poco estrictas en los nombres de submódulo

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.

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 comandos

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.

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ón

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.

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 NTFS

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.

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 inversas

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.

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 recursivos

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.

CVE-2019-1486 Vulnerabilidad de redirección de direcciones URL de la extensión Live Share

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.


Release Notes Icon Visual Studio 2019 versión 16.0.9

publicada el 15 de octubre de 2019

Aviso de seguridad

CVE-2019-1425 Vulnerabilidad de elevación de privilegios de paquete NPM (fecha de publicación: 12 de noviembre de 2019)

Existe una vulnerabilidad de elevación de privilegios cuando Visual Studio no puede validar correctamente vínculos permanentes al extraer archivos archivados. Las vulnerabilidades se presentaron con los paquetes de NPM usados por Visual Studio como se describe en estos dos avisos de NPM: npmjs.com/advisories/803 y npmjs.com/advisories/886. Las versiones actualizadas de estos paquetes de NPM se incluyeron en esta versión de Visual Studio.


Release Notes Icon Visual Studio 2019 versión 16.0.8

publicada el 10 de septiembre de 2019

Problemas corregidos en Visual Studio 2019, versión 16.0.8

Aviso de seguridad

CVE-2019-1232 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 suplanta incorrectamente determinadas operaciones de archivos. Un atacante que logra aprovechar esta vulnerabilidad podría obtener privilegios elevados. Un atacante con acceso sin privilegios a un sistema vulnerable podría aprovechar esta vulnerabilidad. La actualización de seguridad soluciona la vulnerabilidad al garantizar que el servicio recopilador estándar del concentrador de diagnósticos suplanta correctamente las operaciones de archivos.


Release Notes Icon Visual Studio 2019, versión 16.0.7

publicado el 13 de agosto de 2019

Problemas corregidos en Visual Studio 2019, versión 16.0.7

Aviso de seguridad

CVE-2019-1211 Vulnerabilidad de elevación de privilegios de Git para Visual Studio

En Git para Visual Studio, existe una vulnerabilidad de elevación de privilegios al analizar de forma incorrecta archivos de configuración. Un atacante que haya aprovechado correctamente la vulnerabilidad podría ejecutar código en el contexto de otro usuario local. Para aprovechar la vulnerabilidad, un atacante autenticado tendría que modificar los archivos de configuración de Git en un sistema antes de una instalación completa de la aplicación. Después, el atacante tendría que convencer a otro usuario del sistema para que ejecutara comandos de Git específicos. La actualización soluciona el problema al cambiar los permisos necesarios para editar los archivos de configuración.

**CVE-2019-1301: Vulnerabilidad de denegación de servicio en .NET Core

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.

La actualización corrige la vulnerabilidad mediante la corrección de cómo las aplicaciones web .NET Core controlan las solicitudes web.


Release Notes Icon Visual Studio 2019, versión 16.0.6

publicado el 9 de julio de 2019

Problemas corregidos en Visual Studio 2019, versión 16.0.6

  • Se ha corregido la compatibilidad del narrador en sistemas que se ejecutan en Windows 10 versión 1903 o con .NET 4.8 instalado.

Aviso de seguridad

CVE-2019-1075 Vulnerabilidad de suplantación de ASP.NET Core

Hoy se han publicado actualizaciones de .NET Core, incluidas también en esta actualización de Visual Studio. Esta versión corrige problemas de seguridad y otros problemas importantes. Encontrará los detalles en las notas de la versión de .NET Core.

CVE-2019-1077 Vulnerabilidad en la actualización automática de extensiones de Visual Studio

Existe una vulnerabilidad de elevación de privilegios cuando el proceso de actualización automática de extensiones de Visual Studio realiza determinadas operaciones de archivo de manera incorrecta. Un atacante que logra aprovechar esta vulnerabilidad podría eliminar archivos en ubicaciones arbitrarias. Para aprovechar esta vulnerabilidad, un atacante necesitaría acceso sin privilegios a un sistema vulnerable. La actualización de seguridad soluciona la vulnerabilidad al garantizar la seguridad de las ubicaciones en las que la actualización automática de extensiones de Visual Studio realiza operaciones de archivos.

CVE-2019-1113 La deserialización de XOML de WorkflowDesigner permite la ejecución de código

Un archivo XOML referente a determinados tipos podía provocar la ejecución de código aleatorio al abrirlo en Visual Studio. Ahora hay una restricción sobre los tipos que pueden usarse en los archivos XOML. Si se abre un archivo XOML que contiene uno de los tipos recientemente no autorizados, se mostrará un mensaje para explicarlo.

Para obtener más información, consulte https://support.microsoft.com/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.


Release Notes Icon Visual Studio 2019, versión 16.0.5

publicado el 11 de junio de 2019

Problemas corregidos en Visual Studio 2019, versión 16.0.5


Release Notes Icon Visual Studio 2019, versión 16.0.4

publicado el 14 de mayo de 2019

Problemas corregidos en Visual Studio 2019, versión 16.0.4

Aviso de seguridad

CVE-2019-0727 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 centro de diagnósticos realiza incorrectamente determinadas operaciones de archivos. Un atacante que logra aprovechar esta vulnerabilidad podría eliminar archivos en ubicaciones arbitrarias. Para aprovechar esta vulnerabilidad, un atacante necesitaría acceso sin privilegios a un sistema vulnerable. La actualización de seguridad soluciona la vulnerabilidad al garantizar la seguridad de las ubicaciones en las que el recopilador estándar del centro de diagnósticos realiza operaciones de archivos.


Release Notes Icon Visual Studio 2019, versión 16.0.3

publicada el 30 de abril de 2019

Novedades de Visual Studio 2019, versión 16.0.3

  • Visual Studio Tools para Kubernetes ahora es compatible con las instancias más recientes de Azure Dev Spaces.

Problemas corregidos en Visual Studio 2019, versión 16.0.3


Release Notes Icon Visual Studio 2019, versión 16.0.2

publicada el 18 de abril de 2019

Problemas corregidos en Visual Studio 2019, versión 16.0.2


Release Notes Icon Visual Studio 2019, versión 16.0.1

publicada el 9 de abril de 2019

Principales problemas corregidos en Visual Studio 2019, versión 16.0.1


Release Notes Icon Visual Studio 2019

publicado el 2 de abril de 2019

Resumen de las novedades de Visual Studio 2019

Instalar

IDE

  • Colabore con otros usuarios mediante Visual Studio Live Share, que se instala de forma predeterminada. La compatibilidad con lenguajes adicionales para C++, VB.NET y Razor ofrece a los invitados una vista de la solución y el uso compartido de las diferencias de control de código fuente.
  • Abra el código en el que se ha trabajado recientemente o comience desde uno de los flujos usados más comúnmente, como clonar, abrir o crear un proyecto mediante la nueva ventana de inicio.
  • Cree nuevos proyectos con una experiencia de búsqueda mejorada y filtros con la nueva lista de plantillas almacenadas por popularidad.
  • Tiene más espacio vertical para el código y una apariencia modernizada a través de un conjunto de nuevos cambios visuales en el shell.
  • Obtenga una versión más nítida de su IDE, independientemente de la configuración de visualización o del escalado, ya que se ha mejorado la compatibilidad para un reconocimiento por monitor.
  • Aproveche la funcionalidad de búsqueda mejorada de Visual Studio para menús, comandos, opciones y componentes instalables.
  • Comprenda rápidamente el estado del archivo de código con un indicador de documento. Ejecute y configure mediante un código de un clic desde el indicador.
  • Administre fácilmente las características en vista previa a las que se ha suscrito con una nueva página Características de vista previa en el cuadro de diálogo Opciones.
  • Cree proyectos con las mejoras de búsqueda basada en etiquetas y una lista de "Plantillas de proyecto recientes" fácilmente accesible.
  • Cree elementos directamente desde Buscar en Visual Studio y encuentre resultados más rápido con la relevancia mejorada.
  • Manténgase al día sobre información importante, como las solicitudes de Visual Studio Live Share, con una nueva experiencia de notificaciones.
  • Guarde una colección de reparadores de limpieza de código como un perfil para seleccionar fácilmente los reparadores que quiere ejecutar durante la limpieza del código.
  • Desencadene nuevas correcciones de código y refactorizaciones de .NET.
  • Configure proyectos de .NET Core con más facilidad con archivos del proyecto de primera clase.
  • Vea el estado de las extensiones con etiquetas como Versión preliminar, Pagada y Prueba en el cuadro de diálogo Extensiones y actualizaciones.
  • Compruebe y configure qué características en vista previa quiere activar desde que se restablecieron los valores predeterminados en esta versión preliminar.
  • Mantenga las extensiones actualizadas mediante la exclusión de determinadas API de Ventana de pruebas que se han marcado como en desuso en esta versión.
  • Desde la ventana de inicio puede iniciar sesión, explorar y clonar con un solo clic o conectarse a los repositorios hospedados de Azure DevOps.
  • Instale extensiones de otros hosts de control de código fuente para ver los repositorios de su organización y los suyos propios.
  • Disfrute de un tema azul renovado en el que, teniendo en cuenta los comentarios de los usuarios, se ha reducido la luminosidad, se ha mejorado el contraste y se han abordado otros problemas de usabilidad.
  • Aplique las preferencias de estilo de código desde la línea de comandos con la herramienta global dotnet format.
  • MSBuild y Visual Studio ahora tienen como destino .NET Framework 4.7.2 de forma predeterminada.
  • Se han quitado del Explorador de servidores las características relacionadas con Azure App Service y, en su lugar, se ofrece una función equivalente en Cloud Explorer.

Rendimiento

Depuración y diagnóstico general

  • Busque palabras clave dentro de las ventanas Inspección, Automático y Variables locales mientras depura, a fin de mejorar la capacidad de encontrar objetos o valores.
  • Vea una lista desplegable de especificadores de formato en las ventanas Inspección, Automático y Variables locales al inspeccionar los datos.
  • Use un visualizador personalizado, ahora compatible con .NET Core.
  • Depure aplicaciones muy grandes con un gran número de módulos y archivos PDB.
  • Inicie Google Chrome con argumentos personalizados y depure las aplicaciones de JavaScript desde el IDE de Visual Studio.
  • Use Resaltado de ruta de acceso activa para herramientas de la CPU y de asignación de objetos de DotNet en el Generador de perfiles de rendimiento.
  • Use puntos de interrupción de datos, una característica inicialmente exclusiva de C++, para realizar una interrupción cuando el valor de una propiedad de un objeto específico cambie en aplicaciones .NET Core 3.0 y posteriores.
  • Desde la versión Preview 1, hemos actualizado la interfaz de usuario para realizar búsquedas en las ventanas Automático, Locales e Inspección con una interfaz más sencilla. La función Profundizar la búsqueda se ha convertido en un desplegable en el que se puede seleccionar rápidamente la profundidad deseada para las búsquedas inicial y posteriores.

Control de código fuente y Team Explorer

  • Almacene los cambios temporalmente para poder trabajar en otra tarea con la compatibilidad de herramientas Git de Team Explorer para el guardado provisional de Git.
  • Consulte la extensión opcional disponible en Visual Studio Marketplace, Pull Request for Visual Studio, que integra las revisiones de solicitud de incorporación de cambios en Visual Studio.
  • Use la nueva experiencia de elemento de trabajo de Azure DevOps que se centra en los flujos de trabajo de desarrollador, incluidas vistas de elementos de trabajo específicas del usuario, que crea una rama desde un elemento de trabajo, busca elementos de trabajo con #menciones y edición directa.

Extensibilidad

  • Use un solo SDK de Visual Studio unificado en el paquete NuGet Microsoft.VisualStudio.SDK.
  • Aproveche las ventajas de un proyecto VSIX actualizado, que ahora incluye una clase AsyncPackage.
  • Experimente con la nueva plantilla Proyecto VSIX vacío que hemos agregado.
  • Sepa si una extensión es gratis, de pago o de prueba, tal como se indica ahora dentro del cuadro de diálogo Extensiones y actualizaciones.

Lenguajes de programación

C#

Experimente una versión preliminar de las características de lenguaje versión 8.0 con las que el compilador C# es ahora compatible, incluyendo:

  • Tipos de referencia que aceptan valores NULL: Cuando se activa la característica (por ejemplo, con #nullable enable o en el nivel de proyecto con <NullableContextOptions>enable</NullableContextOptions>), los tipos de referencia se tratan como tipos que admiten un valor NULL si se anotan con ?, y como tipos que no aceptan valores NULL en caso contrario. Después, el compilador analiza el flujo de los valores NULL y advierte sobre probables usos no seguros.
  • Expresiones switch: ofrece semántica similar a switch en el contexto de una expresión.
  • Coincidencia de patrones recursiva: los nuevos patrones permiten probar campos o propiedades y elementos posicionales (de tuplas o deconstrucción).
  • Compatibilidad con tipos Range y Index que se usan en CoreFX para segmentar, incluida la sintaxis literal x..y para intervalos.
  • Las secuencias asincrónicas representadas por IAsyncEnumerable<T> se pueden enumerar de forma asincrónica con await foreach y pueden producirse con métodos de iterador en async IAsyncEnumerable<T>.
  • Declaraciones using: elimine el final del bloque actual, sin aumentar el nivel de anidamiento. Las estructuras ref pueden eliminarse mediante la implementación de un método Dispose() público.
  • Funciones locales static: las funciones locales marcadas con static no pueden hacer referencia a this o variables en las funciones envolventes.
  • Las expresiones lambda y las funciones locales ahora pueden declarar parámetros y variables locales que ocultan nombres de variables de las funciones envolventes.
  • Asignación de combinación de NULL: x ??= y; solo asigna y a x si x era null.

Obtenga más información en la introducción a C# 8.0 de Mads.

Consulte el estado de la característica de lenguaje de C# y los cambios importantes para obtener más información.

Además, puede usar características del lenguaje más modernas de C# en Visual Studio de forma predeterminada.

C++
  • Ahorre tiempo al escribir código de C++ y XAML con Visual Studio IntelliCode, una extensión opcional que proporciona recomendaciones asistidas por inteligencia artificial para el código.
  • Experimente las advertencias de análisis de código en el editor. Los análisis de código se ejecutan automáticamente en segundo plano y las advertencias se muestran con subrayado ondulado de color verde.
  • Pruebe la nueva barra de plantillas, que usa la interfaz de usuario de ventana de inspección y admite plantillas anidadas.
  • Ejecute la nueva implementación actualizada del Comprobador de perfil de duración de C++.
  • Configure los proyectos de CMake con el nuevo Editor de configuración de CMake, que ofrece una alternativa a CMakeSettings.json.
  • Pruebe un sinfín de mejoras de back-end, como por ejemplo, vectorización de OpenMP SIMD, aumentos de velocidad de tiempo de vínculo y una inclusión entre líneas más agresiva.
  • Abra las memorias caché de CMake existentes generadas por herramientas externas, como CMakeGUI, o por sistemas de compilación de metadatos personalizados.
  • Mejore el análisis con /Qspectre para proporcionar asistencia de mitigación en Spectre Variant 1 (CVE-2017-5753). Para obtener más información, consulte la publicación del blog del equipo de Visual C++.
  • Cambie rápidamente entre los argumentos de ejemplo anterior, ahora que la barra de plantilla para la plantilla IntelliSense tiene una lista desplegable de Usados recientemente.
F#
  • F# 4.6 se ha publicado junto con otras mejoras del compilador.
  • Se ha mejorado el rendimiento de las soluciones más grandes y se han corregido varios errores en F# y sus herramientas.
  • Obtenga información sobre el impresionante trabajo realizado por los colaboradores de código abierto para el lenguaje y las herramientas F#.
JavaScript/TypeScript
Python
  • Agregue fácilmente entornos virtuales y de conda de Python mediante el cuadro de diálogo Agregar entorno de Python.
  • Trabaje de manera más sencilla con entornos de Python, incluida la compatibilidad mejorada con áreas de trabajo de carpeta abierta gracias a una nueva barra de herramientas del selector de entorno de Python.
  • Cree sesiones de Visual Studio Live Share y colabore en código de Python con otros usuarios de Visual Studio.

Tecnologías web

Herramientas de contenedor

  • Disfrute de una experiencia simplificada de proyecto único para las acciones de depuración e incluir en contenedor.
  • Aproveche la compatibilidad adicional para depurar imágenes de Alpine e imágenes base adicionales.

Desarrollo móvil con Xamarin

Plataforma universal de Windows (UWP)

  • Conserve los comentarios, el espaciado, los espacios de nombres y otros cambios en el texto al realizar cambios desde el diseñador. El diseñador de manifiesto de paquete ahora mantiene la fidelidad estricta con respecto a los cambios de xml en el archivo Package.appxmanifest.
  • Use el proyecto Paquete de aplicación de Windows para proyectos de .NET Core para generar paquetes MSIX.
  • Use el Asistente para crear paquetes para el envío directo a Microsoft Store.
  • La implementación en dispositivos con Windows Mobile ya no se admite en Visual Studio 2019. Los intentos para implementar en un dispositivo Windows 10 Mobile producirán el siguiente error: "La implementación en dispositivos de Windows Mobile no se admite en Visual Studio de 2019". Si necesita seguir trabajando en una aplicación para dispositivos Windows 10 Mobile, continúe usando Visual Studio 2017.

Herramientas de depuración de XAML:

  • Editar XAML y continuar ahora admite x:bind (UWP): Editar XAML y continuar ahora admite la edición de enlaces de datos creados con x:bind para las rutas de acceso que contienen propiedades públicas, nombre de elemento, rutas de acceso de propiedad indexadas (colecciones), propiedades adjuntas y propiedades de conversión. No se admiten otros cambios. Esta mejora está disponible para cualquier aplicación en la que las versiones mínima y máxima tengan como destino la versión 1809 del SDK de Windows 10 (compilación 10.0.17763) o posterior. (Nota: ahora Editar XAML y continuar se conoce como Recarga activa de XAML a partir de Visual Studio 2019 Update 2+).

SQL Server Data Tools

  • Experimente unos SSDT y DacFX actualizados que ahora incluyen compatibilidad con la intercalación de UTF-8.

Detalles de las novedades de Visual Studio 2019

Instalar

  • Ahora puede elegir cómo instalar las actualizaciones de Visual Studio. El modo predeterminado es "Descargar e instalar todo", que permite seguir usando Visual Studio mientras se descargan las actualizaciones. Tenga en cuenta que si selecciona "Descargar e instalar todo", tendrá que abrir el Instalador de Visual Studio y seleccionar Continuar para poder completar la instalación.
  • Ahora las actualizaciones de Visual Studio se descargarán en segundo plano. Estas descargas solo se producen cuando la máquina está inactiva. Cuando se completen las descargas, se mostrará una notificación en Visual Studio que indica que la descarga ya está lista para instalarse.
  • Ahora puede controlar el modo de instalación de las actualizaciones y si quiere descargarlas o no a través del menú Herramientas > Opciones, con solo cambiar la configuración en la página Actualizaciones de productos.
Product Update Options
*Opciones de actualización de productos*

Ventana de inicio

La nueva ventana de inicio proporciona una experiencia de inicio simplificada para ayudar a acceder rápidamente al código al iniciar Visual Studio.

  • Vea los proyectos y las carpetas recientes, y ábralos con un solo clic. Ancle y quite elementos de la lista mediante el menú contextual.
  • Clone o restaure código mediante el uso de cualquier dirección URL de git pública o privada, lo que también abrirá automáticamente la carpeta en el IDE.
  • Inicie sesión, explore y clone o conéctese con un solo clic a los repositorios hospedados de Azure DevOps, o instale extensiones para otros hosts de control de código fuente para ver los repositorios que le pertenecen a usted y a su organización.
  • Examine su disco local o recurso compartido de red en busca de proyectos, soluciones o cualquier carpeta que contenga código, y ábralos en el IDE.
  • Seleccione una plantilla de proyecto que le proporcione la técnica scaffolding de código para ayudarle a empezar a trabajar con un nuevo proyecto o solución.
  • Busque plantillas de proyecto por título, descripción y etiquetas, o filtre los idiomas, las plataformas y los tipos de proyecto disponibles. La lista predeterminada muestra todas las plantillas disponibles, mientras que en el panel izquierdo aparece una lista de las principales 10 plantillas de proyectos usadas recientemente, para un acceso rápido. Un asistente de dos páginas le permite concentrarse en una decisión a la vez.
Start window
*Nueva experiencia de la ventana de inicio*

Shell y plataforma

  • Detecte rápidamente qué versión de Visual Studio está abriendo y usando a través del nuevo y mejorado icono del producto. El nuevo icono también es más visible contra una variedad de fondos.
  • Disfrute de una apariencia modernizada de Visual Studio con nuestro tema azul actualizado que proporciona una interfaz de usuario más limpia, a la vez que sigue cumpliendo nuestros estándares de accesibilidad.
  • Vea más código gracias a los cambios que logran compacidad y recuperan espacio vertical en el IDE. Hemos combinado la barra de título y la barra de menús, a la vez que conservan también la funcionalidad existente.
  • Use Visual Studio como una aplicación de reconocimiento por monitor por medio de una nueva configuración experimental. Cuando esta configuración está activada, permite que partes de Visual Studio, como el editor y el shell, tengan una representación más nítida, independientemente de la configuración de visualización o el escalado.
  • Disfrute de una experiencia de búsqueda mejorada entre los menús, comandos, opciones y componentes instalables. Nuestra nueva búsqueda ahora muestra resultados de forma dinámica, tiene en cuenta los errores ortográficos y proporciona la información pertinente (por ejemplo, los métodos abreviados de teclado) dentro de los resultados de búsqueda.
Visual Studio Search with results
*Búsqueda mejorada en Visual Studio*
  • Vea la información de estado asociada con el archivo abierto actualmente a través de la característica de indicador de estado del documento.
Document Health Indicator with issues
*Indicador de estado del documento: error en el documento*
Document Health Indicator with no issues
*Indicador de estado del documento: ningún error*
  • Si es desarrollador de C#, puede limpiar rápidamente algunas de las sugerencias de codificación más comunes mediante Limpieza de código.
  • Seleccione el conjunto de reparadores que le gustaría que se ejecutaran mediante la configuración de Limpieza de código.
Code Cleanup configuration dialog
*Configuración de la limpieza de código*
  • Vea el contenido del historial del Portapapeles a través de un menú contextual que extiende el Anillo del Portapapeles (Ctrl + Mayús + V).
Clipboard Ring context menu
*Menú contextual del Anillo del Portapapeles*
  • Hemos mejorado la experiencia de búsqueda al:
    • Agregar filtros para los menús, los componentes y las plantillas
    • Incorporar las selecciones de búsqueda para ofrecer los resultados de búsqueda más relevantes
    • Permitir crear y agregar nuevos proyectos y elementos a la solución directamente desde la búsqueda de Visual Studio
  • La experiencia mejorada de Reconocimiento por monitor (PMA) ahora está activada de forma predeterminada para los usuarios que cumplan el conjunto mínimo de requisitos (.NET 4.8 Preview y Windows 10 actualización de abril de 2018 o posterior). Las ventanas de herramientas, como el cuadro de herramientas, los puntos de interrupción, la inspección, las variables locales, la configuración automática y la pila de llamadas se han convertido a PMA y se representan de forma más clara, independientemente de la configuración de presentación o escalado.
  • La nueva experiencia de notificaciones agrega:
    • Un nuevo icono y contador en la barra de estado
    • Un nuevo mecanismo de notificaciones del sistema
    • Notificaciones de expiración de licencias de Actualizaciones de Visual Studio y Visual Studio
  • Se trata de una experiencia revisada del tema azul que tiene en cuenta los comentarios de usuarios y reduce la luminosidad para mejorar el contraste, además de solucionar otros problemas de uso.
  • Capacidad mejorada de arrastre de ventanas aprovechando el espacio libre disponible en la región de la barra de herramientas como una región a la que se puede arrastrar.
  • Ahora puede guardar una colección de reparadores de limpieza de código como un perfil para seleccionar rápidamente el conjunto de reparadores que quiere ejecutar durante la limpieza del código.
Visual Studio Code Cleanup Profiles
*Perfiles de limpieza de Visual Studio Code*
  • Hemos agregado etiquetas en el cuadro de diálogo Extensiones y actualizaciones que permitirán a los usuarios conocer rápidamente si una extensión está en versión preliminar, es de pago o se encuentra en un período de evaluación.
Extensions and Updates dialogs with tags
*Cuadro de diálogo Extensiones y actualizaciones con etiquetas*
  • La manera recomendada de implementar información sobre herramientas de datos en Visual Studio 2019 y versiones posteriores es ahora IAsyncQuickInfoSourceProvider. Las API heredadas Información rápida del Editor IVsTextTipData y TextTipData están en desuso en Visual Studio 2019 Preview 1.
  • Las etiquetas inteligentes del Editor (familia de interfaces ISmartTag* en el espacio de nombres Microsoft.VisualStudio.Language.Intellisense) han quedado en desuso en favor de la API Bombilla y ya no se admiten a partir de Visual Studio 2019 Preview 1.
  • Las opciones de la solución Mostrar configuraciones de compilación avanzadas, Mostrar solución siempre y Guardar nuevos proyectos al crearlos se han quitado debido a su bajo uso. Estos valores se han establecido en su valor predeterminado de Verdadero.
  • Opte por recibir o no ciertas características de vista previa mediante la nueva página Características de vista previa que se encuentra en Herramientas > Opciones > Entorno > Características de vista previa.

Rendimiento

  • Hemos agregado un nuevo acceso directo a Compilar selección para carpetas y soluciones: Ctrl + B.
  • Abra rápidamente soluciones de gran tamaño cargando la solución con todos los proyectos descargados. Do not load projects
  • Elija qué proyectos cargar en la solución abierta con los archivos de filtro de la solución.
    • Cree un archivo de filtro de la solución descargando los proyectos que no quiere que se abran automáticamente, haciendo clic con el botón derecho en la solución y seleccionando Guardar como filtro de soluciones. A continuación, puede usar el archivo de filtro para abrir la solución para usos posteriores. Solution filters
  • Hemos agregado un comando para compilar todos los archivos CMake: Ctrl + Mayús + B.
  • Hemos mejorado el rendimiento de IntelliSense en archivos de C++ en proyectos de CMake.
  • Hemos agregado un comando para cargar dependencias de proyectos sin cargar en los menús contextuales de proyectos y soluciones.
  • Las sugerencias de notificación para mejorar el rendimiento de Visual Studio ahora se conservan en el centro de rendimiento, al que se accede a través de Ayuda > Administrar el rendimiento de Visual Studio.
  • Ahora puede ver el progreso de carga de la solución en el Centro de estado de tareas, así como las alertas cuando finalizan las cargas de la solución.
  • Elija qué proyectos cargar en la solución abierta con los archivos de filtro de la solución.
    • Cree un archivo de filtro de la solución descargando los proyectos que no quiere que se abran automáticamente, haciendo clic con el botón derecho en la solución y seleccionando Guardar como filtro de soluciones. A continuación, puede usar el archivo de filtro para abrir la solución para usos posteriores.
  • Experiencia mejorada para detección de recursos y búsqueda de archivos al usar Ctrl+T en escenarios de Abrir carpeta.
  • Verá mejoras de rendimiento ahora que el editor de Visual Studio limitará el impacto de los componentes auxiliares en el rendimiento de la escritura. En particular, cancelará automática las operaciones de larga ejecución, que no sean esenciales al escribir.
  • Puede configurar el comportamiento de limitación de los componentes auxiliares de Visual Studio en Herramientas > Opciones > Editor de texto > Opciones avanzadas:
Visual Studio Typing Latency Options
*Opciones de latencia de escritura de Visual Studio*
  • Ahora puede deshabilitar la restauración del estado de jerarquía del proyecto de la sesión anterior en la ventana de herramientas del Explorador de soluciones. Este cambio se ha implementado porque la restauración de la jerarquía del proyecto de la sesión anterior en la apertura de la solución puede retrasar la carga de solución.
    • Alterne esta opción en Herramientas > Opciones > Proyectos y soluciones > General.
Solution load restore settings
*Configuración de la restauración de la carga de soluciones*
* Ahora puede deshabilitar la restauración del estado de la ventana de herramientas de la sesión anterior y, en su lugar, cargar siempre el Explorador de soluciones y Team Explorer en el inicio. Este cambio se ha implementado porque restaurar las ventanas de herramientas de sesiones anteriores puede retrasar la carga de las soluciones en el inicio. * Alterne esta opción en **Herramientas > Opciones > Entorno > Inicio**.

Depuración y diagnóstico general

Depuración general
  • Resalte, busque y navegue con palabras clave con nuestra nueva característica de búsqueda que se ha integrado en las ventanas Inspección, Automático y Variables locales.
Searching for keywords in Watch
Búsqueda en la ventana Inspección
  • Vea una lista desplegable de especificadores y opciones para dar formato a datos en las ventanas Inspección, Automático y Variables locales mediante la anexión de una coma para un elemento de lista.
Format Specifier Dropdown List in Watch
Lista desplegable del especificador de formato en la ventana Inspección
  • Ahora puede usar compatibilidad personalizada y de Visualizador del conjunto de datos para .NET Core.
DataSet Visualizer for .NET Core
Visualizador de conjuntos de datos para aplicaciones de .NET Core
  • Para aplicaciones de C++ que se ejecutan en Windows, PDB ahora se carga en un proceso independiente de 64 bits. Este cambio soluciona una variedad de bloqueos provocados por memoria insuficiente del depurador al depurar aplicaciones que contienen un gran número de módulos y archivos PDB.
Puntos de interrupción de datos administrados

Ahora puede usar puntos de interrupción de datos, una característica inicialmente exclusiva de C++, para realizar una interrupción cuando el valor de una propiedad de un objeto específico cambie en aplicaciones .NET Core 3.0 versiones y posteriores. Se trata de una buena alternativa a la práctica de colocar simplemente un punto de interrupción en un establecedor de una propiedad, dado que un punto de interrupción de datos puede centrarse en una propiedad específica de un objeto, incluso cuando está fuera del ámbito, mientras que la opción anterior puede suponer interrupciones constantes e irrelevantes si hay cientos de objetos llamando a esa función.

Data breakpoints for .NET Core
Puntos de interrupción de datos en la aplicación de .NET Core
Actualizaciones de la experiencia de usuario al realizar búsquedas en la ventana Inspección

Hemos actualizado la interfaz de usuario para realizar búsquedas en las ventanas Automático, Locales e Inspección con una interfaz más sencilla. La función Profundizar la búsqueda se ha convertido en un desplegable en el que se puede seleccionar rápidamente la profundidad deseada para las búsquedas inicial y posteriores.

Aplicación de preferencias de estilo del código
  • Ahora puede aplicar las preferencias de estilo de código desde la línea de comandos con la herramienta global dotnet format. Para su instalación, necesitará el SDK de .NET Core 2.1 o posterior. Ejecute el comando siguiente en su terminal favorito: dotnet tool install -g dotnet-format --version 3.0.0-beta4-19105-10
dotnet format video
Ejecute dotnet format desde la línea de comandos.

Extensibilidad

  • Ya no podrá instalar las extensiones creadas con el formato de extensión vsixmanifest V1 en Visual Studio 2019. V1 se introdujo en Visual Studio 2010 y ha quedado en desuso en Visual Studio 2017, ya que podía causar problemas de confiabilidad con Visual Studio. En Visual Studio 2019, se quitó completamente la compatibilidad con V1. Las extensiones destinadas a Visual Studio 2019 deben ser V2 o V3 regeneradas del formato vsixmanifest.
  • Ahora se le notificará cuando una extensión se cargue automáticamente de forma sincrónica. Tenga en cuenta que la extensión se cargará y funciona de manera normal en esta versión, pero se corre el riesgo de no funcionar en la próxima actualización de Visual Studio 2019. Para más información, consulte nuestra publicación de blog sobre la mejora de la capacidad de respuesta de escenarios críticos mediante la actualización del comportamiento de carga automática de las extensiones.
Paquete NuGet de SDK unificado

En el pasado, los creadores de extensiones debían realizar muchas referencias independientes a los distintos paquetes NuGet del SDK de Visual Studio que necesitaban para usar en su extensión. Las versiones de los distintos paquetes no siempre estaban alineadas y, a menudo, eso daba lugar a conflictos de dependencia en tiempo de compilación, así como a problemas en tiempo de ejecución.

Para solucionar estos problemas, use el nuevo paquete denominado Microsoft.VisualStudio.SDK que contiene las dependencias en todos los paquetes que componen el SDK de Visual Studio. Esto resuelve el problema de las discrepancias de versión y, además, facilita saber la versión que debe usarse. Basta con usar la versión del paquete que se corresponde con la versión más antigua de Visual Studio admitida por su extensión, y tendrá acceso a todo el SDK.

En este momento solo existe la versión 15.9 del paquete del SDK, pero en los próximos meses se publicarán más versiones hasta la 14.0.

Plantillas de proyecto nuevas y actualizadas

La plantilla Proyecto de VSIX se ha sometido a varias actualizaciones para simplificarla y mejorarla:

  • se usa el nuevo paquete NuGet de SDK unificado;
  • incluye una clase AsyncPackage;
  • ya no requiere un archivo .resx para compilar un paquete;
  • tiene como destino .NET Framework 4.7.2.

Se ha creado una plantilla nueva llamada Proyecto VSIX vacío que es igual que la plantilla Proyecto de VSIX, pero sin la clase AsyncPackage. También hace referencia al paquete NuGet de SDK unificado, lo que proporciona un buen punto de partida para las extensiones MEF y otros tipos de extensión sin paquete.

Gratis, de pago y de prueba

No era fácil ver si una extensión era gratis, de pago o de prueba. Esto ahora ha cambiado y, dentro del cuadro de diálogo Extensiones y actualizaciones, se marca claramente si cada una de las extensiones es de prueba o de pago. Las extensiones que no tienen una etiqueta de versión de prueba o de pago son gratuitas.

Herramientas de prueba

Se han agregado a la lista de características obsoletas varias API más en la ventana de prueba que antes no estaban documentadas pero estaban marcadas como públicas.

Control de código fuente

  • Almacene los cambios temporalmente para poder trabajar en otra tarea con la compatibilidad de herramientas Git de Team Explorer para el guardado provisional de Git.
  • Revise, ejecute e, incluso, depure las solicitudes de incorporación de cambios desde Azure Repos sin salir del IDE mediante nuestra experiencia de solicitud de incorporación de cambios completamente nueva en Visual Studio 2019. Para empezar, puede descargar la extensión Pull Requests for Visual Studio de Visual Studio Marketplace.
New Pull Request Experience
Nueva experiencia de solicitud de incorporación de cambios

MSBuild

  • La versión del conjunto de herramientas de MSBuild ha cambiado de 15.0 a Current. MSBuild.exe ahora está en %VSINSTALLDIR%\MSBuild\Current\Bin\MSBuild.exe.
  • MSBuild (y Visual Studio) ahora tiene como destino .NET Framework 4.7.2. Si quiere usar las nuevas características de API de MSBuild, también debe actualizar el ensamblado, pero el código existente seguirá funcionando.

C#

Para todas las versiones anteriores a Visual Studio 2019, el valor predeterminado de versión de lenguaje de C# siempre era equivalente a la versión principal más reciente. En Visual Studio 2017, C# evolucionó y se publicaron tres versiones secundarias: 7.1, 7.2 y 7.3. Pero los nuevos proyectos seguían teniendo como valor predeterminado C# 7.0. Esto resultaba frustrante para los desarrolladores de C# que querían utilizar las nuevas características, pero tenían que cambiar manualmente la versión de idioma para cada nuevo proyecto.

Para solucionar este problema, el valor predeterminado de versión de lenguaje de C# estará determinado por su plataforma de destino:

  • Si tiene como destino la versión preliminar de .NET Core 3.0, la versión de lenguaje de C# será la versión preliminar de C# 8.0.
  • Si tiene como destino .NET Framework o cualquier versión que no sea preliminar de .NET Core, la versión del lenguaje de C# será C# 7.3.

Esto permite el uso de las características de lenguaje de C# estables más recientes de forma predeterminada y, cuando se usan versiones preliminares de .NET Core, el uso de las características de lenguaje de versión preliminar de C# 8.0 que se alinean con la Versión preliminar de .NET Core 3.0.

Si especifica una versión de lenguaje a través de LangVersion en un archivo de propiedades o proyecto, esa versión de lenguaje invalida el valor predeterminado descrito anteriormente.

C++

  • Colabore en tiempo real ahora que Visual Studio Live Share admite C++.
  • Ahorre tiempo al usar IntelliCode, una extensión opcional que usa su amplio aprendizaje y su contexto de código para colocar lo que es más probable que use en la parte superior de la lista de finalización. Para C++, IntelliCode ofrece más ayuda al usar bibliotecas populares, como STL.
  • Hemos modificado varios nombres y descripciones de plantilla de proyecto para que quepan en el cuadro de diálogo Nuevo proyecto actualizado.
  • Hemos quitado el componente experimental Clang/C2. Use el conjunto de herramientas MSVC para un cumplimiento total de los estándares de C++ con /permissive- o /std:c++17 o la cadena de herramientas Clang/LLVM para Windows. Consulte el blog del equipo de Visual C++ para obtener más detalles.
  • El conmutador /Gm del Compilador de C++ está en desuso. Considere la posibilidad de deshabilitar el conmutador /Gm en los scripts de compilación si se define explícitamente. Como alternativa, también puede ignorar de manera segura la advertencia de desuso de /Gm, ya que no se tratará como error cuando use "Tratar advertencias como errores" (/WX).
  • La experiencia Android de C++ ahora toma como valor predeterminado el Android SDK 25 y el Android NDK 16b.
Productividad
  • El análisis de código ahora se ejecuta automáticamente en segundo plano. Las advertencias se muestran como líneas verdes onduladas dentro del editor a medida que escribe.
  • Ahora, la barra de plantillas usa la interfaz de usuario de ventana de inspección en lugar de una ventana modal, admite plantillas anidadas y rellena los argumentos predeterminados en la ventana de inspección.
  • Una corrección automática para la advertencia de análisis de código NULL->nullptr (C26477 USE_NULLPTR_NOT_CONSTANT) está disponible a través del menú de bombilla en las líneas pertinentes, habilitado de forma predeterminada en el conjunto de reglas de tipo de C++ Core Check. Las correcciones rápidas adicionales en el IDE incluyen la adición de directivas #include que faltan, la corrección de puntos y comas que faltan y la corrección del uso de "*" frente a "&".
  • Los encabezados precompilados ya no se generan de forma predeterminada para la consola de C++ y las aplicaciones de escritorio.
  • Ir a definición ahora funciona en directivas #include y abre el archivo correspondiente. Esto incluye el método abreviado F12, que proporciona una manera sencilla de navegar por el código.
  • Si mantiene el mouse sobre una llave de cierre de un bloque de código, se muestra información útil sobre el contexto de ese bloque.
  • Hemos agregado compatibilidad en ConcurrencyChecker para tipos conocidos de STL desde el encabezado <mutex>.
  • Una implementación parcial actualizada de Comprobador de perfil de duración está disponible para detectar punteros y referencias pendientes.
  • Hemos agregado compatibilidad inicial en el compilador para el operador C++20 <=> ("nave espacial") para la comparación de tres vías.
CMake
  • Hemos mejorado el rendimiento de IntelliSense para archivos de C++ en proyectos de CMake.
  • Visual Studio impulsa el desarrollo en C++ mediante CMake en Linux, ya que detecta si tiene una versión compatible de CMake en su equipo Linux. Si no la tiene, ofrece la posibilidad de instalarla automáticamente.
  • El Editor de configuración de CMake supone una alternativa a CMakeSettings.json y comparte ciertas similitudes con CMakeGUI.
  • Se ha quitado el menú de CMake y se ha reorganizado para ofrecer una paridad más próxima a los proyectos y soluciones.
  • Las opciones de configuración que son incompatibles en CMakeSettings, como las arquitecturas no coincidentes o la configuración incompatible del generador de CMake, se muestran con subrayado ondulado en el editor de JSON y se incluyen los errores en Lista de errores.
  • La cadena de herramientas de vcpkg se detecta automáticamente y se habilita para los proyectos de CMake que se abren en el IDE una vez que vcpkg integrate install se ha ejecutado. Se puede desactivar este comportamiento si se especifica un archivo de cadena de herramientas vacío en CMakeSettings.
  • Los proyectos de CMake ahora habilitan la depuración de Solo mi código de forma predeterminada.
  • Las advertencias de análisis estático ahora se pueden procesar en segundo plano y mostrarse en el editor de proyectos de CMake.
  • Se han agregado mensajes más claros de inicio y final de la compilación y la configuración de proyectos de CMake y compatibilidad con la interfaz de usuario de progreso de compilación de Visual Studio. Además, ahora hay una opción de configuración de nivel de detalle de CMake en Herramientas > Opciones para personalizar el nivel de detalle de los mensajes de compilación y configuración de CMake en la ventana de salida.
  • Ahora se admite la opción "cmakeToolchain" en CMakeSettings para especificar cadenas de herramientas sin tener que modificar manualmente la línea de comandos de CMake.
Backend
  • Hemos implementado mejoras de rendimiento de compilación, incluido el tratamiento del enlazador de E/S de archivos y el tiempo de vínculo en la creación y la combinación de tipos de PDB.
  • Hemos agregado compatibilidad básica para la vectorización de OpenMP SIMD. Esta opción puede habilitarse con el nuevo modificador de CL, -openmp:experimental. Esto permite vectorizar potencialmente los bucles anotados con “#pragma omp simd”. No se garantiza la vectorización y se genera una advertencia con los bucles anotados pero sin vectorizar. Si no se admiten cláusulas SIMD, simplemente se omitirán y se notificará una advertencia.
  • Hemos agregado un nuevo modificador de línea de comandos de inserción, -Ob3, que es una versión más agresiva de -Ob2. -O2 (optimizar el binario para acelerar el proceso) todavía implica -Ob2 de manera predeterminada; si considera que el compilador realiza inserciones de forma deficiente, considere la posibilidad de pasar -O2 -Ob3.
  • Para admitir la vectorización manual de bucles que contienen llamadas a funciones de la biblioteca matemática y otras operaciones, como la división de enteros, hemos agregado compatibilidad con funciones intrínsecas de la biblioteca matemática de vectores cortos (SVML) que calculan los equivalentes de vectores de 128 bits, 256 bits o 512 bits. Vea la Guía de funciones intrínsecas de Intel para las definiciones de las funciones admitidas.
  • Optimizaciones nuevas y mejoradas:
    • Simplificaciones aritméticos y plegado constante para las expresiones con funciones intrínsecas SIMD (vector), para formularios float e integer
    • Un análisis más eficaz para extraer información de flujo de control (instrucciones if/else/switch) para quitar ramas que siempre se han demostrado ser true o false
    • Despliegue mejorado de memset para usar instrucciones de vectores de SSE2
    • Eliminación mejorada de copias de estructuras/clases inútiles, especialmente para los programas de C++ que pasan por valor
    • Optimización mejorada de código mediante memmove, como por ejemplo, la construcción de std::copy o std::vector y std::string
Elementos obsoletos
  • La plantilla de proyecto de prueba de C++ administrado ya no está disponible. Puede seguir usando el marco de pruebas de C++ administrado en los proyectos existentes pero, para las pruebas unitarias nuevas, considere la opción de usar uno de los marcos de prueba nativos para el que Visual Studio proporciona plantillas (MSTest, Google Test) o la plantilla de proyecto de prueba de C# administrado.
  • Windows 8.1 SDK ya no está disponible en el instalador de Visual Studio. Actualice los proyectos de C++ al Windows 10 SDK más reciente. Si tiene una dependencia fuerte de 8.1, puede descargarlo desde el archivo de Windows SDK.
  • Ya no estará disponible Windows XP como opción de destino para el conjunto de herramientas de C++ más actualizado. Se sigue admitiendo XP como destino con bibliotecas y el compilador de MSVC de nivel de VS 2017, y se puede instalar a través de "Componentes individuales".
  • En nuestra documentación se desaconseja encarecidamente el uso de módulos de combinación para la implementación en tiempo de ejecución de Visual C++. En esta versión hemos dado un paso extra para marcar nuestros MSM como en desuso. Considere la posibilidad de migrar la implementación central VCRuntime de MSM al paquete redistribuible.
  • Los siguientes asistentes de ATL/MFC de C++ ya no están disponibles: Asistente para componentes COM+ 1.0 de ATL, Asistente para componentes de páginas de Active Server de ATL, Asistente para proveedores OLE DB de ATL, Asistente para páginas de propiedades de ATL, Asistente para consumidores OLE DB de ATL, Consumidor de ODBC de MFC, clase MFC del control ActiveX y clase MFC de la biblioteca de tipos. El código de ejemplo de estas tecnologías se archiva en el repositorio VCSamples de GitHub.

F#

Las mejoras de F# en Visual Studio 2019 se encuentran en tres áreas principales:

  • F# 4.6
  • Mejoras importantes de rendimiento para las soluciones grandes y medianas
  • Una gran cantidad de trabajo de código abierto por nuestra excelente comunidad de código abierto
F# 4.6

Esta versión contiene el lenguaje F# 4.6:

Mejoras del compilador de F# y FSharp.Core

F#, el compilador y FSharp.Core han tenido numerosas mejoras, sobre todo de colaboradores de código abierto:

  • fsi.exe y fsc.exe ahora tienen como valor predeterminado .NET Framework 4.7.2, lo que permite la carga de los componentes cuyo destino es este marco de trabajo o uno inferior (#4946).
  • Se han optimizado el rendimiento de los métodos en structs y registros de structs, así como los métodos en clases y registros basados en clases (#3057).
  • Se ha optimizado el IL emitido para la lógica booleana combinada en código de F# (#635).
  • Hemos optimizado el uso de + con cadenas en F# para realizar la mínima cantidad posible de llamadas de String.Concat (#5560).
  • Se ha corregido un problema en el paquete FSharp.Core en el que se incluían algunos directorios adicionales con los activos de prueba. FSharp.Core 4.5.5 y 4.6.1 debe tener la corrección (#5814).
  • Cuando un atributo definido por el usuario no se herede de la clase Attribute, ahora recibirá una advertencia, por parte de Vasily Kirichenko.
  • El valor AssemblyInformationVersionAttribute en un archivo del proyecto ahora es compatible con valores arbitrarios para admitir escenarios como SourceLink (#4822).
  • Steffen Forkmann ha corregido un error donde la sintaxis no válida con modelos activos provocaría un error interno del compilador (#5745).
  • BooksBaum ha corregido un error por el que el sufijo Module se agregaba por error a un módulo recursivo para coincidir con un tipo donde la única diferencia era un parámetro genérico (#5794).
  • Alan Ball ha mejorado el mensaje de error cuando los parámetros de tipo no son adyacentes a un nombre de tipo (#4183).
  • Teo Tsirpanis ha corregido la visualización del sufijo literal uint16 en los mensajes de error para los literales numéricos no válidos (#5712).
  • Los mensajes de error para las expresiones de cálculo ya no declaran async en el mensaje y, en su lugar, hacen referencia a "expresiones de cálculo", por John Wostenberg (#5343).
  • Bartoz Sypytkowski ha corregido un mensaje de error al hacer referencias incorrectas a .dll en F# interactivo (#5416).
  • Se ha corregido un error por el que los parámetros de tipo resueltos estáticamente no podían controlar una llamada a un miembro que oculta un miembro heredado, por parte de Victor Peter Rouven Müller (#5531).
  • Steffen Forkmann y Robert Jeppesen han agregado diversas mejoras de rendimiento menores al compilador.
Mejoras en el rendimiento de F#

Otra gran área de enfoque de F# en Visual Studio 2019 ha sido el rendimiento para soluciones medianas y grandes. Se han resuelto algunos problemas antiguos, algunos de los cuales se remontan a la primera edición de las herramientas de F# para Visual Studio. También hemos recibido ayuda de la excelente comunidad de código abierto de F#.

  • Hemos renovado el modo en que se inicializa el servicio de lenguaje F# mediante Roslyn. La coloración de tipos para soluciones más grandes debería, por lo general, mostrarse antes.
  • Se ha cambiado la representación de texto de origen para evitar asignaciones grandes a lo largo del tiempo, especialmente con los archivos de mayor tamaño (#5935, #5936, #5937, #4881).
  • Se han cambiado las cachés de compilación para las pequeñas modificaciones de archivos a fin de usar mucha menos memoria (6028 #).
  • Se ha modificado una característica del compilador que sugiere nombres al escribir tokens no reconocidos para que solo realice estas sugerencias a petición, lo que tiene como resultado reducciones importantes de CPU y memoria al escribir lentamente en las soluciones más grandes (6044 #).
  • Se ha cambiado IntelliSense para que ya no muestre símbolos de espacios de nombres sin abrir de forma predeterminada. Esto mejora notablemente el rendimiento de IntelliSense en proyectos con muchas referencias. Esta característica puede volver a activarse en la configuración a través de Herramientas > Opciones > Editor de texto > F# > IntelliSense.
  • Se ha mejorado el uso de memoria al usar proveedores de tipos para generar una gran cantidad de tipos proporcionados en una lista de finalización (#5599).
  • Se ha corregido una reducción del uso de memoria y CPU de un algoritmo de comparación de cadena interno para sugerir nombres no reconocidos, por parte de Avi Avni (6050 #).
  • Se ha corregido una fuente notable de asignaciones de cadenas grandes, especialmente para las herramientas de IDE, por parte de Avi Avni (#5922).
  • Se ha corregido un origen de asignaciones de montón de objetos grandes procedentes de IntelliSense, por parte de Chet Husk (6084 #)
Mejoras en las herramientas de F#

Además de las mejoras de rendimiento, se han realizado otras mejoras a las herramientas de F# para Visual Studio 2019:

  • La corrección del código Agregar instrucción open ahora agregará la instrucción open de forma predeterminada en la parte superior del archivo.
  • Se ha corregido un error donde match! en el código de usuario invalidaba las guías de estructura y los nodos de esquematización de código de los ámbitos posteriores (#5456).
  • El editor ahora mostrará los valores byref, outref y ref con los colores correctos como campos de registro con la coloración de valor mutable (#5579).
  • Se ha corregido un error por el que la refactorización de cambio de nombres no reconocía el carácter ' en nombres de símbolos (#5604).
  • Se ha corregido un antiguo error por el que al cambiar el nombre de archivos de script de F# daba como resultado una pérdida de datos de coloración (#1944).
  • Se la limpiado IntelliSense para que no muestre elementos no relacionados en la lista cuando se presiona la tecla RETROCESO.
  • Con la sangría "Inteligente" activada, pegar código F# en el editor ahora le dará formato para que coincida con un ámbito adecuado según la posición actual del cursor, implementado por Saul Rennison (#4702).
  • Jakob Majocha ha solucionado un problema que impedía la sincronización de las opciones del editor de F# (#5997, #5998).
  • Eugene Auduchinok ha corregido un error por el que IntelliSense en un constructor dentro de un cláusula de inherit no mostraba el constructor principal (3699 #)
  • Eugene Auduchinok ha realizado varias mejoras pequeñas al servicio de lenguaje de F#
Infraestructura de código abierto de F#

Se ha migrado totalmente la base de código de F# y las herramientas de F# para usar el SDK de .NET. Esto simplifica enormemente el proceso de contribución para los desarrolladores, sobre todo si no usan Windows. Además, Jakob Majocha ha ayudado en la limpieza de documentos para los nuevos colaboradores ante los cambios en la base de código.

Python

Según los comentarios recibidos, Visual Studio 2019 incluye una experiencia mejorada para administrar entornos de Python:

  • Se ha agregado un cuadro de diálogo Agregar entorno que simplifica la experiencia de crear y agregar entornos virtuales y entornos de conda en el proyecto.
  • El instalador de Visual Studio ya no instala versiones completas de Anaconda para reducir el tamaño de las instalaciones de Visual Studio y evitar errores durante las actualizaciones.
  • Miniconda se agrupa con la carga de trabajo de Python como un componente opcional, lo que permite crear entornos de conda sin tener que instalar Miniconda/Anaconda.
  • Ahora se le indicará automáticamente que agregue un entorno si un archivo requirements.txt (entorno virtual) o environment.yml (entorno de conda) está presente en la raíz del proyecto.
  • Una nueva barra de herramientas de Entornos de Python está disponible al editar archivos de Python. La nueva barra de herramientas permite cambiar entre distintos intérpretes de Python cuando se trabaja con proyectos, áreas de trabajo de Abrir carpeta o archivos separados de Python en otros proyectos.
  • Se han realizado mejoras en la calidad de autofinalización de IntelliSense de Python, incluyendo detección mejorada de importaciones de espacio de nombres y relativas.
  • Las plantillas de proyecto de Django se han actualizado para admitir Django 2.x.
  • Los valores devueltos de las funciones ahora se muestran en el depurador de Python.
  • Ahora puede crear sesiones de VS Live Share y colaborar en código de Python con otros usuarios de Visual Studio. Antes, solo se admitía Python al unirse a sesiones creadas en Visual Studio Code.

JavaScript/TypeScript

  • Hemos agregado compatibilidad para habilitar la depuración de JavaScript dentro de pruebas unitarias en proyectos de Node.js. Se trata de una característica demandada desde hace tiempo por nuestros clientes de Node.js.
  • El servicio de lenguaje JavaScript/TypeScript ahora se cargará automáticamente en los proyectos que tengan instalado el paquete NuGet de TypeScript o el paquete npm (TypeScript 3.2 y versiones posteriores se admite desde el paquete NuGet y TypeScript 2.1 y versiones posteriores se admite desde el paquete npm).
  • Hemos implementado mejoras de rendimiento en el servicio de lenguaje como resultado de aumentar el extremo de memoria en el servicio de lenguaje para manipular proyectos más grandes.
  • Ya no se muestran diagnósticos de archivos cerrados de JavaScript/TypeScript en la lista de errores de forma predeterminada.
  • El servicio de lenguaje JavaScript ya no está disponible. Anteriormente, los usuarios tenían la opción de restaurar el servicio de lenguaje JavaScript heredado. Ahora, los usuarios tendrán el nuevo servicio de lenguaje JavaScript de fábrica. El nuevo servicio de lenguaje se basa en el servicio de lenguaje TypeScript, que funciona con análisis estático. Esto permite mejor las herramientas, por lo que el código de JavaScript puede beneficiarse de IntelliSense con más funcionalidades según las definiciones de tipo. El nuevo servicio es ligero y consume menos memoria que el servicio heredado, lo que ofrece a los usuarios un mejor rendimiento a medida que se escale el código.

Team Explorer y Azure DevOps

Hemos realizado mejoras en la experiencia de los elementos de trabajo de Git con Azure DevOps.

  • Puede asignarse elementos de trabajo a sí mismo y a otros usuarios con el nuevo selector de identidad. De forma predeterminada, se mostrará una lista de las personas que ha usado más recientemente. También puede usar la capacidad de búsqueda para buscar otros usuarios de la organización.
  • Hemos mejorado la experiencia de #mentions en el mensaje de confirmación. Al seleccionar un elemento de trabajo en el selector de #mention, automáticamente se agregará a la lista de elementos de trabajo relacionados.
Assigning work items and #mention improvements
Asignación de elementos de trabajo y mejoras de #mention

Resaltado de ruta de acceso activa

  • Hemos agregado compatibilidad con el resaltado de ruta de acceso activa en las herramientas Uso de CPU y Asignación de objetos de DotNet en el generador de perfiles de rendimiento. Seleccione cualquier función en el árbol de llamadas y presione el botón de ruta de acceso activa para expandir la ruta de acceso activa de Asignación de objetos de Dot Net o Uso de CPU. Esta característica permite identificar fácilmente las llamadas de función que usan un mayor porcentaje de CPU o que asignan la mayoría de los objetos.
Hot path highlighting in the CPU Usage tool
Resaltado de ruta de acceso activa en la herramienta Uso de CPU

Herramientas de .NET y ASP.NET

  • Hemos implementado varias pequeñas mejoras en la experiencia de usuario de la página de resumen de perfil de publicación (nuevos encabezados de sección, acciones y métodos abreviados) para todas las aplicaciones.
  • Al publicar las aplicaciones de ASP.NET en Azure App Service, la página de resumen de perfil de publicación ahora tiene una nueva sección denominada "Dependencias". Esta nueva sección permite asociar los recursos de Azure Storage y Azure SQL con la instancia del servicio de aplicación. En el futuro esperamos sacar a la luz más servicios de Azure mediante este mecanismo.
  • Use las métricas del código con proyectos de .NET Core con nuestra compatibilidad adicional.
  • Exporte la configuración del editor a un archivo Editorconfig a través de Herramientas > Opciones > Editor de texto > C# > Estilo de código con el botón "Generate .editorconfig file from settings" (Generar archivo .editorconfig desde la configuración).
  • Use la nueva compatibilidad del analizador Regex de C# y Visual Basic. Ahora se reconocen las expresiones regulares, y las características de lenguaje están habilitadas en ellas. Las cadenas de expresiones regulares reconocen cuando se pasa una cadena al constructor Regex o cuando una cadena está precedida inmediatamente por un comentario que contiene la cadena language=regex. Las características del lenguaje incluidas en esta versión son la clasificación, la coincidencia de llaves, resaltar referencias y diagnósticos.
Regular expressions now have parser support
Compatibilidad con el analizador de expresiones regulares
  • Ahora puede usar análisis de código no alcanzado para miembros privados no usados con una corrección de código opcional para quitar la declaración de miembro sin usar.
  • La característica Buscar referencias en un descriptor de acceso ahora solo devuelve resultados para ese descriptor de acceso.
  • Se ha agregado una corrección de código para generar un método de deconstrucción.
  • Las instrucciones "using" pueden agregarse cuando se pega código en un archivo. Una corrección de código aparece después de pegar el código reconocido que le pide agregar importaciones pertinentes que faltan.
  • Ahora hay más refactorizaciones y acciones rápidas disponibles con "Ctrl + .", o "Alt + Entrar":
    • Para los casos donde "await" está implícito, pero se omite, ahora hay una advertencia del compilador.
    • Para convertir una función local en un método.
    • Para convertir una tupla en un struct con nombre.
    • Para convertir un tipo anónimo en una clase.
    • Para convertir un tipo anónimo en una tupla.
    • Para un bucle foreach para una consulta LINQ o un método LINQ.
  • Se ha agregado compatibilidad para aplicaciones de ASP.NET Core que se ejecutan en una instancia de Azure Kubernetes Service. Para empezar, consulte este ejemplo de docker en GitHub.
  • ASP.NET ahora es compatible con la herramienta Uso de CPU del Generador de perfiles de rendimiento.
CPU Usage Tool in Performance Profiler
Herramienta Uso de CPU en Generador de perfiles de rendimiento
  • Ahora puede usar Buscar todas las referencias (Mayús-F12) y CodeLens para mostrar los resultados de los archivos de Razor (.cshtml) en los proyectos de .NET Core. A continuación, puede navegar al código identificado en los archivos de Razor pertinentes.
  • Se ha agregado compatibilidad con las aplicaciones de ASP .NET (escritorio y core) que se ejecutan en máquinas virtuales (VM) Windows y conjuntos de escalado de máquinas virtuales.
Snapshot debugger target selection UI
UI de selección de destino de Snapshot Debugger
  • Ahora recibirá una advertencia al ejecutar un análisis de código con FxCop. Los analizadores del compilador de .NET son la manera recomendada para realizar análisis de código a partir de ahora. Obtenga más información sobre la migración a los analizadores de .NET Compiler Platform.
  • Ya no están disponibles las plantillas de proyecto de biblioteca de clases portable (PCL), y la compatibilidad con proyectos no se instalará de forma predeterminada. Los nuevos proyectos destinados a varias plataformas deben usar el tipo de proyecto de .NET Standard. Los clientes que requieren compatibilidad con proyectos PCL deben instalar el componente por separado en la pestaña Componentes individuales en el instalador de Visual Studio.
  • El comando "Project.CopyWebSite" ya no está disponible. Esta característica solo estaba disponible en el tipo de proyecto de "Sitio Web" para. NET. Proporcionaba la capacidad de sincronizar dos sitios web para que tuvieran la misma versión de cada archivo. En Visual Studio 2019, puede copiar los archivos desde el destino remoto fuera de Visual Studio y luego abrir el proyecto.
  • Se ha quitado la capacidad de abrir un proyecto de Sitio web desde una ubicación FTP remota. Los usuarios de FTP pueden copiar los archivos desde el destino remoto fuera de Visual Studio, abrir el proyecto y realizar cambios y, luego, publicar para devolverlos a la ubicación FTP remota.
  • La carga de trabajo de ASP.NET y Web ya no instala una experiencia de edición de CoffeeScript personalizada. Los paquetes TextMate de Visual Studio proporcionan una experiencia de nivel superior para trabajar con CoffeeScript.
  • Los errores de CSS y CoffeeScript que generan actualmente las copias integradas de CSSLint y CoffeeLint ya no emergerán automáticamente al editar esos archivos. Use un método alternativo para ejecutar linters, como npm o el Explorador del Ejecutor de tareas de Visual Studio.
  • Visual Studio ya no proporciona IntelliSense para los atributos HTML de Knockout. En Visual Studio 2019 deberá escribir los atributos.
  • Se ha quitado la capacidad de usar el depurador de Chrome heredado en proyectos de ASP.NET para la depuración de JavaScript. Aún puede usar el depurador de Chrome actual integrado en Visual Studio.
  • Se ha quitado la posibilidad de usar la funcionalidad de Consola JavaScript en proyectos ASP.NET. Se recomienda a los clientes que usen la consola incluida en las herramientas de desarrollo de su explorador favorito.

Herramientas de contenedor

  • Hemos agregado una experiencia simplificada de proyecto único para las acciones de incluir en contenedor y depuración:
    • Aplicaciones web de ASP.NET (.NET Framework)
    • Aplicaciones de consola (.NET Core)
  • Hemos agregado compatibilidad para depurar aplicaciones ASP.NET Core que usan Alpine como una imagen de base.
  • Hemos agregado compatibilidad para las imágenes de ASP.NET y .NET Core más recientes.

Herramientas de .NET Core

.NET Core 3.0

Con esta versión, puede crear proyectos de ASP.NET Core, consola y biblioteca de clases destinados a .NET Core 3.0 si tiene instalada la versión preliminar del SDK.

Si usa Visual Studio RC, también debe ir a Herramientas > Opciones > Proyectos y soluciones > .NET Core y activar la casilla Usar las vistas previas de los SDK de .NET Core. Si usa Visual Studio Preview, no es necesario hacerlo. Puede leer más sobre esta configuración y su comportamiento en .NET Core tooling update for Visual Studio 2017 version 15.9 (Actualización de las herramientas de .NET Core para Visual Studio 2017 versión 15.9).

También puede crear proyectos WPF o Windows Forms para .NET Core 3.0 con el comando "dotnet new". Después, estos proyectos se pueden abrir en Visual Studio 2019.

Nuevas características

A partir de esta versión, vamos a convertir los archivos de proyecto para los proyectos de tipo SDK de .NET en un tipo de archivo de primera clase en Visual Studio. Ahora es compatible lo siguiente:

  • Hacer doble clic en un nodo de proyecto para abrir el archivo de proyecto
  • Hacer clic en el nodo del proyecto para abrir el archivo de proyecto en una pestaña de vista previa
  • Buscar un archivo de proyecto por nombre con Ir a todo (ctrl + T)
  • Ahora se pueden hacer búsquedas en los elementos de MSBuild de un archivo de proyecto mediante Buscar en archivos
  • Abrir desde la lista de errores si se desencadena un error de creación de proyecto

Además, los proyectos de tipo SDK de .NET SDK ahora usarán la nueva experiencia de consola integrada para F5 y ctrl + F5 en aplicaciones de consola. De esta forma se unifica la experiencia al iniciar aplicaciones de consola desde Visual Studio:

  • Para F5, la ventana de consola no se cerrará automáticamente cuando la aplicación termine de ejecutarse. Ya no necesita agregar llamadas a Console.Read() a las aplicaciones de consola.
  • Para ctrl + F5, la ventana de consola se reutilizará en ejecuciones posteriores de la aplicación. Ya no necesita cerrar montones de ventanas de consola.

La nueva ventana de consola se puede cerrar automáticamente presionando una tecla cuando está abierta, o seleccionando la opción en Herramientas > Opciones > Cerrar la consola automáticamente al detenerse la depuración.

Ahora se ha agregado compatibilidad con expresiones de licencia y archivos de licencia a páginas de propiedades del proyecto. Esto se alinea con los cambios para dejar de utilizar licenseUrl en NuGet.

Mejoras de rendimiento
  • Se ha mejorado significativamente la escalabilidad de las soluciones de gran tamaño, lo que permite usar soluciones de .NET Core mucho más grandes que antes.
  • Los tiempos de carga de solución para proyectos grandes se han reducido considerablemente, así como el uso de la CPU al cargarlos.
Paridad de características con proyectos que no son de .NET Core

Puede encontrar una lista completa de los problemas y las solicitudes de incorporación de cambios en los hitos de 16.0, 16.0 Versión Preliminar 2, 16.0 Versión Preliminar 3 y 16.0 Versión Preliminar 4.

Productividad de .NET

  • Refactorizaciones de .NET y correcciones de código:

    • Sincronización de espacio de nombres y nombre de carpeta
    • Refactorización de Extraer miembros con las opciones del cuadro de diálogo
    Pull members up refactoring with dialog options
    Cuadro de diálogo Extraer miembros
    • Ajuste de línea/sangría/alinear listas de parámetros/argumentos
    • Conversión de un tipo anónimo para tupla
    • Uso de cuerpo de expresión o bloque para lambda
    • Inversión de expresiones condicionales y operaciones lógicas
    • Cierre automático de bloque de comentarios en “/”
    • Conversión a asignación compuesta
    • Corrección de variables con tipo implícito que no pueden ser constantes
    • Corrección automática para reemplazar @$" con $@" al escribir cadenas textuales interpoladas
    • Finalización de #nullable enable|disable
    • Corrección de parámetros y valores de expresiones no usadas
    • Corrección para permitir que Extraer interfaz permanezca en el mismo archivo
  • Clasifique las referencias por lectura/escritura.

  • Agregue la opción Editorconfig when_multiline para csharp_prefer_braces.

  • Hay nuevos colores de clasificación disponibles en el SDK de .NET Compiler Platform (también conocido como Roslyn). Se están implementando gradualmente nuevos colores por defecto similares a los de Visual Studio Code. Puede ajustar estos colores en Herramientas > Opciones > Entorno > Fuentes y colores o desactivarlos en Entorno > Características en vista previa al desactivar la casilla Use enhanced colors (Usar colores mejorados). Agradecemos recibir comentarios sobre cómo afecta este cambio a su flujo de trabajo.

New Roslyn classification colors
Nuevos colores de clasificación de Roslyn

Depuración de JavaScript en proyectos de ASP.NET

  • Si ha agregado un nuevo explorador Google Chrome con argumentos personalizados mediante el menú "Examinar con..." para el proyecto ASP.NET, Visual Studio ahora permite depurar JavaScript para la aplicación al iniciar la depuración. Los argumentos de inicio personalizados para Google Chrome se aplicarán al iniciar Chrome.
Adding Google Chrome with Custom arguments using 'Browse with'
Adición de Google Chrome con argumentos personalizados mediante "Examinar con..."
Nota: Visual Studio iniciará Chrome de forma predeterminada con un directorio de datos diferente del de la instancia normal de Chrome, a menos que proporcione la ruta de acceso al directorio de datos como un argumento. Como resultado, si necesita que alguna extensión esté disponible al usar esta instancia de Chrome, deberá instalarla por primera vez.

Herramientas de ASP.NET y Azure Functions

  • Visual Studio 2019 ofrece una nueva experiencia en la creación de proyectos. Al crear expresamente nuevos proyectos de ASP.NET, Visual Studio ofrece cuadros de diálogo adicionales que cubren opciones específicas de ASP.NET. Estos cuadros de diálogo adicionales se han actualizado para que coincidan con el estilo visual del resto de la experiencia.
  • Desde hace un tiempo, las credenciales de publicación de Visual Studio se cifran y almacenan en el archivo de usuario de perfil de publicación para que no tenga que volver a escribirlas cada vez que publique la aplicación. Por norma general, los archivos de usuario se excluyen de forma predeterminada del control de código fuente porque probablemente contengan información confidencial o personal que no debe compartirse. Hasta ahora, si en el control de código fuente se insertaba un perfil de publicación de un proyecto de Azure Functions sin el archivo de usuario, las credenciales de publicación no estaban presentes y no se podía volver a usar el perfil de publicación. Ahora, se permite editar las credenciales y crear un nuevo archivo de usuario con el fin de que pueda volver a usar el perfil de publicación.

Asistente para rendimiento

En Visual Studio 2019, las experiencias de generación de perfiles que estaban disponibles en el Asistente de rendimiento se han movido al Generador de perfiles de rendimiento. Puede encontrar la herramienta Uso de CPU para muestreo e instrumentación en la herramienta Instrumentación en el Generador de perfiles de rendimiento. Con este cambio, el Asistente de rendimiento ya no es necesario y se ha quitado de Visual Studio 2019. Además, se ha quitado la opción de muestreo en las herramientas de línea de comandos de Rendimiento de VS, se publicará una herramienta de línea de comandos de reemplazo en una próxima versión preliminar.

Herramientas de prueba

  • Ahora puede hacer clic con el botón derecho en pruebas, clases de prueba o proyectos de prueba en Explorador de soluciones para ejecutar o depurar pruebas.
  • Las series de pruebas detectan automáticamente la arquitectura del procesador configurada en las propiedades del proyecto.
  • Las herramientas de prueba de la UI de OSS, como Selenium y Appium, han logrado impulso y tienen una sólida comunidad de respaldo. Dado que estos marcos se han convertido en los estándares del sector, la prueba automatizada de UI está en desuso para las pruebas funcionales controladas por UI. Visual Studio 2019 será la versión final de Visual Studio con las características de prueba automatizada de UI. Se recomienda usar Selenium para probar aplicaciones web, y Appium con WinAppDriver para probar aplicaciones de escritorio y para UWP.
  • Visual Studio 2019 será la última versión de Visual Studio con las características de prueba de carga. Para los clientes que requieren herramientas de prueba de carga, se recomienda usar herramientas de prueba de carga alternativas, como Apache JMeter, Akamai CloudTest o Blazemeter.
  • En Visual Studio 2019, se han quitado algunas API de la ventana de prueba que anteriormente estaban marcadas como públicas, pero que nunca se documentaron oficialmente. Se marcaron como obsoletas en Visual Studio 2017 para proporcionar advertencias prematuras a los mantenedores de extensiones. Que nosotros sepamos, muy pocas extensiones han tomado una dependencia en estas API. Entre estas API se incluyen IGroupByProvider, IGroupByProvider, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchToken y SearchFilterTokenType. Si este cambio afecta a su extensión, háganoslo saber enviando un error en Comunidad de desarrolladores.

Herramientas de Kubernetes de Visual Studio

Las herramientas de Kubernetes de Visual Studio, que antes estaban disponibles como una extensión independiente para Visual Studio 2017, ahora están integradas en la carga de trabajo de desarrollo de Azure en Visual Studio 2019.

Incorporación de compatibilidad con Kubernetes a un nuevo proyecto

Para agregar compatibilidad con Kubernetes a un nuevo proyecto, abra Visual Studio y seleccione la opción Crear un nuevo proyecto. En la ventana Crear un nuevo proyecto, busque Kubernetes y seleccione la plantilla de proyecto Aplicación contenedora para Kubernetes.

Creating a Container Application for Kubernetes
Creación de una aplicación contenedora para Kubernetes

Haga clic en Siguiente y escriba un nombre de proyecto, la ubicación y el nombre de la solución. Después, haga clic en Crear. Seleccione la plantilla de aplicación ASP.NET Core que quiere usar para el proyecto y haga clic en Aceptar. Visual Studio creará automáticamente un gráfico de Dockerfile y Helm que puede usar para compilar e implementar la nueva aplicación en un clúster de Kubernetes. Estos artefactos se pueden modificar según sea necesario.

Incorporación de compatibilidad con Kubernetes a un proyecto existente

También puede agregar compatibilidad con Kubernetes a una aplicación ASP.NET Core existente. Para hacerlo, abra el proyecto en Visual Studio 2019. En el Explorador de soluciones, haga clic con el botón derecho en el proyecto, elija Agregar y haga clic en Container Orchestrator Support (Compatibilidad de orquestador de contenedores).

Adding container orchestrator support
Agregar compatibilidad con el orquestador de contenedores

En el cuadro de diálogo Add Container Orchestrator Support (Agregar compatibilidad con el orquestador de contenedores), elija Kubernetes/Helm (Kubernetes/Helm) y haga clic en Aceptar. Visual Studio creará automáticamente un gráfico de Dockerfile y Helm (en una carpeta con el nombre charts) que puede usar para compilar e implementar la aplicación en un clúster de Kubernetes. Si alguno de estos artefactos ya están en su lugar, no se sobrescribirán. Estos artefactos se pueden modificar según sea necesario.

Creación de un punto de conexión de acceso público

Cuando se agrega compatibilidad con Kubernetes a un proyecto nuevo o existente, Visual Studio le preguntará si quiere crear un punto de conexión de acceso público para su aplicación.

Publicly accessible endpoint prompt
Mensaje de punto de conexión de acceso público

Si hace clic en , Visual Studio configurará el gráfico de Helm para que la aplicación cree un objeto de entrada de Kubernetes cuando se implementa la aplicación en un clúster de Kubernetes. Puede cambiar esta opción en cualquier momento mediante la modificación del gráfico de Helm.

Depuración de la aplicación en Azure Kubernetes Service

Una vez que se ha agregado compatibilidad con Kubernetes para un proyecto nuevo o existente, puede compilar, ejecutar y depurar la aplicación fácilmente en un clúster activo de Azure Kubernetes Service (AKS), mediante una característica denominada Azure Dev Spaces. Resulta útil para probar el proyecto en el contexto de un clúster de Kubernetes real o para depurar un servicio que forma parte de una aplicación mucho más grande sin tener que replicar toda la aplicación localmente. Azure Dev Spaces también incluye un función que permite al equipo de desarrollo compartir un clúster de AKS. Para más información sobre Azure Dev Spaces, vea la documentación de Azure Dev Spaces. Para empezar, asegúrese de que Azure Dev Spaces está seleccionado como destino de inicio de depuración en Visual Studio.

Selecting Azure Dev Spaces as debug launch target
Selección de Azure Dev Spaces como destino de inicio de depuración

Antes de iniciar el proyecto en Azure Dev Spaces por primera vez, configure la suscripción de Azure y el clúster de AKS que quiere usar. Seleccione también el espacio donde quiere ejecutar el proyecto.

Configuring Azure Dev Spaces
Configuración de Azure Dev Spaces

Normalmente, el equipo ejecuta la versión estable más reciente de toda la aplicación en el espacio predeterminada. Después, se ejecuta la versión del servicio en el que está trabajando en un espacio secundario del espacio predeterminado. Ya no es necesario ejecutar los demás servicios en el espacio secundario; Azure Dev Spaces enruta automáticamente las llamadas de su servicio a las versiones estables de los servicios que se ejecutan en el espacio predeterminado. Para más información sobre cómo configurar esta opción, vea los tutoriales de desarrollo de equipo en la documentación de Azure Dev Spaces. Una vez que haya seleccionado la suscripción, el clúster y el espacio adecuados, haga clic en Aceptar para continuar con la configuración de Azure Dev Spaces. Si selecciona un clúster que aún no tiene un controlador de Azure Dev Spaces asociado, haga clic en Aceptar en el siguiente cuadro de diálogo para crear uno automáticamente.

Enable Dev Spaces dialog
Cuadro de diálogo Habilitar Azure Dev Spaces

La creación del controlador tarda aproximadamente 2 minutos. Puede hacer clic en el botón Tareas en segundo plano en la esquina inferior izquierda de la ventana de Visual Studio para ver el estado.

Azure Dev Spaces controller creation status via Background Tasks
Estado de creación del controlador de Azure Dev Spaces mediante Tareas en segundo plano

Una vez que tenga listo un controlador de Azure Dev Spaces, presione F5 o haga clic en el botón de depuración de Azure Dev Spaces en la barra de herramientas para depurar el proyecto en AKS.

Azure Dev Spaces debug button
Botón de depuración de Azure Dev Spaces

Azure Dev Spaces sincronizará el código en Azure, creará una imagen de contenedor que contiene el código y la implementará en el clúster de AKS mediante el gráfico de Helm definido en el proyecto. Visual Studio abrirá una conexión de depuración remota con el servicio que se ejecuta en el clúster para poder interactuar con él tal como lo haría al depurar un servicio que se ejecuta localmente.

Desarrollo móvil con Xamarin

En esta versión se incluyen mejoras en el tamaño de la carga de trabajo y en el rendimiento y la confiabilidad de las compilaciones para Android, así como mejoras de productividad de Xamarin.Android y Xamarin.Forms.

  • La carga de trabajo de Xamarin ahora tiene simplemente 7,69 GB, una reducción a la mitad desde Visual Studio 2017 versión 15.9 y una mejora del triple con respecto a la versión 15.7.
  • La extensión IntelliCode ahora es compatible con XAML de Xamarin.Forms.
Archivo > Nuevo proyecto

Se han realizado mejoras de rendimiento con el objetivo de reducir el tiempo necesario para crear un nuevo proyecto de Xamarin para que pueda empezar a compilar las aplicaciones con mayor rapidez. Ahora también se incluyen los paquetes de NuGet usados por las plantillas como parte de la instalación de la carga de trabajo con el fin de reducir el tiempo de restauración del paquete, especialmente en casos en los que no hay conexión o el ancho de banda es bajo. Estas mejoras reducen el tiempo para que un nuevo proyecto de Xamarin se cargue y se restaure por completo en casi un 50 % en algunos casos.

New Xamarin project comparison gif
Crear un nuevo proyecto de Xamarin en Visual Studio versión 15.9 (izquierda) y Visual Studio 2019 (derecha)
Indicador de progreso de compilación

Ahora puede ver información más detallada del progreso de la compilación al compilar los proyectos. Al hacer clic en el icono de tareas en segundo plano en la esquina inferior izquierda durante una compilación, se mostrará el destino de compilación actual que se está ejecutando. Esto puede ser útil para determinar si la compilación sigue ejecutándose, pero un destino está tardando mucho tiempo en completarse.

Xamarin build progress indicator
Indicador de progreso de compilación de Xamarin
Modo Vista previa básica del Controlador de vista previa de Xamarin.Forms

Ya no tiene que compilar el proyecto para que el Controlador de vista previa de Xamarin.Forms muestre una vista previa del código. Si tiene controles personalizados en el archivo XAML, es posible que deba compilar el proyecto para obtener una vista previa u optar por su representación en tiempo de diseño.

Menú desplegable de dispositivos del Controlador de vista previa de Xamarin.Forms

Ahora puede cambiar entre distintos dispositivos Android y iOS para obtener una vista previa de XAML de Xamarin.Forms mediante el nuevo menú desplegable de dispositivos.

Xamarin.Forms Device Drop-Down
Menú desplegable de dispositivos de Xamarin.Forms
Panel de propiedades de Xamarin.Forms

Ahora puede editar los atributos más comunes de los controles, las celdas y los diseños de Xamarin.Forms en un panel de propiedades y ver los cambios reflejados inmediatamente en XAML.

Xamarin.Forms Property Panel
Panel de propiedades de Xamarin.Forms
Plantilla de Shell de Xamarin.Forms

Se han actualizado las plantillas de Xamarin.Forms para usar la versión más reciente de Xamarin.Forms y también se ha agregado una nueva opción de plantilla para una aplicación Shell de Xamarin.Forms. Shell pretende reducir la complejidad de las aplicaciones a la vez que aumenta la productividad del desarrollador y se centra en ofrecer velocidad y consumo de memoria. Esta plantilla ofrece una aplicación Shell de arranque para Android e iOS.

Rendimiento y confiabilidad de las compilaciones de Android

En Visual Studio 2017 versión 15.9 y Visual Studio para Mac 7.7, hemos realizado mejoras en el rendimiento de la compilación inicial y en la corrección de la compilación. En Visual Studio 2019 y Visual Studio para Mac 7.8, la compilación y la implementación son aún más rápidas.

Android Build Performance
*Compilación de Android: más rápida que tomar un café*
  • Ahora aprovechará la última generación de herramientas de empaquetado de Android. Para habilitar esta característica, agregue una marca de MSBuild en .csproj del proyecto:
    • aapt2 divide los paquetes de Android en dos pasos: compilar y vincular. Esto mejora el rendimiento de las compilaciones incrementales y proporciona informes de errores antes. Por ejemplo, si hay cambios en un único archivo, solo deberá volver a compilar ese archivo. <AndroidUseAapt2>True</AndroidUseAapt2>
  • Al habilitar esta herramienta en sus proyectos, permite un rendimiento mejorado en tiempo de compilación y en tiempo de ejecución. Para obtener más información acerca de estas propiedades, consulte la documentación sobre el proceso de compilación de Xamarin.Android.
Mejoras de Android Emulator

En Visual Studio 2019, las imágenes de Android Emulador son más fáciles de crear. Además, hemos seguido trabajando con el equipo de Windows en la Actualización de octubre de 2018 de Windows 10, versión 1809, para mejorar el rendimiento de Android Emulator cuando se ejecuta en Hyper-V.

  • Los nuevos usuarios pueden crear su primera imagen simplemente presionando el icono de ejecución.
  • La experiencia de adquisición de nuestro emulador determina automáticamente la mejor configuración para su instalación y aprovecha la aceleración de hardware (con HAXM de Intel o Hyper-V) y el inicio rápido de forma predeterminada.
  • Cuando quiera crear otra imagen, puede seleccionar Crea Android Emulator en la lista desplegable para abrir Android Device Manager.
Aceleración de los tiempos de compilación con nuestras mejoras para compilar en Xamarin.Android

Hemos lanzado un conjunto de mejoras de rendimiento de la compilación inicial. A día de hoy, Xamarin.Android 9.1.1+ incluye mejoras importantes en el rendimiento de la compilación con respecto a la versión anterior. Eche un vistazo a nuestra comparación del rendimiento de compilación entre Xamarin.Android 15.9 y 16.0 para más información.

Implementación rápida mejorada para Xamarin.Android.

Hasta ahora, Fast Deployment ofrecía tiempos de implementación incrementales más rápidos al omitir la recompilación o la reimplementación del paquete Android (archivo .apk) en escenarios en los que no se realizan cambios a los activos, los recursos, las bibliotecas nativas compartidas empaquetadas en la aplicación o las clases definidas por el usuario que heredan de Java.Lang.Object. Entre las mejoras de Fast Deployment se ofrece una compatibilidad ampliada para abarcar tanto bibliotecas nativas compartidas como clases que heredan de Java.Lang.Object. Las compilaciones de Fast Deployment que aprovechan estas nuevas mejoras solo tendrán que generar un nuevo archivo .apk en un caso reducido de escenarios, como cuando el archivo AndroidManifest.xml cambia debido a la adición de una nueva subclase Android.App.Application o Activity. Estas mejoras aún no están habilitadas de forma predeterminada en la versión preliminar actual. Para habilitarlas, establezca la propiedad $(AndroidFastDeploymentType) de MSBuild en Assemblies:Dexes en el archivo .csproj:

<PropertyGroup> 
  <AndroidFastDeploymentType>Assemblies:Dexes</AndroidFastDeploymentType> 
</PropertyGroup>
Compatibilidad con Dex Compiler(d8) y Code Shrinker(r8) de última generación en Xamarin.Android

Xamarin.Android admite ahora el compilador dex Android (d8) y el reductor de código (r8) más actualizados. Para habilitar estas características, establezca las propiedades $(AndroidDexTool) y $(AndroidLinkTool) de MSBuild en d8 y r8 respectivamente en el archivo .csproj.

  • d8 es un compilador dex de última generación que se ejecuta más rápido y genera archivos .dex más pequeños con un mejor rendimiento en tiempo de ejecución.
<PropertyGroup> 
  <AndroidDexTool>d8</AndroidDexTool>
</PropertyGroup>
  • r8es una herramienta nueva para reducción y minificación que convierte el código de bytes de Java en código dex optimizado que reemplaza la necesidad de ProGuard.
<PropertyGroup> 
  <AndroidLinkTool>r8</AndroidLinkTool>
</PropertyGroup>

Para más detalles sobre d8 y r8, lea nuestra documentación.

Mejoras de Xamarin.Android Designer

Hemos realizado varias mejoras de productividad para las interacciones en la Vista en dos paneles.

  • Arrastrar directamente desde el cuadro de herramientas y coloque en el editor de código fuente para ayudar a agregar scaffolds rápidamente a sus diseños de Android.
Android Designer Toolbox to Source Editor
  • Seleccione los elementos directamente desde su intervalo de definición XML en el editor de código fuente. Esto se ha implementado mediante la sincronización de la posición del símbolo de intercalación con la vista de Android correspondiente, lo que le permite obtener acceso rápidamente a las propiedades de un elemento en el panel de propiedades directamente desde el editor.
Android Designer Source Editor to Property Editor
  • Use una vista previa del color insertada en el código XML para poder ver qué colores se usan en los controles.
Android Designer Color Preview
  • Use nuestra característica de información rápida manteniendo el puntero sobre un valor para obtener más información sobre él, por ejemplo, dónde se define o cuál es el valor hexadecimal del color.
Android Designer Quick Info
*Información rápida en acción*
Mejoras del diseñador de Xamarin.Android con compatibilidad inicial con diseños de restricciones.

Hemos empezado a trabajar en la mejora de la velocidad de inicio de Android Designer. Como parte de este esfuerzo, también hemos mejorado los mensajes que el diseñador muestra mientras se está cargando.

Android Designer Output

Junto a estas mejoras, Android Designer ahora admite de forma nativa Android Pie (9.0) y proporciona finalización automática para atributos ConstraintLayout.

Obtención de mejores optimizaciones de comentarios e IntelliSense XML con Xamarin.Android Designer

Al usar IntelliSense para agregar un widget a un diseño, ahora se ofrece una experiencia completa de fragmento de código para que se puedan proporcionar los atributos necesarios desde el principio. Hemos agregado funciones para agregar y quitar comentarios de manera inteligente en los diseños XML de Android.

Mayor productividad con la opción Ir a definición y uso de IntelliSense XML en archivos de recursos de Android y AndroidManifest.xml

Ahora puede usar Ctrl + clic en direcciones URL de recursos para navegar al archivo o la línea donde están definidas.

Android Designer Go-To-Definition

IntelliSense y finalización automática ahora son compatibles con otros archivos XML de Android distintos de los diseños (colores, cadenas, recursos Drawable, menús, manifiesto de Android, etcétera).

Plataforma universal de Windows

  • La extensión IntelliCode ahora es compatible con XAML.
  • Para reducir el tamaño y la complejidad de la instalación de Visual Studio, los emuladores de Windows Phone se han quitaron de la instalación de Visual Studio. Ahora deberá descargar los emuladores de forma manual.
  • Se han quitado las herramientas de XAML en tiempo de diseño para aplicaciones para UWP dirigidas a los SDK de Windows 10 antes de Windows 10 Fall Creators Update (compilación 16299). Redestine las aplicaciones a Windows 10 versión 1709 o posterior para usar el Diseñador XAML o el editor de XAML.
  • Ya no se admiten los proyectos de prueba de UWP que usan project.json para definir las dependencias de NuGet. Debe actualizar el proyecto para usar el nuevo formato PackageReference.
  • Las aplicaciones de JavaScript para UWP ya no se admiten en Visual Studio 2019. No puede crear ni abrir proyectos de JavaScript para UWP (archivos con extensión jsproj). Para más información, consulte nuestra documentación sobre la creación de aplicaciones web progresivas (PWA) que se ejecuten correctamente en Windows.
  • Puede proseguir y adjuntar aplicaciones de UWP de JavaScript como antes, pero las herramientas de generación de perfiles de JavaScript (Generador de perfiles de Red, CPU y Memoria) ya no están disponibles en Visual Studio 2019.

Actualizaciones de plantilla de las herramientas de Office

En Visual Studio 2019, hemos realizado algunos cambios en las plantillas de Office, SharePoint y VSTO.

  • Las plantillas de SharePoint 2019 que se agregaron en Visual Studio 2017 15.9 también están disponibles en Visual Studio 2019.
  • Se ha quitado la compatibilidad con Flujo de trabajo secuencial o Flujos de trabajo de máquina de estado de SharePoint. Aunque no podrá crear ni abrir estos flujos de trabajo en Visual Studio 2019, aún puede editarlos en versiones anteriores de Visual Studio.
  • Las plantillas de Office 2010 ya no estarán disponibles. Sin embargo, todavía puede abrir proyectos existentes de Office 2010 en Visual Studio 2019.
  • Ha cambiado el nombre de las plantillas de Office 2013 y 2016 para reflejar que admiten Office 2013 y versiones posteriores.

Team Explorer y Azure DevOps

Lanzamos una nueva experiencia simplificada centrada en los desarrolladores al conectar Team Explorer a un proyecto de Azure DevOps.

  • Céntrese en elementos de trabajo pertinentes al filtrar y dinamizar la vista según los elementos de trabajo que tenga asignados, los que está siguiendo, aquellos donde le mencionen en la conversación y basados e en su actividad.

    • Dentro de cada vista, puede crear un elemento de trabajo insertado, realizar ediciones insertadas simples, marcar un elemento de trabajo como completado y asociar un elemento de trabajo a cambios pendientes.
  • Cree una rama local a partir de un elemento de trabajo que relacione automáticamente el elemento de trabajo con los cambios hechos en esa rama local. Esta es la experiencia predeterminada. Si quiere cambiar a la experiencia heredada, puede configurar la experiencia Elementos de trabajo en Visual Studio. Tenga en cuenta que esta nueva experiencia solo se cumple para repositorios Git. La nueva experiencia para los repositorios TFVC estará disponible en una actualización siguiente.

    Azure DevOps Work Item Hub
    *Concentrador de elementos de trabajo de Azure DevOps*
  • Busque elementos de trabajo al hacer una #mención en el mensaje de confirmación con cambios pendientes. Para más información, consulte la página View and add work items using the Work Items (Ver y agregar elementos de trabajo mediante Elementos de trabajo).

    Azure DevOps #mentions
    *#menciones en Azure DevOps*
  • La compatibilidad con Microsoft Project se ha quitado del complemento Integración de Office para Team Foundation Server 2019 para Visual Studio 2019 debido a una baja tasa de adopción en Azure DevOps. Ahora deberá exportar los elementos de trabajo a Excel y pegarlos manualmente en Project.

  • La compatibilidad con PowerPoint se ha quitado del complemento Integración de Office para Team Foundation Server 2019 para Visual Studio 2019. Sin embargo, los usuarios aún pueden crear guiones gráficos en PowerPoint y vincularlos manualmente a elementos de trabajo en Azure DevOps.

Application Insights y HockeyApp

  • La ventana Tendencias de Application Insights se ha quitado en Visual Studio 2019 a favor de alternativas que son más completas. En su lugar, puede usar la ventana Búsqueda de Application Insights en Visual Studio o el amplio conjunto de herramientas de diagnóstico de Application Insights en Azure Portal.
  • Se han quitado los asistentes para agregar el SDK de HockeyApp y para crear nuevas distribuciones beta. En su lugar, se recomienda usar Visual Studio App Center, el sucesor de HockeyApp. Todavía puede usar HockeyApp con normalidad, salvo por estos métodos abreviados en Visual Studio.

Release Notes Icon Principales problemas corregidos en Visual Studio 2019 RC

actualizados por última vez el 26 de abril de 2019


Problemas conocidos

Consulte todos los problemas conocidos y las soluciones alternativas disponibles de la versión 16.0 de Visual Studio 2019 en el vínculo siguiente.

Visual Studio 2019 Known Issues

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 Feedback Icon se encuentra en la esquina superior derecha. Puede realizar una sugerencia de producto o un seguimiento de los problemas en la comunidad de desarrolladores de Visual Studio, donde podrá hacer preguntas, encontrar respuestas y proponer nuevas características. También puede obtener ayuda gratuita para la instalación a través de nuestro servicio de soporte técnico de chat en directo.


Blogs

Saque partido de la información y de las recomendaciones disponibles en los blogs de Developer Tools que le mantendrán al día sobre las nuevas versiones y con publicaciones con mucha información sobre una gran variedad de características.


Historial de notas de la versión de Visual Studio 2019

Para obtener más información sobre versiones anteriores de Visual Studio 2019, consulte la página Historial de notas de la versión de Visual Studio 2019.


Principio de página