Icono de Visual Studio Notas de la versión de Visual Studio 2015 Update 3

Importante

Esta versión ya no se admite. Para descargar la versión más reciente, visite https://visualstudio.microsoft.com/downloads/.

Versiones de Visual Studio 2015

Puede ver las notas de la versión de todas las versiones de Visual Studio 2015:

Descarga de Visual Studio 2015

Puede descargar Visual Studio 2015 desde My.VisualStudio.com. My.VisualStudio.com requiere una suscripción gratuita a Dev Essentials o una suscripción a Visual Studio.

Icono de notas de lanzamiento Visual Studio 2015 Update 3

Fecha de lanzamiento: 27 de junio de 2016

Resumen de las novedades de esta versión


Novedades de esta versión

Herramientas para Apache Cordova

Nota:

La versión Node.js instalada con Visual Studio 2015 Update 3 no está actualizada. Para actualizar a una versión más reciente, obtenga más información sobre cómo actualizar de forma segura Node.js.

Visual Studio 2015 Update 3 incluye Herramientas para Apache Cordova Update 10, incluidas las mejoras siguientes. y Update 10. Para obtener las últimas noticias sobre nuestras herramientas, visite nuestro blog para desarrolladores en GitHub.

  • Hemos agregado compatibilidad con Cordova 6.1.1, la versión predeterminada para los nuevos proyectos.
  • Hemos retirado el Registro de complementos de Cordova que se usó en Cordova 4.x, lo que significa que ahora necesitamos un mínimo de Cordova 5.x o posterior para agregar complementos.
  • La lista De complementos principales se ha actualizado y ahora incluye complementos para escenarios empresariales, como Intune, Azure Engagement, seguridad y almacenamiento local de SQLite.
  • Ahora puede agregar complementos desde el diseñador de configuración por el nombre del paquete npm o por el identificador.

cordova-add-plugin-byid

  • También puede agregar complementos que requieran parámetros desde el diseñador de configuración.

plugin-parameters

Herramientas de Análisis para desarrolladores

Hemos agregado las siguientes mejoras en Developer Analytics Tools v7.0.2:

  • Application Insights Trends, una herramienta para encontrar tendencias en la telemetría de tu aplicación.
  • Telemetría de excepciones en CodeLens.
  • Información de telemetría de producción agregada a excepciones en Herramientas de diagnóstico.
  • Compatibilidad con la adición de Application Insights a proyectos de ASP.NET Core RC2 desde Visual Studio.
  • Eventos de herramientas de diagnóstico para proyectos de ASP.NET 5 RC1 y ASP.NET Core RC2.
  • Actualizaciones automáticas de Application Insights Search cuando se seleccionan filtros de detalles, intervalos de tiempo y eventos.
  • Vaya a Código desde solicitudes en Búsqueda.
  • Se ha mejorado la experiencia de inicio de sesión de HockeyApp.

Para más información, consulte las notas de la versión técnica en la documentación de Microsoft Azure.

Depuración y diagnóstico

Se ha agregado compatibilidad con herramientas de diagnóstico para aplicaciones que se ejecutan en dispositivos OneCore, incluidos HoloLens e IOT, en la actualización 3.

Mejoras en la función de C++ "Edit and Continue".

  • Mejor rendimiento y confiabilidad cuando FASTLINK está habilitado.
  • La aplicación correcta de los cambios de código en las bibliotecas estáticas ya no genera código obsoleto.
  • Las advertencias C4656 ya no aparecerán para los cambios de tipo falso positivo durante la recompilación.
  • Compatibilidad para agregar un nuevo tipo con el mismo nombre cruzando varias unidades de compilación.

Mejoras en la depuración de la Interfaz de Usuario de XAML

  • Siempre que el foco cambie en la aplicación, la nueva característica Track Focus del árbol visual activo hará que la selección del árbol visual activo se actualice al elemento centrado actualmente.

IDE de Visual Studio

Suscripciones y claves de producto

Hemos abordado los comentarios de Update 3 de los clientes que usan suscripciones a través de una identidad en línea o claves de producto para desbloquear el IDE de las maneras siguientes:

  • Ya no es necesario visitar https://my.visualstudio.com para activar la suscripción asignada a Visual Studio Cloud y puede empezar a usar inmediatamente el IDE de Visual Studio en cuanto se asigne la suscripción.
  • Hemos mejorado el control de errores al aplicar una clave de producto.
  • Todas las operaciones de cuentas de usuario y licencias ahora están protegidas mediante HTTPS.
  • Hemos realizado mejoras de accesibilidad en el cuadro de diálogo Configuración de la cuenta para activar una suscripción y escribir una clave de producto.
  • La nueva autenticación cada ~8 días ya no es necesaria para mantener activa la cuenta de personalización y sincronizar la configuración de itinerancia.

