Visual Studio IconNotas de la versión 15.0 de Visual Studio 2017


Comunidad de desarrolladores | Requisitos del sistema | Compatibilidad | Código distribuible | Términos de licencia | Blogs | Problemas conocidos



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.



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. Realice un seguimiento de los problemas en la comunidad de desarrolladores de Visual Studio, donde podrá hacer preguntas y encontrar respuestas. Puede obtener ayuda gratuita para la instalación a través de nuestro servicio de soporte técnico de chat en directo.

Período de tiempo de soporte técnico

Los usuarios de Enterprise y Professional de la versión 15.0 de Visual Studio 2017 cuentan con soporte técnico y recibirán correcciones de vulnerabilidades de seguridad hasta enero de 2020. Este período de tiempo viene determinado por el hecho de que, en octubre de 2018, la versión 15.9 de Visual Studio 2017 se designó como la siguiente línea de base de mantenimiento para el producto de Visual Studio 2017. Puede adquirir la última versión más segura de Visual Studio 2017 en la sección de descargas de my.visualstudio.com.  Para obtener más información sobre las líneas base con soporte técnico de Visual Studio, revise la directiva de compatibilidad para Visual Studio 2017

Consulte las notas de la versión más reciente o visite el sitio de Visual Studio para descargar la última versión de Visual Studio 2017 con soporte técnico.


Historial de versiones


Release Notes IconVisual Studio 2017, versión 15.0 (26228.102)

Fecha de publicación: 11 de diciembre de 2019

Aviso de seguridad de Visual Studio 2017, versión 15.0

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.


Release Notes IconVisual Studio 2017, versión 15.0 (26228.98)

publicada el 10 de septiembre de 2019

Aviso de seguridad de Visual Studio 2017, versión 15.0

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 IconVisual Studio 2017, versión 15.0 (26228.96)

publicado el 13 de agosto de 2019

Aviso de seguridad de Visual Studio 2017, versión 15.0

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.


Release Notes IconVisual Studio 2017, versión 15.0 (26228.92)

publicado el 9 de julio de 2019

Aviso de seguridad de Visual Studio 2017, versión 15.0

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, vea el artículo de XOML.


Release Notes IconVisual Studio 2017, versión 15.0 (26228.88)

publicado el 11 de junio de 2019

Problema corregido en esta versión


Release Notes IconVisual Studio 2017, versión 15.0 (26228.84)

publicado el 14 de mayo de 2019

Aviso de seguridad de Visual Studio 2017, versión 15.0

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 IconVisual Studio 2017, versión 15.0 (26228.76)

publicado el 12 de marzo de 2019

Aviso de seguridad de Visual Studio 2017, versión 15.0

CVE-2019-9197 Vulnerabilidad de ejecución remota de código del Editor de Unity

Hay una vulnerabilidad de ejecución remota de código en el Editor de Unity, un software de terceros cuya instalación ofrece que Visual Studio como parte de la carga de trabajo Desarrollo de juegos con Unity. Si ha instalado Unity desde Visual Studio, asegúrese de actualizar la versión de Unity que usa a una en la que se solucione la vulnerabilidad, como se describe en el CVE. El instalador de Visual Studio se ha actualizado para ofrecer la instalación de una versión del Editor de Unity en la que se soluciona esta vulnerabilidad.


Release Notes IconVisual Studio 2017, versión 15.0 (26228.73)

publicado el 12 de febrero de 2019

Avisos de seguridad de Visual Studio 2017, versión 15.0

CVE-2019-0613 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.

CVE-2019-0657 Vulnerabilidad de suplantación de la identidad en .NET Framework y Visual Studio

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.


Release Notes IconVisual Studio 2017, versión 15.0 (26228.64)

publicada el 11 de diciembre de 2018

Problemas corregidos en esta versión

  • Los usuarios de Azure DevOps que tienen espacios en sus nombres de proyecto o nombres de repositorio se encontrarán con errores al clonarlos o publicarlos en Team Explorer.

Aviso de seguridad de Visual Studio 2017, versión 15.0

CVE-2018-8599 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 determinadas operaciones de archivos. Un atacante que logra aprovechar esta vulnerabilidad podría obtener privilegios elevados. 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 que el servicio recopilador estándar del concentrador de diagnósticos suplanta correctamente las operaciones de archivos.


Release Notes IconVisual Studio 2017, versión 15.0 (26228.57)

publicada el 10 de octubre de 2018

Aviso de seguridad de Visual Studio 2017, versión 15.0

CVE-2018-8292 vulnerabilidad de divulgación de información de .NET Core

Hay una vulnerabilidad de omisión de característica de seguridad en .NET Core que expone información de autenticación HTTP accidentalmente en una solicitud saliente que se encuentra una redirección HTTP. Un atacante que haya aprovechado correctamente esta vulnerabilidad puede usar la información para poner en peligro la aplicación web. La actualización de seguridad corrige la vulnerabilidad mediante la corrección de cómo controla la aplicación .NET Core las redirecciones HTTP.


Release Notes IconVisual Studio 2017, versión 15.0 (26228.52)

publicado el 28 de agosto de 2018

Problemas corregidos en esta versión


Release Notes IconVisual Studio 2017, versión 15.0 (26228.49)

publicado el 14 de agosto de 2018

Aviso de seguridad de Visual Studio 2017, versión 15.0

CVE-2018-0952 Vulnerabilidad de elevación de privilegios del recopilador estándar del concentrador de diagnósticos

Existe una vulnerabilidad de elevación de privilegios en un servicio de Visual Studio que puede dar lugar a la concesión de privilegios del sistema a un usuario no administrativo al escribir archivos. Un atacante que quisiera aprovecharse podría escribir archivos como si fueran del sistema solo con acceso de nivel de usuario. Esta actualización de seguridad soluciona este problema al suplantar al usuario actual para validar el acceso a la ubicación de archivos.


Release Notes IconVisual Studio 2017, versión 15.0 (26228.46)

publicado el 2 de agosto de 2018

Resumen de actualizaciones de esta versión

  • Con esta versión ahora se instala Java™ Development Kit 8, actualización 181 (versión de JDK 8u181).

Aviso de seguridad de Visual Studio 2017, versión 15.0

CVE-2018-8356 Vulnerabilidad de omisión de características de seguridad de .NET Core

Microsoft es consciente de la existencia de una vulnerabilidad de omisión de característica de seguridad que se produce cuando .NET Core no valida correctamente los certificados. Un atacante que aproveche esta vulnerabilidad podría presentar un certificado expirado cuando se le solicite. En la actualización se soluciona la vulnerabilidad mediante la corrección de cómo .NET Core controla la validación de certificados.


Release Notes IconVisual Studio 2017, versión 15.0 (26228.43)

publicado el 10 de julio de 2018

Avisos de seguridad de Visual Studio 2017, versión 15.0

CVE-2018-8172 Vulnerabilidad de ejecución remota de código de Visual Studio

Vulnerabilidad de ejecución remota de código que podía dar lugar a la explotación del equipo de un usuario al abrir un proyecto especialmente diseñado, o archivo de recursos. La actualización de seguridad soluciona la vulnerabilidad al corregir la forma en que Visual Studio comprueba el marcado de origen de un archivo.

CVE-2018-8260 Vulnerabilidad de ejecución remota de código de .NET Framework

Vulnerabilidad de ejecución remota de código en el software de .NET que podía dar lugar a la explotación del equipo de un usuario al permitir a los atacantes ejecutar código arbitrario en el contexto del usuario actual. La actualización de seguridad soluciona la vulnerabilidad al corregir la forma en que .NET comprueba el marcado de origen de un archivo.

CVE-2018-8232 Vulnerabilidad de manipulación del macroensamblador de Microsoft de .NET

Vulnerabilidad de manipulación relacionada con la validación incorrecta de código por parte del macroensamblador de Microsoft. La actualización de seguridad soluciona la vulnerabilidad al garantizar que el macroensamblador de Microsoft valide correctamente la lógica del código.

CVE-2018-8171 Vulnerabilidad de omisión de características de seguridad de ASP.NET Core

Vulnerabilidad de omisión de características de seguridad de ASP.NET Core que consistía en que no se validaba el número de intentos incorrectos de inicio de sesión, lo que podía dar lugar a que un atacante realizase infinitos intentos de autenticación. La actualización soluciona la vulnerabilidad al validar el número de intentos de inicio de sesión incorrectos.


Release Notes IconVisual Studio 2017, versión 15.0 (26228.37)

publicado el 31 de mayo de 2018

Aviso de seguridad de Visual Studio 2017, versión 15.0

CVE-2018-11235 Aviso de seguridad de Microsoft sobre vulnerabilidad de la seguridad de Git

Se ha corregido una vulnerabilidad de seguridad en Git que se detectó por la comunidad de Git. La vulnerabilidad puede permitir la ejecución de código arbitrario cuando un usuario clona un repositorio malintencionado.


Release Notes IconVisual Studio 2017, versión 15.0 (26228.31)

Publicado el 26 de abril de 2018

Resumen de actualizaciones de esta versión

  • Hemos pasado a Java™ Development Kit 8, actualización 172 (versión de JDK 8u172).

Release Notes IconVisual Studio 2017, versión 15.0 (26228.30)

Publicado el 10 de abril de 2018

Aviso de seguridad de Visual Studio 2017, versión 15.0

CVE-2018-1037 Avisos de seguridad de Microsoft sobre la vulnerabilidad de divulgación de información de Microsoft Visual Studio

Existe una vulnerabilidad relativa a la divulgación de información cuando Visual Studio divulga incorrectamente contenido limitado de memoria no inicializada al compilar archivos de base de datos de programa (PDB). Un atacante que se aprovechó de esta divulgación de información podía ver la memoria no inicializada de la instancia de Visual Studio utilizada para compilar el archivo PDB.

Para aprovechar la vulnerabilidad, el atacante necesitaría acceso a un archivo PDB afectado creado con una versión vulnerable de Visual Studio. El atacante no tendría forma de obligar a un desarrollador a producir esta divulgación de información.

La actualización de seguridad trata la vulnerabilidad al corregir cómo se generan los archivos PDB cuando se compila un proyecto.


Release Notes IconVisual Studio 2017, versión 15.0 (26228.29)

publicado el 13 de marzo de 2018

Aviso de seguridad de Visual Studio 2017, versión 15.0

CVE-2018-0875 Avisos de seguridad de Microsoft sobre .NET Core

Microsoft es consciente de una vulnerabilidad de seguridad en las versiones públicas de .NET Core que consiste en que un archivo o una solicitud web malintencionados podrían provocar un ataque por denegación de servicio (DoS).

  • Recomendamos a los administradores del sistema que actualicen sus entornos de ejecución de .NET Core a las versiones 1.0.10, 1.1.7 o 2.0.6. Recomendamos a los desarrolladores que actualicen el SDK de .NET Core a la versión 1.1.8 o 2.1.101.

Release Notes IconVisual Studio 2017, versión 15.0 (26228.26)

publicado el 21 de febrero de 2018

Resumen de actualizaciones de esta versión

Team Explorer es compatible con TLSv1.2. Hemos actualizado los componentes de Git y Git Credential Manager que se distribuyen en Visual Studio. El componente opcional de Git para Windows también se ha actualizado. Esta actualización permite a Git conectarse a los servicios que hayan puesto en desuso la compatibilidad con TLSv1 y TLSv1.1 en favor de TLSv1.2.


Release Notes IconVisual Studio 2017, versión 15.0 (26228.23)

Publicado el 2 de febrero de 2018

Resumen de actualizaciones de esta versión

  • El compilador de MSVC se ha actualizado para que sea compatible con el modificador de /Qspectre, con lo que se insertará automáticamente una barrera de especulación cuando el compilador detecte instancias de la variante 1 de espectro. Para obtener más información sobre /Qspectre, consulte el Blog del equipo de Visual C++.
  • El JDK se ha volcado a la versión 8u161 para solucionar errores de descarga.

Release Notes IconVisual Studio 2017, versión 15.0 (26228.21)

Publicado el 9 de enero de 2018

Avisos de seguridad de Visual Studio 2017, versión 15.0

CVE-2018-0786 Omisión de características de seguridad en la validación del certificado X509

Microsoft publica este aviso de seguridad para proporcionar información sobre una vulnerabilidad en las versiones públicas de .NET Core 1.0, 1.1 y 2.0. En este aviso también se proporcionan instrucciones sobre qué deben hacer los desarrolladores para actualizar sus aplicaciones correctamente. Este aviso de seguridad también se puede aplicar a .NET nativo para UWP.

Microsoft es consciente de que hay una vulnerabilidad de seguridad en las versiones públicas de .NET Core que permiten que un atacante pueda presentar un certificado marcado como inválido para un uso específico, pero que un componente lo use para ese propósito. Esta acción no tiene en cuenta el etiquetado de Uso mejorado de clave.

La actualización de seguridad soluciona la vulnerabilidad asegurándose de que los componentes de .NET Core validan completamente los certificados. Recomendamos a los administradores del sistema que actualicen sus entornos de ejecución de .NET Core a las versiones 1.0.9, 1.1.6 y 2.0.5. Recomendamos a los desarrolladores que actualicen el SDK de .NET Core a la versión 2.1.4 o 1.1.7.

CVE-2018-0764 Denegación de servicio al analizar documentos XML

Microsoft publica este aviso de seguridad para proporcionar información sobre una vulnerabilidad en las versiones públicas de .NET Core 1.0, 1.1 y 2.0. En este aviso también se proporcionan instrucciones sobre qué deben hacer los desarrolladores para actualizar sus aplicaciones correctamente.

Microsoft es consciente de que hay una vulnerabilidad de denegación de servicio en todas las versiones públicas del núcleo de .NET debido a un procesamiento incorrecto de documentos XML. Un atacante que aprovechase correctamente esta vulnerabilidad podría producir una denegación de servicio en una aplicación .NET. Un atacante remoto no autenticado podría aprovechar esta vulnerabilidad si usa solicitudes creadas especialmente a una aplicación .NET Core.

La actualización soluciona la vulnerabilidad mediante la corrección de cómo el núcleo de .NET controla el procesamiento de documentos XML. Recomendamos a los administradores del sistema que actualicen sus entornos de ejecución de .NET Core a las versiones 1.0.9, 1.1.6 y 2.0.5. Recomendamos a los desarrolladores que actualicen el SDK de .NET Core a la versión 2.1.4 o 1.1.7.


Release Notes IconVisual Studio 2017, versión 15.0 (26228.18)

Publicado el 6 de diciembre de 2017

Aviso de seguridad de Visual Studio 2017, versión 15.0

Microsoft ha publicado avisos de seguridad para ASP.NET Core. Encontrará los detalles en los anuncios correspondientes del repositorio de ASP.NET Core. Tenga en cuenta la información siguiente:

CVE-2017-8700 Omisión de CORS que puede permitir la divulgación de información

Existe una vulnerabilidad de seguridad en ASP.NET Core 1.0 y 1.1 que consiste en que se puede omitir CORS (uso compartido de recursos entre orígenes), lo que da lugar a una divulgación de información. En los nuevos proyectos creados con ASP.NET Core 1.0 y ASP.NET Core 1.1, ahora se usarán versiones de paquetes en los que se incluirán la actualización de seguridad anterior. Para los proyectos existentes, los usuarios pueden actualizar los paquetes a versiones más recientes con el cuadro de diálogo Administrar paquetes NuGet.


Release Notes IconVisual Studio 2017, versión 15.0 (26228.17)

publicado el 14 de noviembre de 2017

Avisos de seguridad de Visual Studio 2017, versión 15.0

Microsoft ha publicado avisos de seguridad para .NET Core y ASP.NET Core. Encontrará los detalles en los anuncios correspondientes de los repositorios de .NET Core y ASP.NET Core. Tenga en cuenta la información siguiente:

CVE-2017-8585 Certificado con formato incorrecto que puede provocar una denegación de servicio

Existe una vulnerabilidad de seguridad en .NET Core 1.0, 1.1 y 2.0 por la que un certificado con formato incorrecto u otros datos con formato ASN.1 pueden causar una denegación de servicio a través de un bucle infinito en Linux y macOS. Recomendamos a los administradores del sistema que actualicen sus entornos de ejecución de .NET Core a las versiones 1.0.8, 1.1.5 y 2.0.1. Recomendamos a los desarrolladores que actualicen el SDK de .NET Core a la versión 2.0.3 o 1.1.5.

CVE-2017-8700 Omisión de CORS que puede permitir la divulgación de información

Existe una vulnerabilidad de seguridad en ASP.NET Core 1.0 y 1.1 que consiste en que se puede omitir CORS (uso compartido de recursos entre orígenes), lo que da lugar a una divulgación de información.

CVE-2017-11879 Redireccionamiento abierto que puede provocar una elevación de privilegios

Existe una vulnerabilidad de seguridad en ASP.NET Core 2.0 que consiste en que hay un redireccionamiento abierto que puede causar una elevación de privilegios.

CVE-2017-11770 Vulnerabilidad de denegación de servicio

Existe una vulnerabilidad de seguridad en ASP.NET Core 1.0, 1.1 y 2.0 cuando la aplicación se hospeda con Http.Sys de Windows que consiste en que una solicitud con un formato incorrecto puede causar una denegación de servicio. En los nuevos proyectos creados con ASP.NET Core 1.0 y ASP.NET Core 1.1, ahora se usarán versiones de paquetes en los que se incluirán las actualizaciones de seguridad anteriores. Para los proyectos existentes, los usuarios pueden actualizar los paquetes a versiones más recientes con el cuadro de diálogo Administrar paquetes NuGet.


Release Notes IconVisual Studio 2017, versión 15.0 (26228.16)

Publicado el 18 de septiembre de 2017

Problemas corregidos en esta versión


Release Notes IconVisual Studio 2017, versión 15.0 (26228.13)

Publicado el 23 de mayo de 2017

Problemas corregidos en esta versión

Los escenarios de instalación sin conexión ya no requieren acceso a Internet.


Release Notes IconVisual Studio 2017, versión 15.0 (26228.12)

publicado el 31 de marzo de 2017

Resumen de actualizaciones de esta versión

Ahora las herramientas y las API de Xcode 8.3, iOS 10.3, watchOS 3.2 y tvOS 10.2 son compatibles con la extensión Xamarin.VS para Visual Studio 2017.


Release Notes IconVisual Studio 2017, versión 15.0 (26228.10)

Publicado el 28 de marzo de 2017

Problemas corregidos en esta versión

Estos son los problemas detectados por los clientes solucionados en la compilación 26228.10:


Release Notes IconVisual Studio 2017, versión 15.0 (26228.09)

Publicado el 14 de marzo de 2017

Problemas corregidos en esta versión

Estos son los problemas detectados por los clientes que se solucionaron en la compilación 26228.09:


Release Notes IconVisual Studio 2017, versión 15.0 (26228.04)

publicado el 7 de marzo de 2017

Resumen de actualizaciones de esta versión

Desarrollo: explore, escriba y corrija el código con rapidez

  • La nueva experiencia de instalación tiene un impacto mínimo reducido para una instalación más rápida y personalizable, así como soporte técnico para las instalaciones sin conexión.
  • El IDE de Visual Studio proporciona una amplia variedad de mejoras en Visual Studio 2017, que incluyen la reducción de los tiempos de inicio y carga de soluciones, las mejoras en el inicio de sesión y la entidad, una mejor navegación del código, la vista de carpeta abierta y los servicios conectados permiten conexiones entre la aplicación y cualquier servicio en el entorno local o en la nube.
  • No hay ningún cambio importante para Visual C++ entre 2015 y 2017. Mejor nivel de conformidad con C++14, compatibilidad con CMake, rendimiento de la compilación y productividad en el editor.
  • C# y Visual Basic amplían la compatibilidad con las nuevas características de lenguaje C# 7.0 y Visual Basic 15, y se presentan nuevas refactorizaciones que le permiten organizar el código fuente con una acción.
  • Compatibilidad de F# con características del lenguaje F# 4.1, mejoras en el compilador de F# y FSharp.Core, y un nuevo editor basado en áreas de trabajo de Roslyn.
  • JavaScript y TypeScript con TypeScript 2.1 disponible para todos los proyectos de TypeScript en Visual Studio. Hay disponible y habilitado de manera predeterminada un nuevo servicio de lenguaje JavaScript.

Depuración: Depure, genere perfiles y emita diagnósticos con facilidad

Revisión de depuración y diagnóstico del asistente de excepciones y la navegación de código más rápido con Ejecutar hasta la línea. Además, dispone de un nuevo resumen de los eventos de aplicación en la ventana de herramientas de diagnóstico y de varias mejoras en la herramienta de la CPU.

Prueba: escriba código de alta calidad con herramientas de pruebas integrales

  • Las pruebas unitarias dinámicas ahora pueden visualizar los resultados de las pruebas unitarias y de la cobertura de código en vivo en el editor.
  • Las herramientas de pruebas asocian la automatización con elementos de trabajo de casos de prueba mediante el Explorador de pruebas.

Colaboración: use el control de versiones, actúe con agilidad y colabore de manera eficiente.

  • Nuevas características de Git en Team Explorer y una experiencia de conexión actualizada para hacer más con Git en Visual Studio 2017 y encontrar fácilmente los proyectos y repositorios a los que se quiere conectar.
  • El flujo de trabajo mejorado para comentarios sobre Visual Studio tiene informes de problemas de más colaboración. Búsqueda, seguimiento y votos para obtener las actualizaciones más recientes de todos los comentarios.

Extensión: compile sus propias extensiones para personalizarlas a su gusto.

  • Extensiones de Visual Studio: compile sus propias extensiones para personalizar Visual Studio a su gusto.
  • Detección de plantillas de proyecto y elemento: hay un cambio importante en lo que respecta a cómo Visual Studio usa plantillas de proyecto y elemento para mejorar el rendimiento de la detección de plantillas.

Equipar: use herramientas para aumentar la productividad y explorar nuevas capacidades

  • .NET Core y ASP.NET Core: contiene la versión 1.0 final de las nuevas herramientas de .NET Core basadas en MSBuild. Con Visual Studio 2017, puede crear bibliotecas estándar de .NET, aplicaciones y bibliotecas de .NET Core y proyectos web de ASP.NET que usan el nuevo formato csproj.
  • Herramientas de desarrollo de aplicaciones universales de Windows: las actualizaciones incluyen una versión nueva de la cadena de herramientas nativas de .NET, el marco NuGet de .NET Core, nuevas herramientas de productividad y compatibilidad con el SDK de Windows 10 "Creators Update".
  • Xamarin: Xamarin 4.3 agrega compatibilidad con tvOS y mejora la ya existente con el catálogo de recursos de iOS, así como la experiencia de edición de XML.
  • Visual Studio Tools para Apache Cordova: un nuevo simulador basado en el explorador le permite programar rápidamente y ver los resultados de inmediato.
  • Herramientas de Node.js para Visual Studio: las actualizaciones se centraron en la estabilidad, el rendimiento y la calidad general del producto.
  • Visual Studio Tools para Unity: Visual Studio Tools para Unity 3 ahora está disponible con la carga de trabajo "Desarrollo de juegos con Unity" en el nuevo instalador de Visual Studio.
  • Redgate Data Tools: para ampliar las capacidades de DevOps al desarrollo de bases de datos SQL, Visual Studio ahora incluye Redgate Data Tools, que incluye Redgate ReadyRoll Core, Búsqueda de SQL y SQL Prompt Core.
  • NuGet: NuGet ahora es compatible con el almacenamiento de la información de dependencias de paquetes directamente en archivos de proyecto como referencias de paquete, mientras se mantienen los avances de las referencias transitivas de paquetes.
  • Herramientas para aplicaciones XAML: la barra de herramientas de tiempo de ejecución de XAML ahora permite realizar el seguimiento de foco. Se ha mejorado la productividad de XAML con la opción de editar y continuar de XAML, se ha mejorado el editor XAML y se han realizado optimizaciones de rendimiento.
  • Data Tools y SQL Server: la actualización más reciente de SQL Server Data Tools permite la compatibilidad con las características más recientes de Azure SQL Database y SQL Server 2016.
  • Developer Analytics Tools: Visual Studio 2017 incluye Developer Analytics Tools versión 8.6 con una gran cantidad de mejoras en las características de Application Insights y HockeyApp de Visual Studio.
  • Office Developer Tools para Visual Studio: incluye Office Developer Tools con las características y actualizaciones más recientes.
  • Validación dinámica de dependencias de arquitectura: notificaciones en tiempo real de los diagramas de validación de dependencias (también conocido como diagramas de capas).
  • Símbolo del sistema para desarrolladores: scripts refactorizados para admitir la nueva experiencia de instalación.
  • Azure SDK para .NET: ahora disponible para el nuevo instalador de Visual Studio.

Detalles de las novedades de la versión 15.0 (26228.04)

What's New in This Release Icon Detalles de Visual Studio 2017, versión 15.0 (26228.04)

publicado el 7 de marzo de 2017

Experiencia de instalación

Estamos encantados de presentar nuestro nuevo instalador, que se ha diseñado desde cero para:

  • Reducir la superficie mínima de Visual Studio.
  • Instalar más rápidamente y con menos impacto del sistema y desinstalar de forma limpia.
  • Facilitar la selección e instalación de solo las características que necesita.

Cuando instale por primera vez Visual Studio 2017, disfrutará de la nueva experiencia (Figura 1):

The new installation experience in Visual Studio 2017
(Figura 1) Nueva experiencia de instalación de Visual Studio 2017

La instalación más pequeña es de solo unos pocos cientos de megabytes, aunque todavía contiene soporte para la edición de código básico para más de veinte idiomas, incluido el control de código fuente. La mayoría de los usuarios querrán instalar más. Puede agregar una o más “cargas de trabajo” que representen marcos, lenguajes y plataformas comunes para abarcarlo todo, desde el desarrollo de escritorio de .NET hasta el desarrollo de juegos con Unity.

Actualización de Visual Studio

Para actualizar Visual Studio, ejecute el instalador de Visual Studio y haga clic en el botón Actualizar.

Comentarios sobre el nuevo instalador

Puede informar sobre problemas o felicitarnos con los comandos Notificar un problema y Proporcionar una sugerencia desde el cliente del nuevo instalador, que encontrará en la esquina superior derecha de la barra de título. Nos interesa saber si se producen errores de instalación, desinstalación o modificación de la instalación, así como tiempos de instalación anómalos (por ejemplo, bloqueos) o mensajes de error inesperados.

Creación de un diseño para la instalación sin conexión y nueva compatibilidad con la instalación desde la línea de comandos

Ahora los administradores del sistema y otros usuarios pueden crear un diseño de Visual Studio sin conexión que contenga todo lo necesario para instalar el producto sin que haga falta tener acceso a Internet. Este diseño puede ser el producto completo, un subconjunto de cargas de trabajo o componentes y una o varias configuraciones regionales del producto. Tenga en cuenta que se requiere acceso a Internet para crear el diseño sin conexión. Para obtener más información, consulte Create an offline installation of Visual Studio 2017 (Creación de una instalación sin conexión de Visual Studio 2017).

Sobrenombre de la instalación

Visual Studio Enterprise y Community (entre otros productos) ahora se pueden instalar en paralelo en el mismo equipo. Con el fin de identificar con más facilidad estas instalaciones, puede especificar un nombre corto o "alias". Por ejemplo, si fuera a instalar Visual Studio Enterprise y, después, instalar la edición Community, ambas ediciones aparecerían el mismo en el menú de inicio. Puede asignar a la segunda edición un alias como "comunidad", y los elementos del menú de inicio aparecerán con nombres como "Visual Studio 2017 (comunidad)" y "Símbolo del sistema para desarrolladores de Visual Studio 2017 (comunidad)".

IDE de Visual Studio