Herramientas para aplicaciones universales de Windows

Visual Studio 2015 Update 3 incluye varias mejoras en las herramientas para aplicaciones universales de Windows. Una mejora clave te permite iniciar sesión con credenciales de Azure Active Directory para una cuenta de la Tienda AAD al crear un paquete para enviarlo a la Tienda Windows. Una vez que el proyecto se haya asociado a la Tienda Windows, ya no tendrás que iniciar sesión para crear un paquete que se envíe a la Tienda.

.NET Native para aplicaciones universales de Windows

.NET Native 1.4 es una versión de mantenimiento secundaria que mejora el rendimiento, soluciona varios errores notificados por el cliente y mejora los tiempos de compilación de la versión de las aplicaciones grandes. Las aplicaciones XAML y los juegos de Unity que usan .NET Native 1.4 tendrán un mejor rendimiento en tiempo de ejecución. Estas mejoras se lograron mediante la realización de llamadas API nativas y de reflexión más rápidas.

Herramientas de arquitectura

Hemos abordado los comentarios de los clientes sobre cómo mejorar el rendimiento y la confiabilidad.

Diseñadores gráficos específicos del dominio (incluidos EDMX y DBML)

En Windows 10, Visual Studio ya no responde al abrir o intentar editar diagramas grandes de EDMX o DBML mientras se muestra el teclado en pantalla.

Mapa de código

  • Visual Studio ya no responde cuando intenta "Generar mapa de código para la solución" cuando la solución contiene proyectos de instalador (.vdproj).
  • Visual Studio ya no responde al ejecutar un comando de mapa de código desde el editor de código y cerrar la ventana Mapa de código en cuanto aparezca.

Validación de capas

  • Al compilar una solución que tenga un proyecto de modelado que contenga un diagrama de capas con una acción Validar, ya no se usará un núcleo de CPU una vez completada la compilación.
  • Ahora puede validar un diagrama de capas cuando su proyecto de modelado primario hace referencia a bibliotecas PCL (por ejemplo, ODP.Net).

herramientas de Node.js para Visual Studio

Node.js Tools 1.2 RC para Visual Studio ya está disponible para su descarga. Esperamos que esta versión proporcione una estabilidad y un rendimiento considerablemente mejorados, incluida la reducción de bloqueos fuera de memoria detectados en versiones anteriores.

Otros aspectos destacados incluyen:

  • ES6 IntelliSense más rápido y mejor
  • Depuración más fiable
  • Experiencias mejoradas de pruebas unitarias (incluida la compatibilidad con cintas)
  • Comando .npm en más tipos de proyecto

Para obtener información completa y descargas, consulte la página de versión de Node.js Tools 1.2 RC.

Herramientas para desarrolladores web

Para proyectos de aplicación web de ASP.NET, cuando la casilla «Habilitar edición y continuar» está desactivada, el proceso de IIS Express ya no se detendrá cuando detenga la depuración.

Visual C++

En Update 3 se incluyeron mejoras, como nuevas comprobaciones y mensajes de advertencia para el compilador de C++, así como mejoras de compatibilidad y rendimiento para la codificación de C# y Visual Basic.

Compilador C++

  • Ahora comprobamos el acceso de un constructor de copia/movimiento trivial eliminado. Sin la comprobación, es posible que llamemos incorrectamente al constructor de copia predeterminado (en el que la implementación puede estar mal formada) y provoquemos una generación incorrecta de código en tiempo de ejecución.
  • Std::is_convertible ahora detecta correctamente la asignación automática de un tipo de clase cuando el constructor de copia se elimina o es privado.
  • Como la última fase de finalización del desuso de la compatibilidad con ATL con atributos iniciado en Visual Studio 2008, hemos agregado una nueva advertencia de desuso al compilador. Con Visual Studio 2015 Update 3, los usos del código ATL con atributos generarán, por defecto, una advertencia de nivel 1. C4467
  • Al usar archivos PCH, si los directorios incluidos con -I no coinciden cuando se pasa al compilador durante las compilaciones con -Yc y -Yu, ahora se producirá una nueva advertencia. C4599
  • Al usar archivos PCH, las directivas #include no coincidentes en los archivos de origen entre las compilaciones -Yc y -Yu ahora producirán una advertencia. C4598

Para obtener más información sobre cómo estos cambios podrían afectar al código existente, vea Guía de migración y actualización de Visual C++ en MSDN.