Mejoras del IDE

  • Visual Studio se optimizó para disminuir el tiempo de inicio y el tiempo de carga de solución. El primer lanzamiento de Visual Studio es un 50 % más rápido.
  • Visual Studio ahora supervisará el rendimiento de la extensión que afecta al inicio, la carga de solución o la edición. Recibirá alertas sobre las extensiones de bajo rendimiento en la barra de notificaciones del IDE. El nuevo Centro de rendimiento (disponible también en Ayuda > Administrar el rendimiento de Visual Studio) le permite ver no solo las extensiones que afectan al rendimiento, sino también detectar ventanas de herramientas que afectan al rendimiento de inicio y cambiar su comportamiento de carga al inicio.
  • Es posible seleccionar la extensión de GitHub para Visual Studio en el nuevo instalador de Visual Studio.
  • Recargar todos los proyectos se ha reemplazado por Recargar solución para mejorar el rendimiento cuando se conmutan las ramas externas a Visual Studio. Al usar la línea de comandos Git para cambiar las ramas, elija Recargar solución después de que la rama haya cambiado para lograr la máxima mejora del rendimiento.
  • Se mejoraron las capacidades de comodín de archivos para los proyectos .NET Core y ASP.NET Core. Consulte Comodín de archivo de proyecto para más detalles.
  • Ahora se le dirigirá automáticamente a la vista de carpeta del repositorio después de la clonación. Puede ver archivos o abrir soluciones con la nueva lista de selección de soluciones en el Explorador de soluciones.
  • Se introduce un nuevo host de servicio externo que reemplazará a VSHub. Este host de servicio nuevo es un proceso externo y aparecerá en el Administrador de tareas como ServiceHub.Host.CLR.*.exe y también como ServiceHub.Host.Node.x86.exe. Este host eliminará definitivamente el tráfico HTTP del tipo localhost que se introdujo con VSHub, lo que mitigará el ruido que informaron los usuarios de Fiddler.
  • Los mensajes de caducidad de la licencia de la versión preliminar comunican más claramente el estado de la licencia actual.
  • El cuadro de diálogo de configuración de la cuenta es ahora más accesible para los lectores de pantalla.
  • La ayuda sin conexión ya está disponible al instalar el componente Visor de ayuda desde el instalador de Visual Studio.
  • Ahora puede agregar y quitar varios idiomas de la interfaz de usuario en cualquier momento mediante el instalador de Visual Studio en la pestaña Paquetes de idioma. Puede seleccionar el idioma de la interfaz de usuario actual entre los instalados mediante Herramientas > Opciones > Configuración internacional.
  • La barra de estado de control de la versión facilita la publicación de repositorios locales en un host de control de código fuente y la realización del seguimiento del trabajo no confirmado (Figura 2) y no insertado (Figura 3).
Version Control - Unpublished commits example
(Figura 2) Control de versiones: ejemplo de confirmaciones no publicadas
Version Control - No pending changes example
(Figura 3) Control de versiones: ejemplo de cambios no pendientes

Mejoras de identidad e inicio de sesión

Hemos introducido un nuevo servicio de identidades que le permite compartir cuentas de usuario entre herramientas para desarrolladores de Microsoft. En Visual Studio, esta función incluye características como Team Explorer, Azure Tools, publicación en la Tienda Windows y mucho más. Estas características comparten ahora el mismo método de inicio de sesión.

Junto con las mejoras de Visual Studio, hemos completado la implementación de algunas mejoras en el servicio que permiten a los usuarios mantener iniciada su sesión con seguridad y eliminar el inicio de sesión obligatorio cada 12 horas. De esta manera, solucionamos el problema de inicio de sesión del que más informan los usuarios. Más información sobre el menor número símbolos del sistema de Visual Studio.

Página de inicio

La página de inicio rediseñada cuenta con nuevos recursos para abrir y crear que permite:

  • Adquirir repositorios remotos de VSTS o usar la opción de MRU más destacada disponible para abrir soluciones y proyectos locales fácilmente.
  • Entre los elementos usados recientemente de la página de inicio se muestran repositorios que ha clonado en otras máquinas, para que pueda clonarlos fácilmente en el equipo actual.
  • Crear un nuevo proyecto directamente desde la página de inicio con plantillas de búsqueda y una lista de plantillas usadas recientemente. Las plantillas usadas recientemente también se transmiten entre instancias de Visual Studio con una cuenta de personalización.
  • Inicio rápido del nuevo clon de la experiencia de VSTS con la opción “Checkout from VSTS” (Obtener de VSTS) de la página de inicio.
  • Una sección "Introducción" que se puede ocultar.
  • Ahora la sección Noticias se puede contraer:
    • Distintivo actualizado en los elementos recientemente agregados al suministro de noticias.
    • Distintivo en el expansor de suministro de noticias si aparecen elementos nuevos cuando se contrae el suministro de noticias.
  • Diseño visual refinado para abordar los elementos truncados en pantallas más pequeñas y utilización del espacio vacío.

A continuación se muestra la nueva página de inicio (Figura 4):

Start Page with Get Started and News
(Figura 4) Página de inicio con Introducción y Noticias

Navegación por código mejorada

Hemos mejorado considerablemente las funciones de navegación por el código en Visual Studio 2017:

  • Ir a todo (Ctrl+ o Ctrl+ T) permite buscar e ir rápidamente a archivos, tipos, métodos y otros elementos del código. Permite ubicar elementos de todo tipo, incluso en bases de código de gran tamaño. Además, si sabe qué tipo de elemento busca, puede filtrarlo fácilmente. En C#, Visual Basic y F#, agregamos también la coincidencia "aproximada" para que, si se equivoca al escribir el nombre de un tipo, siga obteniendo resultados. También modernizamos la experiencia de Ir a la línea (Ctrl + G). Puede encontrar la familia de comandos de Ir a en la parte superior del menú Edición (Figura 5) y (Figura 6).