Bibliotecas de C++

  • Hemos restaurado el rendimiento del modo de depuración al destruir rangos de objetos triviales que se habían visto afectados en la actualización 2, como en vector.

  • Hemos implementado los rasgos intercambiables del documento de trabajo de C++17, de la propuesta P0185 Agregar [nothrow-]rasgos intercambiables. Como característica especulativa de C++17, los rasgos (is_swappable, is_swappable_with, is_nothrow_swappabley is_nothrow_swappable_with) solo están visibles y las restricciones de std::swap solo están activas, al compilar con /std:c++latest.

  • Hemos eliminado las llamadas de eventos ETW de vcruntime140.dll y librerías estáticas que se ejecutaban anteriormente durante el inicio del proceso y dllmain.

  • Hemos eliminado la longitud del nombre del símbolo en la maquinaria común utilizada por los contenedores STL, como std::vector, lo que reduce la probabilidad de advertencias de C4503. Por ejemplo, el siguiente tipo ya no genera una advertencia: concurrency::concurrent_unordered_map<wstring, vector<pair<uint64_t, vector<uint8_t>>>>.

  • ATL/MFC/AMP/PPL: muchas correcciones de conformidad relacionadas con la búsqueda en dos fases, como se indica a continuación:

    • _com_ptr_t ahora cuenta con un constructor de movimiento y un método de asignación de movimiento.

    • MFC: se ha corregido el control de los valores de HMENU que ocasionalmente impedían que los menús se mostraran correctamente en aplicaciones de 64 bits.

    • ATL/MFC: ya no emite las siguientes advertencias:

    • Invalidación y ocultación de funciones: C4263, C4264, C4266

    • Especificación de excepción que no coincide: C4986

    • /analyze: C6386

    • ATL: todas las variaciones de AtlThrow ahora están marcadas correctamente con __declspec(noreturn). Esto evita que se emita advertencias SAL erróneas.

    • ATL: se han corregido o mejorado varias anotaciones SAL.

    • /std:c++latest habilita las siguientes características nuevas: P0025R1 "clamp()", P0185R1 "is_swappable, is_nothrow_swappable" y P0272R1 "Non-const basic_string::data().".

    • /std:c++latest también controla la eliminación de las siguientes características antiguas: N4190 "Quitar auto_ptr, random_shuffle() y elementos funcionales antiguos", P0004R1 "Quitar alias de Iostreams en desuso", LWG 2385 "function::assign con argumento de asignador no tiene sentido" y varias características no estándar (el espacio de nombres std::tr1, algunos mecanismos exclusivos de TR1 y la estructura std::identity).

    • Defecto silencioso en la generación de código de int64_t atómico< y uint64_t atómico> en x86 fue corregido.<

    • STL ahora evita el uso de "estáticas mágicas" seguras para subprocesos, excepto cuando sea absolutamente necesario, lo que mejora la generación de código.

    • El constructor de reenvío perfecto de Tupla ahora evita rivalizar con el constructor de copia, lo que corrige errores del compilador en determinados escenarios.

  • Corutinas

    • Se han dejado obsoletas: __yield_value y __await palabras clave. En su lugar, use co_await / co_yield.
    • Se agregó un aviso de desuso a los miembros to_address y from_promise de la clase coroutine_handle. En vez de coroutine_handle::to_address(), use coroutine_handle::address().
    • En vez de coroutine_handle::from_promise(Promise *P), use coroutine_handle::from_promise(Promise &P).
  • Hemos mejorado el rendimiento de lo siguiente: std::equal y std::lexicographical_compare enviando a memcmp y memchr de forma más agresiva, lo que da lugar a mejoras de rendimiento grandes en algunos escenarios. Por ejemplo: equal(char,char,char,char) en plataformas de 64 bits.

    • Las compilaciones de depuración mejoran significativamente al reducir el número de llamadas a funciones de seguimiento en nuestro mecanismo de depuración de iteradores.
    • string::push_back ha mejorado un 40% adicional en comparación con Update 2 en las compilaciones de producción, con mejoras más importantes en las compilaciones de depuración. (Esto se suma a las importantes mejoras de rendimiento que se han implementado aquí y que se incluyen en la Actualización 2).
    • Las compilaciones de depuración en todos los algoritmos estándar han mejorado al eliminar varios tipos de llamadas de soporte de metaprogramación de plantillas vacías (por ejemplo, _Iter_cat), y en todos los algoritmos que utilizan predicados al reducir el número de copias de predicado.
    • std::mismatch en _ITERATOR_DEBUG_LEVEL 1 y 2 comprobando el segundo intervalo dentro del rango siempre que sea posible antes de la iteración.
  • Hemos aplicado diagnósticos mejorados a los mensajes de _SCL_INSECURE_DEPRECATE y a los algoritmos restantes (en la actualización 2 solo un pequeño número de algoritmos se enlazó al nuevo mecanismo de obsolescencia). Esto también mejora la experiencia de depuración al adentrarse en los algoritmos estándar, ya que ya no hay interacción del preprocesador declarando múltiples copias de estos algoritmos. También hemos corregido lo siguiente:

    • Hemos corregido la incapacidad de compilar algunas funciones como la falta de coincidencia (iter, iter, T[]) debido a la interacción entre nuestros algoritmos no estándar _ITERATOR_DEBUG_ARRAY_OVERLOADS y de rango dual.
  • Hemos corregido las infracciones del código de advertencia C4242, que está desactivado de forma predeterminada, en el STL.

  • Hemos corregido un posible error de desbordamiento de enteros en std::pop_heap.

  • Hemos corregido un posible bloqueo en /clr:pure debido a las llamadas a LoadLibrary insertadas por el CLR mientras se mantiene el bloqueo de configuración regional.

Depuración de C++/CLI

  • El evaluador de expresiones de C++/CLI ahora admite características del depurador, como Natvis, que anteriormente solo se admitían para aplicaciones nativas puras. Ahora, en una aplicación nativa o administrada mixta cuando los objetos aparecen en una ventana variable (o dentro de una información sobre datos), se expandirán igual que en una aplicación nativa pura, tal como se define en los visualizadores de tipos.

cpp-cli-debug

Conjunto de herramientas de plataforma clang/C2

Hemos integrado la versión de Clang 3.8 en Clang/C2 y hemos proporcionado un conjunto de herramientas hospedado de 64 bits.

C++ Desarrollo Dirigido por Modelos (MDD)

Hemos habilitado la compatibilidad con la versión más reciente de Android NDK R11C y la capacidad de actualizar los proyectos actuales para tener como destino el NDK más reciente.

TypeScript

Visual Studio 2015 Update 3 incluye TypeScript 1.8.34. Hemos corregido un error de memoria insuficiente con algunos proyectos de TypeScript grandes que usan AngularJS.

C# y Visual Basic

Hemos invertido en reducir la superficie de memoria y mejorar el rendimiento de los diagnósticos de código. Esto reducirá una gran cantidad de errores por falta de memoria vistas en versiones anteriores. Hemos mejorado el rendimiento de ejecutar diagnósticos de código en una solución completa. Para obtener más información sobre las mejoras de rendimiento de diagnóstico de código, lea la página How to: Enable and Disable Full Solution Analysis for Managed Code (Cómo: Habilitar y deshabilitar el análisis completo de soluciones para código administrado ) en MSDN.

Entre las mejoras adicionales se incluyen las siguientes:

  • Una opción para agregar una referencia a un paquete NuGet como una corrección rápida:

nuget-bulb

  • Puede habilitar esta opción en Herramientas > Opciones > Editor de texto > C# > Avanzado, en "Using Directives":

plugin-byid

  • Se ha mejorado la compatibilidad con las bibliotecas de clases portables destinadas a .NET Platform Standard.
  • Hemos agregado mejoras de rendimiento a la función Ir a Implementación de C# y a Buscar Todas las Referencias. Para probarlos, seleccione un objeto, haga clic con el botón derecho en él y selecciónelos en el menú.
  • Al aplicar una acción "corregir todo" a document/project/solution, ahora se muestra una barra de progreso.
  • Rendimiento mejorado al volver a cargar proyectos de C# y VB en soluciones grandes. Para obtener más información y sugerencias, lea: Consideraciones de rendimiento para soluciones grandes.

Team Explorer

Se han corregido varios errores en Team Explorer:

  • No se puede ver el contenido de un archivo que se eliminó de un repositorio de Git.
  • Cuando se visualiza el historial de una rama, el icono Ir al elemento secundario debe deshabilitarse cuando el foco sea la transacción más reciente.
  • Al cambiar de ramas usando Git.exe, Visual Studio puede bloquearse o entrar en un estado desconocido.
  • Al ver el historial de una rama en un repositorio de Git, el resaltado del gráfico de historial tiene problemas.
  • Al crear una rama en Team Explorer, el acceso directo Alt+B para Crear rama entra en conflicto con el menú Compilar.
  • En una situación de uso elevado de memoria, al intentar desempaquetar un objeto mayor que la memoria disponible, Git genera un error de "Object not found - no matching loose object (<sha1>)" en lugar de un error de memoria insuficiente.
  • Error tipográfico en el mensaje de error "... Para abrir esta solución...".
  • Al ver el historial de una rama y hacer clic con el botón derecho en la primera confirmación del historial, Cherry Pick está deshabilitado.
  • Al crear una solicitud de incorporación de cambios desde el menú contextual de la página de ramas de Team Explorer, se usa la rama actual en lugar de la rama seleccionada.

Xamarin para Visual Studio

Visual Studio 2015 Update 3 ahora incluye Xamarin 4.1. Además de varias correcciones de errores, esta versión agrega compatibilidad con tvOS, mejora la compatibilidad con el catálogo de activos de iOS, mejora la experiencia de edición XML y agrega selectores para implementaciones SSL/TLS y HttpClient al crear aplicaciones iOS. Para más información, consulte las notas de la versión de Xamarin.