Go To Results Filtered
(Figura 5) Ir a resultados filtrados
Go To Line
(Figura 6) Ir a la línea
  • La función Buscar todas las referencias (Mayús+F12) se ha revisado (actualmente para C#, Visual Basic, F# y C++), y actualmente se proporcionan características avanzadas de agrupamiento, filtrado, ordenación, búsqueda en los resultados de referencias y coloración de resultados (para C# y VB), lo que permite ver las referencias con claridad y encontrar la línea de código que necesita de manera sencilla. Cuando mantiene el puntero sobre un elemento de referencia, aparece información sobre herramientas con el contexto de la referencia en el código fuente (para C# y VB). Si activa o desactiva el botón Mantener resultados en la barra de herramientas, la próxima vez que se invoque la funcionalidad Buscar todas las referencias se rellenarán los resultados de referencia en una ventana nueva. Esto permite mantener los resultados actuales en la ventana existente (Figura 7).
Find All Reference
(Figura 7) Buscar todas las referencias
  • Ahora se trazan líneas guía de estructura en el editor, para que pueda visualizar fácilmente la estructura del código en que está trabajando. Cuando se mantiene el puntero sobre el elemento (Figura 8), aparece información sobre herramientas que incluye el contexto del bloque de código actual relacionado con los bloques de su antecesor. Las líneas guía de estructura actualmente son compatibles con archivos de C#, Visual Basic, F# y XAML, y con cualquier archivo compatible mediante gramáticas de TextMate. Esta característica se puede deshabilitar en el cuadro de diálogo Herramientas > Opciones; para ello, desactive la casilla Show structure guide lines (Mostrar líneas guía de estructura) en el Editor de texto>categoría General.
Structure Guide Lines
(Figura 8) Líneas guía de estructura

Compatibilidad con la convención de codificación mediante EditorConfig

El editor de Visual Studio ahora es compatible con EditorConfig, lo que permite que los desarrolladores definan y mantengan convenciones de estilo de codificación coherente entre los distintos editores e IDE. Consulte la documentación para más ver más detalles y la documentación de .NET para información sobre cómo usar los archivos .editorconfig a fin de regir el estilo de código .NET.

Abrir carpeta

Abrir carpeta es una forma cómoda de trabajar con bases de código sin proyectos ni soluciones. Puede ver la funcionalidad Abrir carpeta en la barra de menús. Para ello, haga clic en Archivo>Abrir>Carpeta y seleccione una carpeta a la que quiera ir. Puede abrir y editar los archivos mediante el Explorador de soluciones (Figura 9). Muchos lenguajes populares tienen resaltado de sintaxis y compatibilidad con la navegación por símbolos (GoTo).

The new Open Folder feature in Visual Studio IDE
(Figura 9) Nueva característica Abrir carpeta en el IDE de Visual Studio

Además, algunos lenguajes tienen compatibilidad avanzada con depuración e IntelliSense directamente desde la carpeta:

  • C++ (CMake).
  • Node.js - JavaScript/TypeScript.
  • C# y VB.

Puede realizar la compilación o depuración si usa F5 y el menú contextual del archivo en el Explorador de soluciones. Para que la experiencia sea óptima, asegúrese de instalar la carga de trabajo correspondiente a los lenguajes con los que trabaja.

La vista de carpetas también admite lo siguiente:

  • Búsqueda en el código de la carpeta con Ir a (Ctrl+).
  • Muestre la vista de la carpeta del Explorador de soluciones en subcarpetas.
  • Abra carpetas en el explorador o el símbolo del sistema desde el Explorador de soluciones.
  • Desplácese fácilmente entre soluciones en el repositorio o la carpeta abierta con el menú desplegable de selección de soluciones.
  • Ajuste la configuración de depuración e inicio con launch.vs.json. Haga clic con el botón derecho en un archivo que se pueda depurar y seleccione Configuración de depuración e inicio.
  • Configure tareas y personalice la compilación con tasks.vs.json. Haga clic con el botón derecho en cualquier archivo y seleccione Configure Task Settings (Configurar ajustes de tarea).
  • Launch.vs.json y tasks.vsa.json tienen IntelliSense en el editor de JSON.

Se mejoró considerablemente el rendimiento de la apertura de carpetas y la alternancia entre la vista de carpetas y la vista de soluciones.

Carga de solución ligera

Carga de solución ligera permite que las soluciones de gran tamaño se carguen más rápido. En el caso de las soluciones de gran tamaño, puede suponer una mejora sustancial en el uso de memoria y el tiempo de carga de la solución. La característica no está habilitada de manera predeterminada y se puede habilitar en cada solución o de manera global en el IDE. Para habilitar de manera global, vaya a Herramientas > Opciones, seleccione General en Proyectos y soluciones (Figura 10) o busque "Carga de solución ligera" con Inicio rápido. Puede activar o desactivar la característica en cada solución individual en el panel de propiedades de la solución.

The new Lightweight Solution load feature Visual Studio IDE
(Figura 10) La nueva característica de carga de solución ligera en el IDE de Visual Studio

Carga de solución ligera se adapta mejor a soluciones de gran tamaño que contienen proyectos de C# o una combinación de proyectos de C# y C++. Puede que se le solicite habilitar la característica si detectamos que trabaja con soluciones de gran tamaño.

El rendimiento de compilaciones de solución completas se ha mejorado notablemente, ahora en paridad con carga normal de la solución.

Compatibilidad de búsqueda con coloración de sintaxis, autocompletar, fragmento de código y compatibilidad para buscar del tipo "Navegar a" para más lenguajes

Además de la base de compatibilidad que agregamos en actualizaciones de Visual Studio 2015, en Visual Studio 2017 ahora se admite la coloración de sintaxis y la completación automática para un mayor número de lenguajes. Además, algunos de estos lenguajes también admiten la navegación con "Navegar a" (Ctrl+) o fragmentos de código.

Los archivos de los lenguajes que se indican más abajo admiten estas características en el nuevo Editor principal de Visual Studio, incluso cuando no se ha instalado ninguna carga de trabajo para admitir explícitamente el lenguaje en cuestión. Si se instala una carga de trabajo que proporciona soporte para lenguajes (por ejemplo, la carga de trabajo de desarrollo de aplicaciones de escritorio de .NET, la carga de trabajo de desarrollo de aplicaciones de escritorio de Windows con C++, etc.), entonces se puede proporcionar soporte más amplio para lenguajes, como IntelliSense y otras características de lenguajes avanzadas, como Light Bulbs.

Tipos de archivos de lenguaje ordenados por nivel de soporte:

  • Solo admite la coloración de sintaxis y autocompletar:
    • Bat, Clojure, CoffeeScript, CSS, Docker, F#, Groovy, INI, Jade, Javadoc, JSON, LESS, LUA, Make, Markdown ++, Objective-C, Perl, PowerShell, Python, Rust, ShaderLab, SQL, Visual Basic .NET y YAML.
  • Admite fragmentos de código (además de coloración de sintaxis y autocompletar):
    • CMake, C++, C#, Go, Groovy, HTML, Java, Javadoc, JavaScript, Lua, Perl, PHP, R, Ruby, Shellscript, Swift y XML.
  • Admite la navegación (además de la coloración de sintaxis y autocompletar):
    • C++, C#, Go, Java, JavaScript, PHP, TypeScript y Visual Basic.

Introducción a Project Overview Pages

Hemos introducido una experiencia de introducción completamente nueva para los proyectos recién creados. Hemos reemplazado las páginas de introducción actuales con una pestaña de información general en nuestro nuevo diseñador de configuración de aplicaciones y hemos centrado la página en las acciones que le harán ponerse en funcionamiento rápidamente. Esto se ha habilitado en proyectos de ASP.NET 4.x, ASP.NET Core y Cordova (Figura 11).

(Figure 11) Project Overview
(Figura 11) Información general del proyecto

Conexión a los servicios mediante servicios conectados

En una versión anterior, esta característica se denominaba Funcionalidades de servicio. Hemos cambiado el nombre a Servicios conectados.

Servicios conectados es la versión moderna de la característica "Agregar servicio conectado" o "Agregar referencia de servicio" de Visual Studio 2017. La característica Servicios conectados facilita la conexión de la aplicación con los servicios. Hay disponible un nodo nuevo llamado "Servicios conectados" en el Explorador de soluciones para tipos de proyectos web y móviles. Si hace doble clic en este nodo, se abrirá una nueva pestaña de página completa en Visual Studio en la que podrá detectar los servicios populares de Microsoft a los que se puede conectar.

Seleccionar un servicio en la página Servicios conectados (Figura 12) invocará al asistente de Servicios conectados que configura el proyecto y descarga los paquetes NuGet necesarios para comenzar a codificar el servicio rápidamente y sin problemas.

Connected Services
(Figura 12) Servicios conectados

Adquisición en el producto de herramientas y características

Visual Studio 2017 facilita la adquisición de cargas de trabajo y componentes adicionales sin salir del IDE (Figura 13). Aproveche el inicio rápido para buscar e iniciar el instalador de Visual Studio para cualquier componente individual o carga de trabajo.

In-product acquisition through Quick Launch
(Figura 13) Adquisición en el producto en Inicio rápido

Si no puede encontrar las plantillas que busca, el instalador de Visual Studio también se puede abrir desde el cuadro de diálogo Nuevo proyecto (figura 14).

In-product Quick Launch dialogue
(Figura 14) Cuadro de diálogo de Inicio rápido en el producto

Visual C++

Visual Studio 2017 incluye muchas actualizaciones y revisiones del entorno de Visual C++. ¡Muchas gracias por notificárnoslos! Hemos corregido más de 250 errores y problemas notificados en el compilador y las herramientas, muchos enviados por los usuarios a través de Microsoft Connect. En esta versión, trabajamos en la mejora de rendimiento de STL. Ahora se está usando el nuevo motor de base de datos basado en SQLite de forma predeterminada. Esto acelerará las operaciones de base de datos como Ir a definición y Buscar todas las referencias y mejorará significativamente el tiempo de análisis inicial de la solución. Ahora se proporciona una experiencia de instalación más granular para la instalación de la carga de trabajo original de C++. Se han agregado componentes seleccionables que permiten instalar únicamente las herramientas que necesita. La compatibilidad con CMake en Visual Studio ya está preparada. Cargue los proyectos CMake directamente en Visual Studio y empiece a codificar ahora. La experiencia de "Abrir carpeta" de C++ se ha mejorado: lleve el código fuente a Visual Studio sin necesidad de crear ningún proyecto y solución de Visual Studio. Navegar a ahora se conoce como Ir a, un término que engloba un conjunto de nuevos filtros de navegación. Esto facilita obtener los resultados adecuados, especialmente en bases de código más grandes.

Análisis de código de C++

Ahora se distribuyen con Visual Studio los comprobadores principales de C++ para aplicar las directrices principales de C++. Simplemente habilite los comprobadores en el cuadro de diálogo Extensiones de análisis de código en las páginas de propiedades del proyecto (Figura 15) y las extensiones se incluirán al ejecutar el análisis de código.

CppCoreCheck properties page
(Figura 15) Página de propiedades de CppCoreCheck

Compilador C++

Hemos actualizado el compilador C++ y la biblioteca estándar con compatibilidad mejorada con características de C ++ 11 y C ++ 14, así como la compatibilidad preliminar para determinadas características que se esperan que estén en C ++ 17 estándar. Con la compatibilidad de constexpr generalizado y NSDMI para agregados, el compilador se completa con las características que se agregaron en el estándar de C++14. Tenga en cuenta que al compilador todavía le faltan algunas características de los estándares C++11 y C++98. Visual Studio 2017 permite usar /sdl con /await. Quitamos la limitación de /rtc con corrutinas.

Esta versión ofrece varias mejoras en la optimización y generación de código. Estas son algunas de las mejoras destacables incluidas:

  • Generación de código de bucles mejorada: compatibilidad con vectorización automática de división de enteros constantes, mejor identificación de patrones de memset.
  • Seguridad de código mejorada: emisión mejorada de diagnósticos de compilador de saturación del búfer y /guard:cf ahora protege instrucciones switch que generan tablas de saltos.
  • La opción /debug:fastlink se mejoró para proporcionar tiempos de vínculo un 30 % más rápidos en componentes grandes que en Visual Studio 2015.
  • Se quitó la palabra clave experimental "yield" (disponible en el modificador /await) cuando se usan las corrutinas. En su lugar, se debe actualizar el código para que use la palabra clave "co_yield”. Para más información, consulte el blog del equipo de Visual C++.

Bibliotecas de C++

  • [STL] Mejora de rendimiento de basic_string.
  • [STL] Se agregó <any>, <string_view>, apply(), make_from_tuple().
  • [STL] Se mejoró std::vector para aumentar la exactitud y el rendimiento.
  • [STL] STL ahora evitará desreferenciar punteros elaborados nulos.
  • [STL] Se agregó <optional>, <variant>, shared_ptr::weak_type y <cstdalign>.
  • [STL] Se habilitó C++14 constexpr en min/max/minmax(initializer_list) y min_element/max_element/minmax_element().
  • [STL] Se mejora el rendimiento de los constructores de movimiento de std::string o std::wstring, multiplicándose por tres (y más).
  • [STL] Para obtener una lista completa de las mejoras de STL, consulte el blog del equipo de Visual C++.
  • [ATL] Otro conjunto de correcciones de conformidad para la búsqueda de nombres.
  • [ATL] Los constructores de movimiento y de asignación de movimiento están ahora correctamente marcados como no productores de excepciones.
  • [ATL] Inclusión de la advertencia válida C4640 sobre la inicialización segura de subprocesos de elementos estáticos locales en atlstr.h.
  • [ATL] La inicialización segura de subprocesos de elementos estáticos locales estaba desactivada automáticamente en el conjunto de herramientas de XP al [usar ATL Y crear un archivo DLL]. Este ya no es el caso. Puede agregar /Zc:threadSafeInit- en la configuración del proyecto si quiere tener desactivada la inicialización segura de subprocesos.
  • [AMP] Biblioteca auditada y errores tipográficos corregidos.
  • [VCRuntime] Nuevo encabezado "cfguard.h" para símbolos de protección de flujo de control.

C++ IDE

El rendimiento del cambio de configuración ahora es mejor para proyectos nativos de C++ y mucho mejor para proyectos C++/CLI. Cuando se activa una configuración de solución por primera vez, ahora será más rápida y todas las activaciones posteriores de esta configuración de la solución serán casi instantáneas.

Ahora se está usando el nuevo motor de base de datos basado en SQLite de forma predeterminada. Esto acelerará las operaciones de base de datos como Ir a definición y Buscar todas las referencias y mejorará significativamente el tiempo de análisis inicial de la solución. La opción se ha movido a >Herramientas Opciones > Editor de texto > C o C++ > Opciones avanzadas. Anteriormente se encontraba en ...C/C++ > Experimental.

Hemos mejorado el rendimiento de IntelliSense en proyectos y archivos que no utilizan encabezados precompilados; se creará un encabezado precompilado automático para los encabezados en el archivo actual.

Entre otras actualizaciones se incluyen:

  • Hemos agregado el filtro de errores y la ayuda para errores de IntelliSense en la lista de errores (figura 16). Ahora se puede filtrar al hacer clic en la columna de errores (Figura 17). Además, al hacer clic en los errores específicos o al presionar F1, se iniciará una búsqueda en línea del mensaje de error.
Error List
(Figura 16) Lista de errores
Error List Filtered
(Figura 17) Lista de errores filtrados
  • Se ha agregado la capacidad de filtrar los elementos de la lista de miembros por tipo (Figura 18).
Member List Filtered
(Figura 18) Lista de miembros filtrados
  • Se ha agregado una nueva característica de IntelliSense predictiva experimental que proporciona un filtrado de lo que aparece en la lista de miembros que tiene en cuenta el contexto.

  • La nueva interfaz de usuario de Buscar todas las referencias incluye información acerca de si está leyendo desde una variable en los resultados de código de C++ o si está escribiendo en ella.

  • La característica Punto a flecha de IntelliSense pasó de experimental a avanzada y ahora está habilitada de manera predeterminada. Las características del editor Expandir ámbitos y Expandir precedencia también han dejado de ser características experimentales y ahora son avanzadas.

  • Las características experimentales de refactorización Cambiar signatura y Extraer función ahora están disponibles de manera predeterminada.

  • Hemos habilitado la nueva característica experimental para proyectos de C++ "Carga de proyecto más rápida". La próxima vez que abra un proyecto de C++, se cargará más rápido y la siguiente todavía más.

  • Mejoras en la experiencia de Abrir carpeta. Edite, compile y depure el proyecto de C++ no de MSBuild. Para ello, cargue los códigos fuente a través de "Abrir carpeta". Personalice la experiencia con estos archivos .json:

    • CppProperties.json para personalizar la experiencia de IntelliSense y de exploración.
    • Tasks.vs.json para personalizar los pasos de compilación.
    • Launch.vs.json para personalizar la experiencia de depuración.
  • IntelliSense de C++ trabajará sin la necesidad de crear un archivo CppProperties.json en la carpeta raíz. Además, agregamos un nuevo menú desplegable que le permite a los usuarios cambiar fácilmente entre las configuraciones que proporcionan los archivos CMake y CppProperties.json. La compatibilidad de CMake en Abrir carpeta: abrir proyectos de CMake con la característica "Abrir carpeta" configurará automáticamente el entorno para la edición, compilación y depuración de C++.

  • Se admite una configuración adicional con un archivo CMakeSettings.json que reside en la misma carpeta que el archivo CMakeLists.txt (figura 19).

CMake Open Folder
(Figura 19) Abrir carpeta CMake

Cargas de trabajo de instalación de C++

  • Desarrollo del escritorio de Windows con C++:

    • Ahora se proporciona una experiencia de instalación más granular para la instalación de la carga de trabajo original de C++. Se han agregado componentes seleccionables que permiten instalar únicamente las herramientas que necesita. Tenga en cuenta que los tamaños de instalación indicados para los componentes enumerados en la IU del instalador no son precisos y subestiman el tamaño total.

    • Para crear correctamente proyectos de Win32 en la carga de trabajo de escritorio de C++, debe instalar un conjunto de herramientas y un SDK de Windows. La instalación de los componentes recomendados (seleccionados) "Conjunto de herramientas de VC ++ 2017 v141 (x86, x64)" y "Windows 10 SDK (10.0.14393)" garantizará que esto funciona. Si no se instalan las herramientas necesarias, los proyectos no se crearán correctamente y el asistente se bloqueará.

  • Desarrollo para Linux con C++:

    • La extensión popular Visual C++ for Linux Development ya forma parte de Visual Studio. Esta instalación proporciona todo lo que necesita para desarrollar y depurar aplicaciones de C++ que se ejecutan en un entorno de Linux.
  • Desarrollo de juegos con C++:

    • Utilice toda la capacidad de C++ para crear juegos profesionales con tecnología de DirectX o Cocos2d.
  • Desarrollo móvil con C++ (Android y iOS):

    • Ahora puede crear y depurar aplicaciones móviles con Visual Studio que pueden tener como destino iOS y Android.
  • Desarrollo de la Plataforma universal de Windows:

    • C++ viene como un componente opcional de la carga de trabajo de la Plataforma universal de Windows. Actualmente, la actualización de proyectos de C++ se debe hacer de forma manual. Si abre un proyecto de UWP orientado a v140 en Visual Studio 2017, deberá seleccionar el conjunto de herramientas de la plataforma v141 en las páginas de propiedades del proyecto si no tiene instalado Visual Studio 2015.

Conjunto de herramientas de la plataforma Clang/C2

El conjunto de herramientas Clang/C2 que se incluye con Visual Studio 2017 ahora es compatible con el modificador /bigobj, que es fundamental para la creación de proyectos grandes. También incluye varias correcciones de errores importantes, tanto en el front-end y el back-end del compilador.

C# y Visual Basic

Extensiones de lenguaje

Esta versión presenta la compatibilidad con características de los lenguajes C# 7.0 y Visual Basic 15, entre las que se incluyen:

Para C#:

En Visual Basic:

  • Las tuplas de valores presentan compatibilidad con lenguajes de uso de tuplas para agrupar temporalmente un conjunto de valores con tipo: Dim point As (x As Integer, y As Integer) = GetOffset().
  • El consumo de valores devueltos de ByRef amplía el lenguaje para admitir el consumo de funciones y propiedades de bibliotecas que tienen valores devueltos de ByRef.
  • Los literales binarios y los separadores de dígitos permiten la representación nativa de números binarios. Esto resulta muy práctico para las máscaras de bits y las enumeraciones de marcas: &B1001_0011.

Para más información, siga el diseño de lenguaje en GitHub de CSharpLang y GitHub de VBLang para información sobre estas y otras extensiones de lenguaje propuestas.

Acciones rápidas y refactorizaciones

Visual Studio proporciona muchas refactorizaciones que le ayudarán a ser productivo y a escribir un código más legible. Estas son algunas de ellas:

  • Simplifique la inicialización de objetos con un inicializador (Figura 20).
Use object initializer
(Figura 20) Usar inicializador de objeto
  • Mueva las declaraciones de variables de out insertadas con una nueva característica de C#7 (Figura 21).
Move out variable inline
(Figura 21) Quitar variable en línea
  • Simplifique las comprobaciones nulas y las expresiones Throw mediante un operador de uso combinado de NULL con una nueva característica de C#7 (Figura 22).
Use throw expression with null-coalescing operator
(Figura 22) Usar expresión Throw con operador de uso combinado de NULL
  • Mover el tipo a archivo coincidente: extraiga un tipo de un archivo y colóquelo en otro archivo con un nombre coincidente con un solo clic con Ctrl+.
  • Sincronizar nombre de tipo y archivo: si el nombre del archivo y del tipo no están sincronizados, puede utilizar Ctrl+.
  • Convertir String.Format a interpolación de cadena: aproveche la característica del lenguaje C# 6 con esta acción rápida.
  • Agregue los casos que faltan a un modificador de C# o un Visual Basic Select.
  • Convierta la propiedad en un método y viceversa.
  • Agregar referencia de paquete: ofrece recuperar automáticamente e instalar un paquete NuGet (y agregar using o Import) para un tipo no reconocido. Para habilitar esta característica, vaya a Herramientas > Opciones > Editor de texto > [C# / Basic] > Advanced (Opciones avanzadas) > Suggest usings for types in reference assemblies / Suggest usings for types in NuGet packages (Sugerir usos para tipos en ensamblados de referencia / Sugerir usos para tipos en paquetes NuGet).
  • Hacer que los métodos asincrónicos sean sincrónicos cuando corresponda.
  • Compatibilidad con coincidencias "aproximadas" en el caso de tipos mal escritos.
Cumplimiento y configuración de la convención de codificación

Al basarnos en la compatibilidad de Visual Studio para EditorConfig, trabajamos con la comunidad para agregar la configuración de estilo de código .NET para el formato de archivo. Esto significa que puede configurar convenciones de estilo de código de su equipo, protegerlas en el control de código fuente y hacer que las infracciones aparezcan activas en el editor cuando escriben los desarrolladores. Puede ver todas las opciones de estilo de código en .editorconfig o en la documentación del repositorio de Roslyn. Puede seguir configurando los ajustes del estilo de código específicos para la máquina en Herramientas > Opciones > Editor de texto > [C#/Basic] > Estilo de código y estas reglas se invalidan cuando hay un EditorConfig que genera conflicto.

También hemos agregado y actualizado los analizadores de estilo para ayudarle a personalizar y aplicar las convenciones de codificación del equipo, incluidos:

  • Nomenclatura de reglas de estilo.
  • El uso de var o tipos explícitos.
  • El uso de this. o Me. en el acceso a miembros.
  • Use bloques o cuerpos de expresión.
  • Use la coincidencia de patrones para las comprobaciones cast y null.
  • Use nombres de tupla explícitos.
  • Simplifique la comprobación de tipo NULL con expresiones throw, delegados condicionales, expresiones de fusión y propagación de tipo NULL.
  • Requiere llaves.

Nota: De manera predeterminada, varias de estas reglas de estilo de código están configuradas como sugerencias en el editor (Figura 23).

Configure code style preferences and enforcement from EditorConfig
(Figura 23) Configurar las preferencias de estilo de código y cumplimiento desde EditorConfig

Mejoras en IntelliSense

Esta versión también presenta mejoras en IntelliSense que le permitirán ser más productivo cuando trabaje en una solución grande o en un código base desconocido. Hemos agregado una bandeja de icono a IntelliSense que le permite filtrar la lista de miembros por tipo (por ejemplo, métodos, propiedades, clases, etc.). Cada cambio de filtro tiene un acceso directo de teclado asociado que puede detectar colocando el mouse sobre el icono. Para habilitar esta característica, vaya a Herramientas>Opciones>Editor de texto>[C# / Visual Basic]>IntelliSense y active las opciones de filtrado y resaltado (figura 24).

IntelliSense Completion Filtering
(Figura 24) Filtrado de finalización de IntelliSense

Otras mejoras del editor

  • Ahora puede dividir una cadena larga en varias cadenas concatenadas colocando la cadena intermedia del cursor y presionando Enter.
  • Se mejoró la capacidad de respuesta del IDE ante la presencia de operaciones en segundo plano que calculan el diagnóstico y la información de CodeLens.

F#

Compatibilidad con características del lenguaje F# 4.1

  • Tuplas de struct qué interoperan con tuplas de C# 7/VB 15.
  • Valores devueltos de ByRef que admiten el consumo de valores devueltos ref de C# 7.
  • Compatibilidad del registro struct con el atributo [<Struct>] (por Will Smith).
  • Compatibilidad de unión discriminada de struct con el atributo [<Struct>].
  • Un nuevo tipo Result<'TSuccess, 'TFailure> con funciones de compatibilidad en FSharp.Core (por Oskar Gewalli).
  • La palabra clave fixed, que admite el anclaje de una variable local de tipo de puntero en la pila.
  • Caracteres de subrayado en literales numéricos (por Avi Avni).
  • Argumentos de atributos de información de llamador (por Lincoln Atkinson y Avi Avni).
  • Tipos y módulos mutuamente referenciales dentro del mismo archivo con namespace rec y module rec.
  • Sufijo "Módulo" implícito en los módulos que comparten el mismo nombre que un tipo.

Mejoras del compilador de F# y FSharp.Core

(Muchas realizadas por la comunidad de F#)

Un nuevo editor basado en áreas de trabajo de Roslyn

(Muchas características nuevas del IDE aportadas por la destacada comunidad de F#)

Contribuciones adicionales por la comunidad de F#

Nos gustaría dar las gracias a toda la comunidad de F# por probar las compilaciones del conjunto de herramientas de F# de Visual Studio 2017, por archivar errores, impulsar las discusiones e implementar correcciones de errores y características. El éxito de F# en Visual Studio 2017 realmente no hubiera sido posible sin la comunidad de F#. Puede ver la lista completa de los colaboradores.

JavaScript y TypeScript

TypeScript 2.1

TypeScript 2.1 está disponible para todos los proyectos de TypeScript en Visual Studio. TypeScript 2.1 ofrece async/await de nivel inferior, una inferencia de mejor tipo, expansión de objetos locales, etc. Para más información sobre la versión, vea la entrada de blog de la versión o el registro de cambios completo.

Servicio de lenguaje JavaScript

Hay disponible y habilitado de manera predeterminada un nuevo servicio de lenguaje JavaScript (Figura 25). El nuevo servicio proporciona IntelliSense con más funcionalidades y agrega compatibilidad con IntelliSense para las anotaciones de comentarios de JSDoc, ES6 y formatos del módulo Common JS. También admite la sintaxis JSX y características de ES2016, como los generadores, módulos y decoradores. Para más información, consulte esta entrada de blog o la documentación de JavaScript IntelliSense en GitHub.

Rich JavaScript IntelliSense for jQuery
(Figura 25) JavaScript IntelliSense completo para jQuery

Mejoras de rendimiento

Mejorar el rendimiento fue uno de los principales enfoques de esta versión. Junto con varias optimizaciones para mejorar las características de capacidad de respuesta y memoria, todo el servicio de lenguaje JavaScript/TypeScript se ha trasladado a un proceso satélite fuera de devenv.exe con el fin de liberar memoria para los proyectos de Visual Studio de mayor tamaño. Verá que el proceso de Visual Studio consumirá menos energía y habrá menos bloqueos de memoria cuando se trabaje con proyectos enormes de JavaScript.

Depuración y diagnósticos

Ejecutar hasta clic

Solo tiene que hacer clic en un icono junto a una línea de código mientras se depura para ejecutar hasta esa línea (Figura 26). Ya no es necesario establecer puntos de interrupción temporales ni realizar varios pasos para ejecutar el código y detenerse en la línea deseada. Ahora mientras está detenido en un estado de interrupción en el depurador, el icono para ejecutar hasta la línea se muestra sutilmente junto a la línea de código sobre la que se sitúa el mouse. Coloque el mouse sobre el icono y haga clic en el botón. El código se ejecutará y se detendrá en esa línea la próxima vez que se alcance en la ruta de código. Para desactivarlo, vaya al menú principal y haga clic en Depurar>Opciones>Enable Run (Habilitar ejecución).

Run to Click Icon
(Figura 26) Icono para ejecutar hasta la línea

Filtro Asociar al proceso

Busque fácilmente en el cuadro de diálogo Asociar al proceso (Figura 27) para encontrar rápidamente el proceso al que quiere asociar el depurador. La lista de procesos en ejecución se filtrará para mostrar los elementos que coincidan con la búsqueda. El filtro de búsqueda es permanente y recordará la búsqueda anterior cuando vuelva a abrir el cuadro de diálogo.

Attach to Process Filter
(Figura 27) Filtro Asociar al proceso

Reasociar al proceso

Ahora puede volver a asociar rápidamente a los procesos que depuró anteriormente. Desencadenar el nuevo comando Depurar/reasociar al proceso (Mayúscula+Alt+P) intentará de inmediato asociar el depurador a los últimos procesos de la sesión de depuración anterior que se invocaron desde el cuadro de diálogo "Asociar al proceso". El depurador se reasociará a los procesos, primero, intentando coincidir con el identificador de proceso anterior y, luego, coincidiendo con el nombre del proceso anterior. Si no se encuentran coincidencias o si se encuentran varios procesos con el mismo nombre, aparecerá el cuadro de diálogo "Asociar al proceso" para que pueda seleccionar el proceso deseado.

Nuevo asistente de excepciones

Use el nuevo asistente de excepciones (Figura 28) para ver la información de excepción de un vistazo en un cuadro de diálogo no modal compacto con acceso instantáneo a las excepciones internas. Ya puede consultar rápidamente los elementos nulos al diagnosticar la excepción NullReferenceException directamente en el asistente de excepciones. Ahora es posible excluir tipos de excepciones de interrupción producidas desde módulos específicos al hacer clic en la casilla para agregar una condición mientras se detiene en la excepción producida. Lea esta entrada de blog para más información sobre las nuevas ventajas del asistente de excepciones.

The New Exception Helper dialog
(Figura 28) Cuadro de diálogo del nuevo asistente de excepcione

Adición de condiciones a la configuración de excepciones

Al configurar el depurador para interrumpir las excepciones iniciadas, puede agregar condiciones para que el depurador se interrumpa solo cuando se produzcan excepciones en los módulos especificados (Figura 29).

Edit Conditions dialog box
(Figura 29) Cuadro de diálogo Editar condiciones

Mejoras a la accesibilidad del depurador

Ahora puede usar de forma efectiva varias de las ventanas del depurador (Pila de llamadas, Variables locales, Automático, Inspección e Inspección rápida) con lectores de pantalla para satisfacer necesidades de accesibilidad.

Eventos de IntelliTrace Events para .NET Core

IntelliTrace ahora admite eventos de MVC, ADO.NET y HttpClient para las aplicaciones de ASP.NET Core. Aparecerán en la pestaña Eventos de la ventana Herramienta de diagnóstico.

Actualizaciones de la ventana Herramientas de diagnóstico

Cuando inicie una sesión de depuración, verá una nueva vista de resumen (figura 30) de la aplicación en la ventana Herramientas de diagnóstico. Desde aquí podrá hacer lo siguiente:

Summary tab in Diagnostics Tools Window
(Figura 30) Pestaña Resumen de la ventana Herramientas de diagnóstico

Actualizaciones del generador de perfiles de rendimiento

El Generador de perfiles de rendimiento ahora se puede asociar a un proceso en ejecución. Las herramientas Uso de CPU y Uso de GPU y el Asistente de rendimiento permiten su asociación a un proceso en ejecución.

Actualizaciones de la herramienta de uso de CPU

Se han realizado varias mejoras en la herramienta Uso de CPU:

  • Mejor compatibilidad con código externo: la herramienta de CPU ahora ofrece información mejorada sobre los costos de las funciones de biblioteca y marco de trabajo cuando la llamada se realiza con el código de usuario.
  • Vista de funciones (Figura 31): una vista que clasifica las funciones según su costo de CPU.
Functions List
(Figura 31) Lista de funciones
  • La vista Llamador y destinatario (Figura 32) permite investigar los costos de las llamadas de funciones realizadas a y desde una función seleccionada.
Caller / Callee View
(Figura 32) Llamador y destinatario (Vista)
  • La vista Código fuente muestra el código fuente de una función cuando está seleccionada en la herramienta de CPU.

Capacidad de depuración de Chrome

Cuando comience a depurar proyectos de ASP.NET y elija Google Chrome como explorador, Visual Studio depurará el código JavaScript en ejecución en Chrome. Si prefiere usar por el contrario las herramientas de desarrollo en el explorador, puede deshabilitar esta característica en Herramientas > Opciones > Depuración.

Pruebas unitarias en vivo

Pruebas unitarias dinámicas (Figura 33) es una característica de la edición Enterprise de Visual Studio 2017 que muestra los resultados de las pruebas unitarias y la cobertura de código de forma dinámica en el editor. Admite MSTest, xUnit y Nunit para proyectos de C# y VB dirigidos a .NET Framework.

Live Unit Testing
(Figura 33) Live Unit Testing

Consulte el blog sobre las pruebas unitarias dinámicas para obtener más información.

Herramientas de pruebas

Asocie la automatización con elementos de trabajo de casos de prueba mediante el Explorador de pruebas

Ahora puede asociar la automatización con los elementos de trabajo de casos de prueba (Figura 34) si selecciona un método de prueba en el Explorador de pruebas. Esta nueva experiencia también le permite ver todas las asociaciones existentes para el método de prueba elegido.

Simplemente haga clic con el botón derecho en el Explorador de pruebas...

Test Explorer Associate Automation
(Figura 34) Asociar automatización del Explorador de pruebas

... y proporcione un identificador de caso de prueba para crear una asociación (Figura 35).

Associate Automation
(Figura 35) Asociar automatización

En las versiones anteriores de Visual Studio, esto se podía hacer con el formulario de elemento de trabajo. La experiencia basada en el formulario de elemento de trabajo se puede habilitar si se activa el modo de compatibilidad a través de Herramientas | Opciones (Figura 36).

Work Item Form Compatibility mode
(Figura 36) Modo de compatibilidad del formulario de elemento de trabajo

Team Explorer

Nuevas características de Git

Agregamos nuevas características de Git a Visual Studio 2017 que le permiten hacer más del flujo de trabajo completo sin tener que dejar el IDE. Puede ver fácilmente la diferencia para las confirmaciones salientes, forzar una inserción para completar una reorganización o insertar una confirmación corregida, quitar la rama ascendente y continuar la reorganización de revisiones desde Visual Studio. Además, hemos cambiado a git.exe. De este modo, podemos proporcionar las características más recientes. Se admite SSH, se respetan las opciones de configuración y se muestra exactamente el contenido de la línea de comandos en Team Explorer. Para más información sobre estas características, revise esta entrada de blog.

Conexión a VSTS/TFS

En la página de inicio de Visual Studio y en Team Explorer, se personalizó y optimizó el proceso para conectarse a proyectos y clonar repositorios en VSTS/TFS, por lo que ahora es más rápido y fácil encontrar los proyectos y repositorios con los cuales conectarse. En la nueva página de conexión de la marca solo se muestran los proyectos y repositorios asignados y clonados en todos los servidores VSTS/TFS (en lugar de cada repositorio para cada proyecto). Además, ya no necesita conectarse a un proyecto antes de clonar repositorios.

Al iniciar el cuadro de diálogo para conectarse a VSTS y TFS, verá la experiencia de usuario rediseñada. Verá los servidores TFS que haya agregado, seguidos de todos los servidores, proyectos y repositorios de VSTS de la cuenta de usuario seleccionada. Los resultados se incluyen en un árbol para permitir una navegación más eficiente. Puede conectarse a colecciones o proyectos, además de a repositorios.

Formularios de elemento de trabajo

Al conectarse a Visual Studio Team Services desde Visual Studio 2017 y abrir un elemento de trabajo, el formulario de elemento de trabajo aparecerá en el explorador web (Figura 37). Sin embargo, si se conecta a Team Foundation Server 2015 o a una versión anterior, verá los formularios de elemento de trabajo heredado.

Work Item Form in Team Explorer
(Figura 37) Formulario de elemento de trabajo en Team Explorer

Flujo de trabajo mejorado para comentarios sobre Visual Studio

Visual Studio 2017 incluye una experiencia de comentarios actualizada para mejorar el seguimiento y la colaboración. Como parte de esta actualización, la notificación de problemas es más colaborativa en Visual Studio ya que se complementa con un amplio portal web que proporciona una solución completa de comentarios descentralizados. Ahora puede buscar, votar, obtener y realizar el seguimiento de las últimas actualizaciones en función de todos los comentarios que nos ha proporcionado con la característica Notificar un problema del IDE de Visual Studio. Estas experiencias mejoradas abordan muchos de los comentarios que recibimos de usted y permiten la comunicación bidireccional entre nuestros equipos y usted.

Extensibilidad de Visual Studio

Nuevo formato de extensibilidad

La nueva tecnología del instalador de Visual Studio 2017 le proporciona mayor control sobre las herramientas que se instalan. Algunos usuarios pueden instalar solo el editor de Visual Studio principal, mientras que otros pueden instalar varias cargas de trabajo. Para garantizar la instalación de las características y extensiones que se requieren como requisito previo, ahora los creadores de la extensión podrán especificar en el manifiesto qué componentes individuales se requieren para la extensión.

Los usuarios recibirán una advertencia cuando intenten instalar una extensión no compilada con el nuevo formato VSIX. El antiguo formato VSIX no especifica los requisitos previos necesarios y puede que no funcione si esos requisitos previos no están disponibles en Visual Studio 2017. El nuevo formato VSIX es compatible con versiones anteriores de Visual Studio hasta Visual Studio 2012.

Se actualizó el diseñador de manifiestos de VSIX para que refleje los cambios del manifiesto. En la pestaña de requisitos previos (Figura 38), los desarrolladores de extensiones pueden encontrar una lista de los componentes instalados para especificarlos como requisito previo de su extensión.

Prerequisite tab
(Figura 38) Pestaña de requisitos previos

Durante la instalación de la extensión, el instalador de VSIX (Figura 39) indicará los componentes que faltan y los instalará junto con la extensión.

VSIXInstaller
(Figura 39) VSIXInstaller

Modificar extensiones de forma masiva

En el cuadro de diálogo Extensiones y actualizaciones (Figura 40), ahora se puede programar la instalación, actualización y desinstalación de varias extensiones antes de que sea necesario reiniciar Visual Studio. En la esquina inferior derecha aparece un resumen de las tareas programadas. Para quitar una modificación programada, haga clic en la X junto a una extensión que está programada para instalarse.

Extensions and Updates Dialog
(Figura 40) Cuadro de diálogo Extensiones y actualizaciones

Una vez que el instalador de VSIX detecta que todas las ventanas de Visual Studio están cerradas, comenzará a realizar las modificaciones programadas (Figura 41).

Batched Modification Installer
(Figura 41) Instalador de modificaciones por lotes

Compatibilidad con NGen

Ahora puede elegir instalar ensamblados con Ngen (Figura 42).

NGEN Properties
(Figura 42) Propiedades de NGEN
  • Ngen: usar o no Ngen en el ensamblado.
  • Aplicación Ngen: la aplicación para pasar a Ngen con el modificador /ExeConfig.
  • Arquitectura Ngen: la arquitectura de destino de la imagen nativa. Las opciones son: x86, x64 y todas.
  • Prioridad Ngen: nivel de prioridad de Ngen.

Instalar archivos fuera del directorio de la extensión

Ahora puede elegir si instalar los archivos en una lista de selección de carpetas que se encuentran fuera del directorio de la extensión (Figura 43).

VSIX Properties
(Figura 43) Propiedades de VSIX
  • Incluir en VSIX: incluya el archivo en el proyecto de VSIX.
  • Directorio raíz de instalación: el directorio raíz para instalar el archivo. Las opciones son: Default (la instalación se realiza dentro del directorio de la extensión), PublicAssemblies, ReferenceAssemblies, MSBuild, Schemas, Licenses, RemoteDebugger y VSTargets.
  • Ruta de acceso de destino: el nombre del archivo que se va a instalar en el equipo del usuario.
  • Subruta de acceso a VSIX: la subruta en el directorio raíz de instalación donde se va a instalar el archivo.

Roaming Extension Manager

Como novedad de Visual Studio 2017, Roaming Extension Manager permite realizar un seguimiento de las extensiones favoritas en todos los entornos de desarrollo. Al utilizar un perfil móvil de las extensiones se crea una lista sincronizada en la nube que permite realizar un seguimiento de las extensiones que ha instalado.

Al iniciar sesión en Visual Studio, puede ver rápidamente una lista de las extensiones. Para ello, vaya a Herramientas > Extensiones y Actualizaciones, y haga clic en Roaming Extension Manager (Figura 44). Permite realizar un seguimiento de las extensiones que ha instalado y elegir cuáles se agregan a la lista Itinerancia. Teniendo en cuenta que cada día aparecen nuevas extensiones en la galería, esta herramienta facilita y agiliza el proceso de configuración de cada entorno de desarrollo con sus extensiones favoritas.

The new Roaming Extension Manager in the Visual Studio IDE
(Figura 44) Nuevo Roaming Extension Manager en el IDE de Visual Studio

Al usar esta característica, observará 3 tipos de iconos:

  • Roamed IconIcono de extensión en itinerancia: indica una extensión que forma parte de la lista de itinerancia, pero que no está instalada en esta máquina. Puede instalarla con el botón "Descargar".
  • Roamed and Installed IconIcono de extensión en itinerancia e instalada: indica todas las extensiones que forman parte de la lista de itinerancia y están instaladas en este entorno. Si decide que no quiere utilizar un perfil móvil, puede quitarlas con el botón "Detener itinerancia".
  • Installed IconIcono de extensión instalada: indica todas las extensiones que están instaladas en este entorno, pero que no forman parte de la lista de itinerancia. Las extensiones se pueden agregar a la lista de itinerancia con el botón "Iniciar itinerancia".

Estos iconos muestran el estado actual de la lista. Puede tener extensiones en cualquier estado y personalizarlas tanto como quiera. Aunque también puede dejar que lo hagamos por usted. Las extensiones que descargue mientras tenga la sesión iniciada se agregarán a la lista como en itinerancia e instaladas y, por tanto, formarán parte de la lista Itinerancia. Podrá acceder a ellas desde cualquier máquina.

Detección de plantillas de proyecto y de elemento

A partir de Visual Studio 2017, hay un cambio importante en lo que respecta a cómo Visual Studio usa plantillas de proyecto y elemento para mejorar el rendimiento de la detección de plantillas. Ahora el nuevo mecanismo de detección requiere que todas las plantillas de proyecto y elemento sigan el esquema "vstemplate" que debe definirse en los archivos de manifiesto de la plantilla. Las plantillas de Visual Studio que no se definen en un archivo de manifiesto de plantilla ya no serán visibles en los cuadros de diálogo Nuevo proyecto o Nuevo elemento. Mientras que las nuevas herramientas de extensibilidad generarán un manifiesto durante el tiempo de compilación de VSIX, si dispone de plantillas de Visual Studio que se han publicado como parte de un paquete MSI, deberá generar manualmente los archivos de manifiesto de plantilla de esas plantillas. Para obtener más información, consulte la página de MSDN Actualización de proyectos personalizados y plantillas de elemento para Visual Studio 2017.

.NET Core y ASP.NET Core

Contiene la versión 1.0 final de las nuevas herramientas de .NET Core basadas en MSBuild. Con Visual Studio 2017, puede crear bibliotecas estándar de .NET, aplicaciones y bibliotecas de .NET Core y proyectos web de ASP.NET que usan el nuevo formato csproj.

Las herramientas de .NET Core se incluyen automáticamente en la carga de trabajo "Desarrollo de ASP.NET y web" y un componente opcional en la carga de trabajo "Desarrollo de escritorio de .NET" del instalador. Si solo quiere desarrollar aplicaciones .NET Core para usarlas entre plataformas, puede instalar solamente las herramientas .NET Core y ASP.NET Core a través de la carga de trabajo "Desarrollo multiplataforma de .NET Core" desde la sección "Otros conjuntos de herramientas" del instalador.

Las características de alto nivel de esta versión incluyen lo siguiente:

  • Compatibilidad de MSBuild con proyectos de .NET Core, con un formato de proyecto csproj simplificado que facilita editar a mano sin que sea necesario descargar el proyecto.
  • Editar el archivo .csproj de .NET Core es tan simple como hacer clic con el botón derecho en el proyecto en el Explorador de soluciones y elegir "Editar".
  • Compatibilidad con caracteres comodín de archivo en el archivo del proyecto, donde no es necesario enumerar todos los nombres de archivo de código fuente, lo que permite que el tamaño del archivo csproj siga siendo compacto.
  • Las referencias a paquetes NuGet ahora forman parte del archivo csproj, con lo que todas las referencias de un proyecto se consolidan en un archivo.
  • Interoperabilidad entre proyectos de .NET Core, .NET Standard y .NET Framework. Por ejemplo, un proyecto de .NET Core puede agregar una referencia de proyecto a proyecto a un proyecto de .NET Standard.
  • Varios marcos de trabajo de destino en un proyecto.
  • Los proyectos existentes de .NET Core project.json migrarán automáticamente a csproj cuando se abran en Visual Studio. También puede migrarlos manualmente con la interfaz de la línea de comandos (CLI) de .NET.
  • Configure fácilmente la integración de compilación continua para la aplicación de ASP.NET Core con compatibilidad con Docker y entrega de compilación continua a Azure Container Service desde dentro del IDE de Visual Studio.

Consulte el Blog de .NET para obtener más detalles.

Herramientas para desarrollo de aplicaciones universales de Windows

Cadena de herramientas nativa de .NET actualizada

Esta cadena de herramientas .NET Native actualizada agrega varias optimizaciones para mejorar el rendimiento en tiempo de ejecución de las aplicaciones UWP administradas en Visual Studio. La versión incluye más de 600 correcciones de errores y características para abordar los comentarios de clientes clave y mejorar la calidad general de la cadena de herramientas.

Paquete Microsoft.NETCore.UniversalWindowsPlatform 5.3.0

Esta actualización a las bibliotecas del marco .NET Core NuGet corrige una serie de problemas clave notificados por los clientes. Los proyectos existentes de UWP pueden usar el administrador de referencias de NuGet para actualizar a esta nueva versión. Además, el nuevo paquete de .NET Core incluye la cadena de herramientas nativa de .NET.

Emulador y SDK de la Actualización de aniversario de Windows 10

El SDK de Windows y el emulador de Windows Phone de la Actualización de aniversario de Windows 10 se incluyen en esta versión.

  • Los elementos de la interfaz de usuario creados desde el cuadro de herramientas ahora se crearán con menos etiquetas XAML, de forma que se obtendrá un XAML más claro y legible.
  • Una nueva herramienta de opciones en el Diseñador XAML permite al desarrollador seleccionar el tema de la interfaz de usuario y la configuración de Contraste alto que se mostrará como vista previa en la superficie de diseño.
  • Los editores de valores de la ventana Propiedades aceptan ahora ecuaciones matemáticas sencillas, como "60 + 20". Las ecuaciones se evaluarán inmediatamente (en este caso, 80) y su valor resultante se incluirá en el archivo XAML.

Capacidad del diseñador de manifiestos de crear activos visuales

El diseñador de manifiestos (Figura 45) ha experimentado una actualización visual y ahora tiene la capacidad añadida de generar activos visuales para aplicaciones UWP. Ahora puede utilizar una única imagen de origen para crear mosaicos, logotipos, iconos y pantallas de presentación en una o todas las escalas para ajustarse a cada tipo de dispositivo al que se dirija su aplicación.

Manifest Visual Asset Generator
(Figura 45) Generador de activos visuales del manifiesto

Análisis de UI

Las herramientas de la Plataforma universal de Windows ahora tiene la capacidad de detectar problemas frecuentes relacionados con el rendimiento y la accesibilidad. Al habilitar la herramienta "Análisis de UI" en el menú Seleccionar herramientas de la ventana Herramientas de diagnóstico, se notificarán estos problemas junto con vínculos a artículos útiles que explican cómo y por qué deben resolverse. Desarrollar con Análisis de UI habilitado pone la accesibilidad y el rendimiento de la UI en el centro del desarrollo de las aplicaciones.

Xamarin

Xamarin 4.4 está incluido en Visual Studio 2017. Para más información, consulte el notas de la versión de Xamarin.

Esta versión de Xamarin para Visual Studio 4.4 actualiza las versiones Xamarin.iOS 10.8 y Xamarin.Android 7.2.

Correcciones de errores en Xamarin

Esta versión incluye las siguientes correcciones:

  • Las aplicaciones de la extensión de iOS no se pueden compilar y se produce el error “cannot read Entitlements data” (no se pueden leer los datos de los derechos) (4.4.0.31).
  • Se incluyen símbolos para los informes Watson (4.4.0.6).
  • Error de la implementación en Android si la solución también contiene un proyecto de Wix (4.3.1.39).
  • Se produce un interbloqueo al abrir algunos proyectos de iOS (4.3.1.39).
  • Los puntos de interrupción no se corresponden con las referencias PCL de segundo nivel (4.3.1.39).
  • Se corrige el problema en iOS debido a la falta de la tarea CodeSignNativeLibraries (4.3.1.39).
  • Error al abrir el guion gráfico tras conectarse al servidor Mac (4.3.1.39).
  • El proyecto de biblioteca de clase de Android solo debe incluir “Compilar mediante la versión de Android” en la página Propiedad (4.3.1.39).
  • Visual Studio se cuelga al acceder a la pestaña Herramientas > Opciones > Xamarin > Otros (4.3.1.39).
  • Visual Studio deja de responder al cargar una solución multiplataforma en algunos entornos (4.3.1.1).
  • Las plantillas de proyecto de Visual Studio no incluyen ninguna referencia a Microsoft.Csharp (4.3.1.1).
  • No se puede conectar al servidor Mac si el Shell de usuario configurado no usa la sintaxis bash (4.3.1.1).
  • Falta la opción Enviar a la nube de pruebas (corregido en Visual Studio 2013 y Visual Studio 2015) (4.3.1.1).
  • El depurador se confunde cuando el nombre de la variable o propiedad es el mismo que el de la clase de otro elemento (4.3.1.1).
  • No se puede cambiar el nombre del conjunto de imágenes de un catálogo de recursos (4.3.1.1).
  • La carpeta “Recursos” se oculta a la fuerza en los proyectos de las extensiones de inspección (4.3.1.1).
  • Para los proyectos de tvOS, la carpeta “Assets.xcasset” de “Recursos” no se oculta (4.3.1.1).

Visual Studio Tools para Apache Cordova

Esta versión de Visual Studio 2017 incluye las siguientes mejoras:

  • Simulación de Cordova: un nuevo simulador basado en el explorador le permite programar rápidamente y ver los resultados de inmediato en el explorador (Figura 46). La recarga en vivo, simulación de complementos y la compatibilidad con el marco Ionic permiten que Visual Studio tenga el flujo de trabajo de desarrollador más rápido del mercado.
Cordova simulate
(Figura 46) Simulación de Cordova
  • Compatibilidad para iOS 10 y XCode 8: una actualización del agente de servidor remotebuild para desarrollo de iOS ahora incluye compatibilidad con XCode 8.

  • Coloración de errores: dado que el diagnóstico de errores de compilación a menudo requiere que los desarrolladores lean los resultados completos de la compilación, hemos comenzado a colorear los errores en el panel de resultados de la compilación para facilitar la lectura (Figura 47). También hemos agregado encabezados para delimitar los pasos del proceso de compilación con el fin de ayudar a los desarrolladores a identificar dónde se ha producido un error en el proceso de compilación.

Colorized Errors
(Figura 47) Errores coloreados
  • Adquisición en el producto: además de la nueva instalación ligera para ayudarle a compilar aplicaciones de Cordova con mayor rapidez, ahora se agregan nuevos métodos en Visual Studio para adquirir unidades de compilación adicionales a medida que prosigue el desarrollo (Figura 48). Si no ha instalado los componentes de Android o Windows, puede obtenerlos a través de la barra de implementación, que iniciará la instalación de Visual Studio y le guiará por el proceso de instalación.
In-product acquisition
(Figura 48) Adquisición en el producto
  • Compilaciones rápidas y confiables: el nuevo instalador de Visual Studio, combinado con la instalación sin conexión de una cadena de herramientas completamente validada de componentes de terceros, permite compilaciones más rápidas que, además, son fáciles de corregir y solucionar.

Importante

Los emuladores y las herramientas de compilación para Android y Windows ahora son opcionales. Puede obtenerlos dinámicamente a través de la barra de menús de compilación e implementación. Esta versión de Visual Studio no admite proyectos de la Tienda Windows 8.1. Se recomienda que actualice sus proyectos de Cordova para dirigirse a Windows 10. La versión mínima admitida de Cordova se eleva a la 6.0.0. Los proyectos destinados a una versión de Cordova inferior a la 6.0.0 tendrán que actualizar su proyecto en config.xml para realizar compilaciones e implementaciones en Visual Studio 2017.

Herramientas de Node.js para Visual Studio

Con Herramientas de Node.js para Visual Studio, Visual Studio se convierte en un entorno de desarrollo de Node.js eficaz. Esta versión se centra en la estabilidad, el rendimiento y la calidad general del producto, lo que incluye:

  • Una mejor integración con el nuevo servicio de lenguaje JavaScript Salsa.
  • Menor uso de memoria y CPU, y menores tiempos de carga del proyecto.
  • Compatibilidad con archivos de plantilla Pug.
  • Plantillas de proyecto más actualizadas.
  • Compatibilidad con el marco de prueba Mocha 3.x.
  • Varias correcciones de errores.

Gracias a todos los colaboradores asombrosos que hicieron posible esta versión de Herramientas de Node.js para Visual Studio. Para más información, consulte el proyecto Herramientas de Node.js de código abierto en GitHub.

Visual Studio Tools para Unity

Use Visual Studio para escribir y depurar juegos de Unity para todas las plataformas. Visual Studio Tools para Unity 3 (Figura 49) ahora está disponible para instalarse con la carga de trabajo "Desarrollo de juegos con Unity" en el nuevo instalador de Visual Studio 2017. Visual Studio Tools para Unity 3 se centra en mejorar la experiencia de edición y depuración de código para los desarrolladores de Unity, además de la calidad general del producto, lo que incluye:

  • Compatibilidad de IntelliSense con los mensajes de Unity.
  • Uso de colores para el código de los mensajes de Unity.
  • Mejor evaluación de expresiones en el depurador de Unity.
  • Mejores asistentes de mensajes de Unity para admitir todos los tipos de Unity que pueden recibir mensajes.
  • Varias correcciones de errores y optimizaciones.
Code completion session for Unity messages
(Figura 49) Sesión de finalización de código para mensajes de Unity

Redgate

Redgate Data Tools se incluye ahora con Visual Studio

Para ampliar las capacidades de DevOps de Visual Studio 2017 para el desarrollo de bases de datos SQL Server, Redgate Data Tools, que incluye Redgate SQL Prompt Core, Búsqueda de SQL de Redgate y Redgate ReadyRoll Core, están ahora disponibles en la carga de trabajo de procesamiento y almacenamiento de datos.

  • Redgate ReadyRoll Core, incluido con Visual Studio Enterprise 2017, le ayuda a desarrollar scripts de migración, administrar cambios en la base de datos a través del control de código fuente y automatizar de forma segura implementaciones de cambios en la base de datos de SQL Server junto con cambios en las aplicaciones.
  • Redgate SQL Prompt Core, incluido con Visual Studio Enterprise 2017, le permite escribir SQL con más rapidez y exactitud con la ayuda de la finalización de código inteligente. SQL Prompt completa automáticamente los objetos de base de datos y del sistema, así como las palabras clave, y ofrece sugerencias de columna a medida que escribe. Esto da como resultado un código más limpio con menos errores porque no es necesario recordar cada nombre o alias de columna.
  • Búsqueda de SQL de Redgate, incluido con todas las ediciones de Visual Studio 2017, aumenta la productividad al permitir encontrar rápidamente fragmentos y objetos de SQL en todas las bases de datos.

NuGet

Visual Studio 2017 incluye NuGet 4.0. Esta versión se centra en admitir la referencia de paquetes para los tipos de proyecto de la mayoría, mejoras en la calidad y mejoras en el rendimiento:

  • En proyectos de WPF, WindowsForms y UWP, ahora es posible administrar los paquetes mediante las referencias de paquete.
  • La compatibilidad con restauración de NuGet se ha mejorado para la restauración de solución ligera. Ahora, las restauraciones pueden llevarse a cabo sin necesidad de cargar ningún proyecto.
  • En el caso de los proyectos de .NET Core y ASP.NET Core, ahora los paquetes se administran con referencias de paquetes.
  • En Visual Studio 2017 y versiones posteriores, el archivo NuGet.config para todo el equipo se encuentra ahora en %PROGRAMFILES(X86)%\NuGet\Config\NuGet.config. En el futuro, nuget.exe v4.0.0+ también considerará la ubicación nueva para realizar una configuración en toda la máquina. Ya no se hará referencia implícita ni se considerará a NuGet.config en los datos de programas para la combinación jerárquica de NuGet.config.

Herramientas para aplicaciones XAML

Editar XAML y continuar

Visual Studio ahora permite editar XAML mientras se ejecuta la aplicación universal de Windows o WPF. Mientras se depura la aplicación en Visual Studio, puede realizar un cambio en el marcado en el editor de código XAML y el cambio se reflejará en la aplicación en ejecución sin tener que volver a compilar la aplicación.

Mejoras en la productividad del editor XAML

  • Filtrado de IntelliSense: al escribir XAML, la lista de finalización solo mostrará los tipos coincidentes y se seleccionará la coincidencia más próxima.
  • IntelliSense para x:Bind: hemos habilitado la finalización de IntelliSense para x:Bind al enlazar a eventos y ruta de acceso.
  • Finalización del espacio de nombres: si no existe la referencia al espacio de nombres (Figura 50), no obtendrá compatibilidad con IntelliSense mientras escribe. Cuando haya terminado de escribir, tendrá compatibilidad con sugerencias a través de bombillas para generar e insertar el prefijo del tipo, además de agregar la definición de espacio de nombres en el documento XAML.
Code completion session for IntelliSense_without_namespace
(Figura 50) IntelliSense sin espacio de nombres
  • Para los tipos que requieren un prefijo, IntelliSense ofrecerá completar automáticamente el prefijo si ya existe la referencia al espacio de nombres.

  • Refactorización de cambio de nombre del prefijo del espacio de nombres: puede invocar la acción para cambiar nombre (Figura 51) desde el menú contextual o con el método abreviado de teclado Ctrl+R+R cuando el cursor esté en el prefijo. También puede obtener una vista previa de los cambios antes de aplicarlos.
Namespace prefix rename
(Figura 51) Cambio de nombre del prefijo de espacio de nombres

  • Quitar y ordenar los espacios de nombres: ahora puede quitar los espacios de nombres que no sean necesarios (Figura 52) y ordenarlos desde el menú contextual o con el método abreviado de teclado Ctrl+R+G. Si los documentos XAML tienen espacios de nombres innecesarios, también verá una bombilla que le dará la opción de quitarlos.
lightbulb_remove unnecessary namespace
(Figura 52) Espacio de nombres innecesario en lightbulb_remove

  • Compatibilidad con .editorconfig para el editor XAML: puede definir la configuración de indent_style, indent_size y tab_width en el archivo .editorconfig que se usará en lugar de la configuración definida en Herramientas > Opciones.

  • Visualizador de estructura para el editor XAML: el visualizador de estructura (es decir, las guías de sangría) (Figura 53) ahora está integrado en Visual Studio y no se requiere una extensión independiente. Esta característica muestra el contexto del bloque de código en el que está trabajando, sin necesidad de desplazarse.

Structure Visualizer for XAML editor
(Figura 53) Visualizador de estructura para el editor XAML

Mejoras de rendimiento de XAML

  • Rendimiento de conmutación de la pestaña XAML mejorado: el rendimiento de conmutación de la pestaña XAML ha mejorado considerablemente. En proyectos de cliente de ejemplo se ha observado una reducción del tiempo de conmutación superior al 90%.
  • Solución de demoras en la introducción de texto en el editor XAML: la escritura de XAML es ahora más rápida que nunca. Hemos realizado varias inversiones en esta área para disminuir las demoras en la escritura en el editor de XAML y la mayoría de los desarrolladores encontrarán que el editor XAML e IntelliSense en XAML tienen mayor capacidad de respuesta. Esto quedará especialmente patente al editar un archivo XAML en proyectos que utilizan controles de terceros o grandes bibliotecas de controles.

Herramientas de datos y SQL Server

SQL Server Data Tools

La actualización más reciente de SQL Server Data Tools se ha incluido en Visual Studio 2017, que habilita la compatibilidad para las características más recientes de Azure SQL Database y SQL Server 2016.

Esta versión combina la facilidad de desarrollo, prueba e implementación de una base de datos en todas las versiones compatibles de las plataformas de base de datos y SQL Server (local y en la nube) mediante Visual Studio. La versión también incluye mejoras del área expuesta de programación de base de datos y mejora la experiencia de conexión de SQL en SQL Server Data Tools, que ahora detecta automáticamente SQL Server y Bases de datos SQL de Azure que puede conectar con un simple clic.

Además, Visual Studio 2017 soluciona los nuevos tipos de autenticación de Azure SQL Database, así como la autenticación de contraseña e integrada de Azure Active Directory.

Developer Analytics Tools

Visual Studio 2017 incluye Developer Analytics Tools v8.6, con las siguientes mejoras:

  • CodeLens muestra ahora datos de telemetría activos y de depuración en proyectos que envían datos a un recurso de Application Insights.
  • CodeLens para excepciones se vincula al análisis de aplicaciones para mostrar al usuario el impacto de una excepción.
  • CodeLens muestra solicitudes procedentes de sesiones de depuración local, en los proyectos con el SDK de Application Insights.
  • CodeLens para solicitudes y excepciones disponibles actualmente en los proyectos de Visual Basic.
  • Live Metrics se muestran ahora en una notificación del sistema después de que publique la aplicación desde Visual Studio.
  • La información sobre precios de Application Insights se muestra ahora en la ventana Configuración.
  • Los eventos de disponibilidad se muestran ahora en las herramientas de búsqueda y tendencias.
  • Los eventos de las herramientas de búsqueda y diagnóstico muestran ahora recuentos correspondientes a la frecuencia con que se produjeron en función del muestreo adaptable del SDK.
  • CodeLens muestra las excepciones que se han producido durante las sesiones de depuración local para los proyectos con el SDK de Application Insights.
  • Nuevo diseño de la ventana de configuración de Application Insights.
  • CodeLens para excepciones tiene ahora un vínculo al análisis de aplicaciones para ver el impacto que ha tenido una excepción en los usuarios.
  • El SDK de JavaScript de Application Insights para recopilar datos de telemetría de vista de página se agrega ahora cuando Application Insights se agrega a un proyecto.
  • Las anotaciones de publicación ahora se envían al recurso de Application Insights cuando publica la aplicación desde Visual Studio.
  • Los marcadores de la barra de desplazamiento se muestran ahora para los indicadores rojo y amarillo de CodeLens de Application Insights.

Obtenga más información sobre Application Insights en la documentación de Microsoft Azure.

Office Developer Tools para Visual Studio

Esta versión incluye Office Developer Tools con las últimas características y actualizaciones, que incluyen:

  • Nuevas plantillas de complementos de Office específicas de Excel, Word, PowerPoint y Outlook.
  • Compatibilidad para nuevas características de complementos de Office como comandos de complementos, interfaz de usuario de Fabric y una nueva versión de Office.js.
  • Nuevo código de inicio en las plantillas que mostrarán cómo empezar a trabajar con las nuevas características del complemento de Office.
  • Compatibilidad de SharePoint 2016 en plantillas de complementos y soluciones de SharePoint.

Validación dinámica de dependencias de arquitectura

Si ha configurado diagramas de validación de dependencias (también conocidos como diagramas de capas) en Visual Studio Enterprise, ahora obtendrá notificaciones en tiempo real (Figura 54) de las infracciones de las reglas de dependencia de arquitectura a medida que escriba código en el Editor de código. Los errores aparecen en la Lista de errores y los subrayados ondulados aparecerán en el editor de texto que le mostrarán la ubicación exacta de la infracción. Ahora es menos probable introducir dependencias no deseadas.

Live Architecture Dependency validation
(Figura 54) Validación dinámica de dependencias de arquitectura

Símbolo del sistema para desarrolladores

Los scripts del símbolo del sistema para desarrolladores de Visual Studio 2017 se han refactorizado para admitir la nueva experiencia de instalación:

  • Las variables de entorno solo reflejarán las cargas de trabajo instaladas.
  • El acceso directo del símbolo del sistema para desarrolladores de Visual Studio debe ser compatible con versiones anteriores.
  • Ahora puede configurar los scripts del Símbolo del sistema para desarrolladores con los argumentos de la línea de comandos:
    • En un símbolo del sistema, llame a common7\tools\vsdevcmd.bat -help (desde el directorio de instalación de Visual Studio) para más información.

SDK de Azure para .NET

El SDK de Azure para .NET de Visual Studio ahora está disponible para instalarse con el nuevo instalador de Visual Studio. Si anteriormente instaló el SDK de Azure para .NET mediante el Instalador de plataforma web, ahora puede obtener los mismos componentes mediante la instalación de la carga de trabajo de Azure con el nuevo instalador de Visual Studio. Los paquetes que se instalan presentan el mismo nivel de características que la versión 2.9.5 del SDK. Para esta versión de Visual Studio y todas las versiones futuras, el SDK de Azure para .NET solo estará disponible desde el instalador de Visual Studio.


Release Notes IconVisual Studio 2017, versión 15.0.1

Publicado el 14 de marzo de 2017

Principales problemas corregidos en la versión 15.0.1

Estos son los problemas detectados por los clientes que se han solucionado en la versión 15.0.1:


Release Notes IconVisual Studio 2017, versión 15.0.2

Publicado el 28 de marzo de 2017

Principales problemas corregidos en la versión 15.0.2

Estos son los problemas detectados por los clientes que se han solucionado en la versión 15.0.2:


Release Notes IconVisual Studio 2017, versión 15.0.3

publicado el 31 de marzo de 2017

Resumen de las actualizaciones de la versión 15.0.3

Ahora las herramientas y las API de Xcode 8.3, iOS 10.3, watchOS 3.2 y tvOS 10.2 son compatibles con la extensión Xamarin.VS para Visual Studio 2017.


Release Notes IconVisual Studio 2017, versión 15.0.4

Publicado el 23 de mayo de 2017

Principales problemas corregidos en la versión 15.0.4

Los escenarios de instalación sin conexión ya no requieren acceso a Internet.


Release Notes IconVisual Studio 2017, versión 15.0.5

Publicado el 18 de septiembre de 2017

Principales problemas corregidos en la versión 15.0.5

Estos son los problemas detectados por los clientes que se han solucionado en la versión 15.0.5:


Release Notes IconVisual Studio 2017, versión 15.0.6

publicado el 14 de noviembre de 2017

Resumen de las actualizaciones de la versión 15.0.6

Avisos de seguridad de Visual Studio 2017, versión 15.0

Microsoft ha publicado avisos de seguridad para .NET Core y ASP.NET Core. Encontrará los detalles en los anuncios correspondientes de los repositorios de .NET Core y ASP.NET Core. Tenga en cuenta la información siguiente:

CVE-2017-8585 Certificado con formato incorrecto que puede provocar una denegación de servicio

Existe una vulnerabilidad de seguridad en .NET Core 1.0, 1.1 y 2.0 por la que un certificado con formato incorrecto u otros datos con formato ASN.1 pueden causar una denegación de servicio con un bucle infinito en Linux y macOS. Recomendamos a los administradores del sistema que actualicen sus entornos de ejecución de .NET Core a las versiones 1.0.8, 1.1.5 y 2.0.1. Recomendamos a los desarrolladores que actualicen el SDK de .NET Core a la versión 2.0.3 o 1.1.5.

CVE-2017-8700 Omisión de CORS que puede permitir la divulgación de información

Existe una vulnerabilidad de seguridad en ASP.NET Core 1.0 y 1.1 que consiste en que se puede omitir CORS (uso compartido de recursos entre orígenes), lo que da lugar a una divulgación de información.

CVE-2017-11879 Redireccionamiento abierto que puede provocar una elevación de privilegios

Existe una vulnerabilidad de seguridad en ASP.NET Core 2.0 que consiste en que hay un redireccionamiento abierto que puede causar una elevación de privilegios.

CVE-2017-11770 Vulnerabilidad de denegación de servicio

Existe una vulnerabilidad de seguridad en ASP.NET Core 1.0, 1.1 y 2.0 cuando la aplicación se hospeda con Http.Sys de Windows que consiste en que una solicitud con un formato incorrecto puede causar una denegación de servicio. En los nuevos proyectos creados con ASP.NET Core 1.0 y ASP.NET Core 1.1, ahora se usarán versiones de paquetes en los que se incluirán las actualizaciones de seguridad anteriores. Para los proyectos existentes, los usuarios pueden actualizar los paquetes a versiones más recientes con el cuadro de diálogo Administrar paquetes NuGet.


Release Notes IconVisual Studio 2017, versión 15.0.7

Publicado el 6 de diciembre de 2017

Resumen de las actualizaciones de la versión 15.0.7

Aviso de seguridad de Visual Studio 2017, versión 15.0

Microsoft ha publicado avisos de seguridad para ASP.NET Core. Encontrará los detalles en los anuncios correspondientes del repositorio de ASP.NET Core. Tenga en cuenta la información siguiente:

CVE-2017-8700 Omisión de CORS que puede permitir la divulgación de información

Existe una vulnerabilidad de seguridad en ASP.NET Core 1.0 y 1.1 que consiste en que se puede omitir CORS (uso compartido de recursos entre orígenes), lo que da lugar a una divulgación de información. En los nuevos proyectos creados con ASP.NET Core 1.0 y ASP.NET Core 1.1, ahora se usarán versiones de paquetes en los que se incluirán la actualización de seguridad anterior. Para los proyectos existentes, los usuarios pueden actualizar los paquetes a versiones más recientes con el cuadro de diálogo Administrar paquetes NuGet.


Release Notes IconVisual Studio 2017, versión 15.0.8

Publicado el 9 de enero de 2018

Resumen de las actualizaciones de la versión 15.0.8

Avisos de seguridad de Visual Studio 2017, versión 15.0

CVE-2018-0786 Omisión de características de seguridad en la validación del certificado X509

Microsoft publica este aviso de seguridad para proporcionar información sobre una vulnerabilidad en las versiones públicas de .NET Core 1.0, 1.1 y 2.0. En este aviso también se proporcionan instrucciones sobre qué deben hacer los desarrolladores para actualizar sus aplicaciones correctamente. Este aviso de seguridad también se puede aplicar a .NET nativo para UWP.

Microsoft es consciente de que hay una vulnerabilidad de seguridad en las versiones públicas de .NET Core que permiten que un atacante pueda presentar un certificado marcado como inválido para un uso específico, pero que un componente lo use para ese propósito. Esta acción no tiene en cuenta el etiquetado de Uso mejorado de clave.

La actualización de seguridad soluciona la vulnerabilidad asegurándose de que los componentes de .NET Core validan completamente los certificados. Recomendamos a los administradores del sistema que actualicen sus entornos de ejecución de .NET Core a las versiones 1.0.9, 1.1.6 y 2.0.5. Recomendamos a los desarrolladores que actualicen el SDK de .NET Core a la versión 2.1.4 o 1.1.7.

CVE-2018-0764 Denegación de servicio al analizar documentos XML

Microsoft publica este aviso de seguridad para proporcionar información sobre una vulnerabilidad en las versiones públicas de .NET Core 1.0, 1.1 y 2.0. En este aviso también se proporcionan instrucciones sobre qué deben hacer los desarrolladores para actualizar sus aplicaciones correctamente.

Microsoft es consciente de que hay una vulnerabilidad de denegación de servicio en todas las versiones públicas del núcleo de .NET debido a un procesamiento incorrecto de documentos XML. Un atacante que aprovechase correctamente esta vulnerabilidad podría producir una denegación de servicio en una aplicación .NET. Un atacante remoto no autenticado podría aprovechar esta vulnerabilidad si usa solicitudes creadas especialmente a una aplicación .NET Core.

La actualización soluciona la vulnerabilidad mediante la corrección de cómo el núcleo de .NET controla el procesamiento de documentos XML. Recomendamos a los administradores del sistema que actualicen sus entornos de ejecución de .NET Core a las versiones 1.0.9, 1.1.6 y 2.0.5. Recomendamos a los desarrolladores que actualicen el SDK de .NET Core a la versión 2.1.4 o 1.1.7.


Release Notes IconVisual Studio 2017, versión 15.0.9

Publicado el 2 de febrero de 2018

Resumen de las actualizaciones de la versión 15.0.9

  • El compilador de MSVC se ha actualizado para que sea compatible con el modificador de /Qspectre, con lo que se insertará automáticamente una barrera de especulación cuando el compilador detecte instancias de la variante 1 de espectro. Para obtener más información sobre /Qspectre, consulte el Blog del equipo de Visual C++.
  • Hemos pasado a Java™ Development Kit 8, actualización 161 (versión de JDK 8u161) para corregir errores de descarga.

Release Notes IconVisual Studio 2017, versión 15.0.10

publicado el 21 de febrero de 2018

Resumen de las actualizaciones de la versión 15.0.10

Team Explorer es compatible con TLSv1.2. Hemos actualizado los componentes de Git y Git Credential Manager que se distribuyen en Visual Studio. El componente opcional de Git para Windows también se ha actualizado. Esta actualización permite a Git conectarse a los servicios que hayan puesto en desuso la compatibilidad con TLSv1 y TLSv1.1 en favor de TLSv1.2.


Release Notes IconVisual Studio 2017, versión 15.0.11

publicado el 13 de marzo de 2018

Resumen de las actualizaciones de la versión 15.0.11

Aviso de seguridad de Visual Studio 2017, versión 15.0

CVE-2018-0875 Avisos de seguridad de Microsoft sobre .NET Core

Microsoft es consciente de una vulnerabilidad de seguridad en las versiones públicas de .NET Core que consiste en que un archivo o una solicitud web malintencionados podrían provocar un ataque por denegación de servicio (DoS).

  • Recomendamos a los administradores del sistema que actualicen sus entornos de ejecución de .NET Core a las versiones 1.0.10, 1.1.7 o 2.0.6. Recomendamos a los desarrolladores que actualicen el SDK de .NET Core a la versión 1.1.8 o 2.1.101.

Release Notes IconVisual Studio 2017, versión 15.0.12

Publicado el 10 de abril de 2018

Resumen de las actualizaciones de la versión 15.0.12

Aviso de seguridad de Visual Studio 2017, versión 15.0

CVE-2018-1037 Avisos de seguridad de Microsoft sobre la vulnerabilidad de divulgación de información de Microsoft Visual Studio

Existe una vulnerabilidad relativa a la divulgación de información cuando Visual Studio divulga incorrectamente contenido limitado de memoria no inicializada al compilar archivos de base de datos de programa (PDB). Un atacante que se aprovechó de esta divulgación de información podía ver la memoria no inicializada de la instancia de Visual Studio utilizada para compilar el archivo PDB.

Para aprovechar la vulnerabilidad, el atacante necesitaría acceso a un archivo PDB afectado creado con una versión vulnerable de Visual Studio. El atacante no tendría forma de obligar a un desarrollador a producir esta divulgación de información.

La actualización de seguridad trata la vulnerabilidad al corregir cómo se generan los archivos PDB cuando se compila un proyecto.


Release Notes IconVisual Studio 2017, versión 15.0.13

Publicado el 26 de abril de 2018

Resumen de las actualizaciones de la versión 15.0.13

  • Hemos pasado a Java™ Development Kit 8, actualización 172 (versión de JDK 8u172).

Release Notes IconVisual Studio 2017, versión 15.0.14

publicado el 31 de mayo de 2018

Resumen de las actualizaciones de la versión 15.0.14

Aviso de seguridad de Visual Studio 2017, versión 15.0

CVE-2018-11235 Aviso de seguridad de Microsoft sobre vulnerabilidad de la seguridad de Git

Se ha corregido una vulnerabilidad de seguridad en Git que se detectó por la comunidad de Git. La vulnerabilidad puede permitir la ejecución de código arbitrario cuando un usuario clona un repositorio malintencionado.


Release Notes IconVisual Studio 2017, versión 15.0.15

publicado el 10 de julio de 2018

Resumen de las actualizaciones de la versión 15.0.15

Avisos de seguridad de Visual Studio 2017, versión 15.0

CVE-2018-8172 Vulnerabilidad de ejecución remota de código de Visual Studio

Vulnerabilidad de ejecución remota de código que podía dar lugar a la explotación del equipo de un usuario al abrir un proyecto especialmente diseñado, o archivo de recursos. La actualización de seguridad soluciona la vulnerabilidad al corregir la forma en que Visual Studio comprueba el marcado de origen de un archivo.

CVE-2018-8260 Vulnerabilidad de ejecución remota de código de .NET Framework

Vulnerabilidad de ejecución remota de código en el software de .NET que podía dar lugar a la explotación del equipo de un usuario al permitir a los atacantes ejecutar código arbitrario en el contexto del usuario actual. La actualización de seguridad soluciona la vulnerabilidad al corregir la forma en que .NET comprueba el marcado de origen de un archivo.

CVE-2018-8232 Vulnerabilidad de manipulación del macroensamblador de Microsoft de .NET

Vulnerabilidad de manipulación relacionada con la validación incorrecta de código por parte del macroensamblador de Microsoft. La actualización de seguridad soluciona la vulnerabilidad al garantizar que el macroensamblador de Microsoft valide correctamente la lógica del código.

CVE-2018-8171 Vulnerabilidad de omisión de características de seguridad de ASP.NET Core

Vulnerabilidad de omisión de características de seguridad de ASP.NET Core que consistía en que no se validaba el número de intentos incorrectos de inicio de sesión, lo que podía dar lugar a que un atacante realizase infinitos intentos de autenticación. La actualización soluciona la vulnerabilidad al validar el número de intentos de inicio de sesión incorrectos.


Release Notes IconVisual Studio 2017, versión 15.0.16

publicado el 2 de agosto de 2018

Resumen de las actualizaciones de la versión 15.0.16

  • Con esta versión ahora se instala Java™ Development Kit 8, actualización 181 (versión de JDK 8u181).

Aviso de seguridad de Visual Studio 2017, versión 15.0

CVE-2018-8356 Vulnerabilidad de omisión de características de seguridad de .NET Core

Microsoft es consciente de la existencia de una vulnerabilidad de omisión de característica de seguridad que se produce cuando .NET Core no valida correctamente los certificados. Un atacante que aproveche esta vulnerabilidad podría presentar un certificado expirado cuando se le solicite. En la actualización se soluciona la vulnerabilidad mediante la corrección de cómo .NET Core controla la validación de certificados.


Release Notes IconVisual Studio 2017, versión 15.0.17

publicado el 14 de agosto de 2018

Resumen de las actualizaciones de la versión 15.0.17

Aviso de seguridad de Visual Studio 2017, versión 15.0

CVE-2018-0952 Vulnerabilidad de elevación de privilegios del recopilador estándar del concentrador de diagnósticos

Existe una vulnerabilidad de elevación de privilegios en un servicio de Visual Studio que puede dar lugar a la concesión de privilegios del sistema a un usuario no administrativo al escribir archivos. Un atacante que quisiera aprovecharse podría escribir archivos como si fueran del sistema solo con acceso de nivel de usuario. Esta actualización de seguridad soluciona este problema al suplantar al usuario actual para validar el acceso a la ubicación de archivos.


Release Notes IconVisual Studio 2017, versión 15.0.18

publicado el 28 de agosto de 2018

Principales problemas corregidos en la versión 15.0.18


Problemas conocidos

Estamos plenamente dispuestos a escuchar sus comentarios. Visite el sitio de la comunidad de desarrolladores para encontrar los problemas más recientes, dejar constancia de nuevos problemas y votar los problemas existentes.


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 Report a Problem 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.

Developer Tools Blogs


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

Para obtener más información relacionada con las versiones anteriores de Visual Studio 2017, consulte la página Historial de notas de la versión de Visual Studio 2017.


Principio de página