Notas de la versión 16.10 de Visual Studio 2019
Comunidad de desarrolladores | Requisitos del sistema | Compatibilidad | Código distribuible | Historial de versiones | Términos de licencia | Blogs | Novedades de la documentación de Visual Studio
Nota:
Esta no es la versión más reciente de Visual Studio. Para descargar la versión más reciente, visite el sitio de Visual Studio.
Novedades de Visual Studio 2019, versión 16.10
Período de tiempo de soporte técnico
Esta versión ya no es compatible. Para más información sobre la compatibilidad con Visual Studio, revise la Directiva de compatibilidad para Visual Studio 2019.
Consulte la versión más reciente de las notas de la versión o visite el sitio de Visual Studio para descargar la versión más reciente compatible de Visual Studio 2019.
Versiones de Visual Studio 2019, versión 16.10
- 20 de julio de 2021: Visual Studio 2019, versión 16.10.4
- 29 de junio de 2021: Visual Studio 2019, versión 16.10.3
- 15 de junio de 2021: Visual Studio 2019, versión 16.10.2
- 8 de junio de 2021: Visual Studio 2019, versión 16.10.1
- 25 de mayo de 2021: Visual Studio 2019, versión 16.10.0
Notas de la versión archivadas de Visual Studio 2019
- Notas de la versión 16.9 de Visual Studio 2019
- Notas de la versión de Visual Studio 2019 16.8
- Notas de la versión de Visual Studio 2019 16.7
- Notas de la versión de Visual Studio 2019, versión 16.6
- Notas de la versión de Visual Studio 2019, versión 16.5
- Notas de la versión de Visual Studio 2019, versión 16.4
- Notas de la versión de Visual Studio 2019, versión 16.3
- Notas de la versión de Visual Studio 2019 16.2
- Notas de la versión de Visual Studio 2019 16.1
- Notas de la versión de Visual Studio 2019 16.0
Blog de Visual Studio 2019
El blog de Visual Studio 2019 es la fuente oficial de información sobre el producto de la mano del equipo de ingeniería de Visual Studio. Encontrará información detallada sobre las versiones de Visual Studio 2019 en las publicaciones siguientes:
- La versión preliminar 1, así como las versiones 16.10 y 16.11 de Visual Studio 2019, están disponibles desde hoy mismo.
- Productividad mejorada con Git en Visual Studio
- ¡Ya disponible! Visual Studio 2019 v16.9 y v16.10, versión preliminar 1
- Visual Studio 2019, versión preliminar 3, versión 16.9, está disponible desde hoy mismo.
- Versión preliminar 2 de Visual Studio 2019 v16.9 y los mejores deseos de año nuevo, todos para usted
- Visual Studio 2019, versión preliminar, versiones 16.8 y 16.9, está disponible desde hoy mismo.
- Características nuevas en Visual Studio 2019, versión 16.8, versión preliminar 3.1
- Nuevas características disponibles desde hoy en la versión preliminar 2 de Visual Studio 2019, versión 16.8
- Visual Studio 2019, versión preliminar 1, versiones 16.7 y 16.8, está disponible desde hoy mismo.
- Visual Studio 2019, versión preliminar 2, versión 16.7, está disponible desde hoy mismo.
- Nuevas y emocionantes actualizaciones relativas a la experiencia de Git en Visual Studio
- ¡Publicado hoy! Visual Studio 2019 v16.6 y v16.7 Preview 1
- Nuevas características de Visual Studio 2019, versión 16.6, versión preliminar 2
- Se ha publicado la versión 16.5 de Visual Studio 2019
- Este es el mejor momento para lanzar Visual Studio 2019, versión 16.4
- Visual Studio 2019 v16.4 Preview 2, Fall Sports, and Pumpkin Spice
- Compatibilidad con .NET Core y mucho más en Visual Studio 2019 versión 16.3: ¡actualice ahora!
- Se ha publicado la versión preliminar 2 de Visual Studio 2019 16.3 y la versión preliminar 2 de Visual Studio 2019 para Mac 8.3.
- Versión preliminar 1 de Visual Studio 2019 16.2 y 16.3 ya disponible
- Versión preliminar 2 de Visual Studio 2019 16.2
- Versión preliminar de Visual Studio 2019 16.1 y 16.2
- Visual Studio 2019: escribe código más rápido. Trabaje de forma más inteligente. Cree el futuro.
Visual Studio 2019, versión 16.10.5
Fecha de publicación: 10 de agosto de 2021
Resumen de las novedades de esta versión de Visual Studio 2019, versión 16.10.5
Esta versión de Visual Studio 2019 solo está disponible a través de Windows Software Update Service (WSUS).
Principales problemas corregidos en esta versión
- Ahora el simulador remoto de iOS funcionará correctamente con dispositivos Mac emparejados que tengan Xcode 12.4 o 12.5 instalado. Las siguientes características del simulador de Xcode no están disponibles cuando se empareja con dispositivos Mac con Xcode 12.4 o superior instalado:
- Advertencia de memoria simulada
- Ubicaciones simuladas
Aviso de seguridad
CVE-2021-26423 Vulnerabilidad de denegación de servicio de .NET Core
Existe una vulnerabilidad de denegación de servicio que engaña a las aplicaciones de servidor de .NET (Core) que proporcionan puntos de conexión de WebSocket para que se ejecuten indefinidamente en bucle al intentar leer un único marco WebSocket.
CVE-2021-34485 Vulnerabilidad de divulgación de información de .NET Core
Existe una vulnerabilidad de divulgación de información cuando la herramienta crea volcados para recopilar volcados de memoria y volcados a petición con permisos de lectura globales en Linux y macOS.
CVE-2021-34532 Vulnerabilidad de divulgación de información de ASP.NET Core
Existe una vulnerabilidad de divulgación de información en la que se registra un token JWT si no se puede analizar.
Visual Studio 2019, versión 16.10.4
Fecha de publicación: 20 de julio de 2021
Resumen de las novedades de la versión 16.10.4 de Visual Studio 2019
Principales problemas corregidos en esta versión
- Eliminación del uso de registros no permitidos en memset.
- Se ha corregido un error de codegen que implicaba expresiones anidadas complicadas donde intervenía el operador NOT bit a bit.
- Se ha corregido la depuración del sombreador para el analizador de gráficos de VS.
- Se ha corregido un bloqueo de IntelliSense que se producía al procesar miembros de datos estáticos en especializaciones de plantilla en clase.
- En VC Redist X64 ya no se quitan los archivos en tiempo de ejecución cuando se ejecuta con los modificadores /installer /passive.
- Se ha corregido un problema por el que el orden de búsqueda de inclusión puede ser incorrecto cuando se antepone a "Directorios de inclusión".
- Se ha corregido el problema de rendimiento y los falsos positivos que provocaba una de las extensiones de comprobación que encuentra errores en el uso incorrecto de elementos VARIANT.
- Se ha corregido el problema de rendimiento provocado por una de las extensiones de comprobación que encuentra errores en el uso incorrecto de los valores de enumeración como índice.
- Introducción de una corrección de los servicios de idioma de Live Share que restaura las características principales de edición de código para los participantes de la sesión de colaboración (finalización del código, resaltado de sintaxis, errores, etc.)
- El analizador de simultaneidad ya no debe generar advertencias falsas C26110 (error al adquirir bloqueo) con patrones de bloqueo automático.
- Los compiladores de Visual Basic y C# han corregido un bloqueo en el que InternalsVisibleTo entraba en conflicto con otros atributos de nivel de ensamblado.
- Se ha corregido un problema que experimentaban los clientes que empaquetaban sus proyectos con Proyectos de paquete de aplicación de Windows, como aplicaciones NetCore de WPF y aplicaciones de Project Reunion:
Error: Archivo de recursos "...\obj\wappublish\win10-x86\project.assets.json" no encontrado. Ejecute una restauración de paquetes NuGet para generar este archivo. App4 (paquete) C:\Archivos de programa\dotnet\sdk\5.0.302\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets 242
Este problema se debe a que el proyecto de empaquetado busca el archivo project.assets.json en el directorio incorrecto, win10-$(configuration), cuando debería buscarlo en win-$(configuration).
De Developer Community
- Errores de compilación en encabezados externos
- Advertencias de bloqueo incorrectas del analizador C26110
- Se produce un error interno del compilador después de actualizar a Visual Studio v16.10 cuando se declara un ensamblado en el atributo InternalsVisibleTo
- Vcredist_x64.exe (14.29.30038.0) incluido con Visual Studio 16.10.2 quita incorrectamente msvcp140.dll después de la segunda instalación mediante el modificador /passive
- Problema de generación de código de VS 16.10.1 (solo x86)
- Address Sanitizer debe permitir el desencadenamiento de volcados de memoria sin el uso de una variable de entorno
- El analizador de gráficos ha dejado de funcionar al hacer clic en el triángulo después del sombreador de vértices para iniciar la depuración del sombreador
- Vsftest: prueba de NMI
- Problema de publicación de Project Reunion
- La herramienta de LKG12 WAVE2 necesita actualizaciones antes de su envío
- No se puede empaquetar una aplicación WinUI 3 en MSIX
- Depurador de gráficos: la depuración del sombreador se interrumpe después de actualizar a la versión 16.10.3
- No se puede empaquetar una aplicación WinUI 3 con Project Reunion 0.8
Visual Studio 2019, versión 16.10.3
publicada el 29 de junio de 2021
Resumen de las novedades de la versión 16.10.3 de Visual Studio 2019
Principales problemas corregidos en esta versión
- Se ha corregido un problema por el que la opción Ir a definición en símbolos importados desde módulos a veces llevaba al inicio del archivo de módulo en lugar de a la definición del símbolo.
- Se ha corregido un problema por el que los desarrolladores con discapacidad visual tenían dificultades para identificar el foco en la pantalla, ya que la proporción de luminosidad del color del borde era inferior a 3:1 para el cuadro de texto.
- Se ha corregido el error de proyectos de bases de datos que provocaba que al arrastrar un archivo del Explorador de soluciones a un proyecto abierto, el archivo se eliminase del sistema.
- Se ha corregido un problema por el que el uso de una instrucción merge en proyectos de base de datos provocaba errores de compilación.
- Ya no se envían rutas de acceso en el disco al notificar qué extensiones están instaladas.
- Se corrige un problema que provocaba que el intento de cerrar la ventana de inicio rápido bloqueara Visual Studio.
- Se ha corregido un problema que causaba que las ventanas de herramientas a veces bloquearan VS.
- Corrección de la opción Editar y continuar en C++ en el código de usuario, cuando se cargan en la aplicación los símbolos generados de G++/GCC no relacionados.
- Se han corregido los usos del selector privado del marco de iAd.
- Se ha corregido un bloqueo en VS que tenía como origen errores que se producían en el Diseñador XAML
- Se ha corregido un problema con los proyectos de Paquete de aplicación de Windows que hacen referencia a los proyectos de .netcoreapp que generan un archivo .msixbundle.
- Se ha corregido un error al realizar una comprobación de actualización rápida en proyectos WAP, que provocaba la compilación de esos proyectos (en lugar de omitirse), incluso cuando el proyecto estaba actualizado y no necesitaba modificaciones, lo que provocaba un aumento de los tiempos de compilación incrementales en el IDE.
De Developer Community
[C++, IntelliSense, 16.7.7]
El tamaño del puntero de función miembro es incorrecto en la Información sobre herramientas- 16.9.2 Bloqueo al trabajar en un proyecto de SQL Server
- IntelliSense de C++20 proporciona errores incorrectos con range-v3, versión 0.10.0
- Problema de IntelliSense con módulos
- Xamarin Forms iOS SkiaSharp DirectoryNotFoundException
- Problema del editor de versiones de la versión 16.10.0: ya no es posible navegar por el código mediante el cuadro combinado de elementos
- Módulos de C++20: al hacer clic en "Ir a declaración", la posición de salto del cursor es incorrecta
- Falta la opción "Enable device code flow when adding an account" (Habilitar flujo de código del dispositivo al agregar una cuenta) de la versión 16.10
- PackageInspectionFailed de VS 2019 16.10.0: no se ha podido cargar Info.plist desde la agrupación, ni el archivo ni el directorio
- El paquete de la App Store contiene archivos de 32 bits
- 16.10.2 no se conecta a Mac
- vsftest: prueba de NMI
Visual Studio 2019, versión 16.10.2
publicada el 15 de junio de 2021
Resumen de las novedades de esta versión de Visual Studio 2019 16.10.2
Principales problemas corregidos en esta versión
- Las comprobaciones de simultaneidad en el análisis de código son más inteligentes. Son más difíciles de engañar gracias a un flujo de control complejo.
- Esta corrección restaura el comportamiento de los encabezados externos omitiendo el análisis de estos y suprimiendo sus advertencias.
- Se han corregido los archivos .aspx/ascx, que provocaban que fuera posible que los usuarios vieran IntelliSense incompleto o experimentaran un rendimiento lento.
- Se han corregido problemas de escalabilidad con el proveedor CodeLens de Unity al trabajar en proyectos grandes.
- Se han restablecido las cadenas traducidas en la página de opciones Autenticación de servicio de Azure.
- Se han corregido problemas intermitentes de presentación de código visual al usar la extensión Resharper.
- Se ha corregido un problema que provocaba que determinadas ventanas de herramientas, editores y diseñadores se representaran demasiado pequeños como para mostrar contenido.
- Se han corregido los problemas de icono de aplicación que faltaban en Xamarin iOS, ya sea al ejecutar una aplicación o al intentar publicarla en el App Store.
- La compilación de proyectos con AOT y LLVM ya no genera un error XA3001.
- Después de actualizar a Visual Studio 2019, versión 16.10, en determinadas circunstancias, la publicación de aplicaciones para UWP podía producir un mensaje de error "The specified resource name cannot be found in the image file" (No se ha podido encontrar el nombre de recurso especificado en el archivo de imagen). Esto se ha corregido.
- Se ha corregido un problema que provocaba que Visual Studio 2019 dejara de responder al cambiar la configuración del dispositivo.
- Se han corregido tres problemas en MSBuild:
- Evita errores de MSB4017 al compilar en Azure DevOps.
- $(
[MSBuild]
::MakeRelative()) conserva de nuevo las barras diagonales finales en su entrada. - Los globs de exclusión con un patrón ** final de nuevo excluyen los archivos sin . characters
De Developer Community
- Developer Community tiene una lista completa de todos los elementos que se distribuyen en esta versión.
- ClickOnce no publicará ningún proyecto.
- Se produce un error en la publicación de ClickOnce para .NET 5.0 cuando SelfContained=true y el proyecto hace referencia a otro proyecto.
- ClickOnce vuelve a no funcionar.
- Publicación de ClickOnce: no se ha encontrado el archivo de metadatos (se ha usado un directorio incorrecto), la publicación funciona en la CLI
- ClickOnce intenta recopilar las bibliotecas de la carpeta incorrecta al publicar. (.NET 5)
- Después de actualizar Visual Studio 2019, versión 16.10.0, la compilación de ClickOnce no funciona.
- Regresión de compilación en la versión 16.10.0 con EWDK
- Ha habido un error en la publicación.
Visual Studio 2019, versión 16.10.1
publicada el 8 de junio de 2021
Resumen de las novedades de la versión 16.10.1 de Visual Studio 2019
Principales problemas corregidos en esta versión
- Se ha corregido un problema que provocaba un bloqueo con el compilador de IntelliSense.
- Se ha corregido un problema que podía hacer que las instancias de Visual Studio 2019 se cerraran si el Explorador de pruebas estaba abierto en la solución.
- Se ha corregido un error que se producía cuando los desarrolladores compilaban soluciones parciales desde la línea de comandos.
- Se ha corregido un error en la publicación de ClickOnce para aplicaciones .NET Core.
- Se ha corregido un problema que provocaba que la ventana de la pila de llamadas pudiera bloquear Visual Studio 2019.
- Se ha corregido el error de compilación "Metadata file '***\bin\Debug\NativeLibrary.dll' could not be found" (No se ha encontrado el archivo de metadatos "\bin\Debug\NativeLibrary.dll") al compilar proyectos de enlace de iOS.
Aviso de seguridad
CVE-2021-31957 Vulnerabilidad de denegación de servicio de ASP.NET
Existe una vulnerabilidad de denegación de servicio cuando ASP.NET Core controla la desconexión del cliente de forma incorrecta.
De Developer Community
- Developer Community tiene una lista completa de todos los elementos que se distribuyen en esta versión.
- Regresión de compilación en la versión 16.10.0 con EWDK
Visual Studio 2019, versión 16.10.0
publicada el 25 de mayo de 2021
Resumen de las novedades de la versión 16.10.0 de Visual Studio 2019
C++
- Todas las características de C++20 ahora están disponibles en el modificador
/std:c++latest
. Aunque la implementación de MSVC de los estándares de C++20 (tal y como publica actualmente ISO) está completa, se espera que se modifiquen algunas características clave de la biblioteca de C++20 mediante próximos informes de defectos (correcciones de errores de C++20 de ISO), que pueden cambiarlas de forma incompatible con ABI. Vea el Problema 1814 de STL de Microsoft para obtener más detalles.- Se ha agregado compatibilidad con funciones inmediatas y constinit de C++20 en la versión 16.10
- Las partes finales de
<chrono>
: nuevos relojes, segundos intercalares, zonas horarias y análisis. - La implementación de
<format>
para el formato de texto.
/openmp:llvm
ahora está disponible en x86 y ARM64, además de x64.- Los directorios de inclusión ahora se pueden designar como externos con niveles de advertencia de compilación personalizados y configuración de análisis de código.
- Se ha agregado el modificador
/await:strict
para habilitar las corutinas de estilo de C++20 en los modos de lenguaje anteriores. - La visualización del depurador de
std::coroutine_handle<T>
ahora muestra el nombre y la firma de la función de corutina original y el punto de suspensión actual. - Se ha agregado compatibilidad para CMakePresets.
- Ahora se le pedirá que acepte o rechace la huella digital de la clave de host presentada por el servidor al agregar una nueva conexión remota en Visual Studio.
- Se ha agregado un modificador
/external
a MSVC para especificar los encabezados que deben tratarse como externos con fines de advertencia.
Mejoras en las herramientas de Docker
- Capacidad para crear un perfil de inicio que configura los servicios que se van a iniciar en el archivo de Compose.
- Capacidad para etiquetar una imagen.
- Se ha agregado una pestaña Volúmenes para contenedores.
- Se ha agregado una pestaña Etiquetas para contenedores.
- Se ha agregado una pestaña Etiquetas para imágenes.
- Los contenedores ahora están agrupados por proyecto de Compose.
Editor
- Para aquellos usuarios que quieran una experiencia menos saturada, es posible modificar el interlineado buscando "interlineado" en la búsqueda de Visual Studio (Ctrl+Q). La opción se encuentra en Editor de texto\General.
- Buscar en archivos y Buscar todas las referencias tienen un control para mantener los resultados. Siguiendo los comentarios de nuestra comunidad, hemos agregado una opción para dejar la opción "Mantener resultados" en activada de forma predeterminada. Esta opción puede encontrarse al buscar "keep search results by default" (mantener los resultados de la búsqueda de forma predeterminada) en la búsqueda de Visual Studio (Ctrl+Q). La opción se encuentra en Entorno\Buscar y reemplazar. Tenga en cuenta que los usuarios actualmente tienen una limitación de 5 resultados para Buscar en archivos y otros 5 resultados para Buscar todas las referencias.
- Una nueva opción de Buscar en archivos permite a los usuarios ejecutar búsquedas adicionales y anexar los resultados a una búsqueda anterior.
Extensibilidad del editor
- El comportamiento del código que administra IntraTextAdornmentTags ha cambiado. Con este cambio, al igual que con cualquier otro objeto ITagger, debe generar un evento de cambio de etiquetas cuando cambien las etiquetas subyacentes. De lo contrario, es posible que las etiquetas nunca se actualicen.
- El análisis de diagnóstico de los volcados de memoria ahora incluye volcados de memoria principal administrada de Linux.
- Ir a la web con vínculos profundos para crear una solicitud de incorporación de cambios y ver solicitudes de incorporación de cambios en GitHub o Azure DevOps desde el menú de Git.
- Restaurar ramas locales y remotas con una sola selección del selector de ramas.
- Quitar elementos del selector de repositorios mediante el menú contextual.
- Activar la carga automática de la solución al abrir un repositorio de Git mediante Git > Configuración.
- Activar o desactivar el comportamiento de hacer doble clic para recuperar las ramas de la ventana del repositorio de Git mediante Git > Configuración.
- Sincronizar (incorporar y enviar cambios) la rama con varios remotos desde el menú de desbordamiento de la ventana Cambios de Git.
- Personalizar las acciones visibles de la barra de herramientas de la ventana Cambios de Git (captura, incorporación y envío de cambios, sincronización) desde el menú de desbordamiento.
- Abrir el repositorio en el explorador desde el menú de desbordamiento de la ventana Cambios de Git.
- Busque y extraiga las ramas locales y remotas desde la barra de estado.
- Busque y cambie entre repositorios de Git locales desde la barra de estado.
- Se ha corregido un problema por el que la lista de repositorios locales en el menú Git no se cargaba al inicio de Visual Studio.
- Adición de subrepositorios de proyecto anidados a la lista de repositorios locales al abrir un repositorio.
- Mantenga la solución abierta al cambiar de repositorios mediante Git > Configuración.
- Desactive la carpeta abierta al abrir repositorios mediante Git > Configuración.
- Sincronice la rama con el repositorio remoto desde el botón de confirmaciones sin insertar de la barra de estado y desde el comando Sincronizar del menú Git.
- Capture y extraiga del panel de historial de la ventana Repositorio de Git incluso si no hay confirmaciones de entrada.
- Vea los detalles de confirmación y la comparación de los cambios de archivo insertados en la ventana Repositorio de Git.
- Vuelva a conectarse automáticamente o pida que se establezca la conexión inicial de Azure DevOps al abrir un repositorio Git de Azure DevOps.
- Combine y fusione mediante cambio de base con nombres de rama visibles, reemplazando la terminología confusa de origen/destino.
- Rendimiento y confiabilidad mejorados para los glifos de control de código fuente en el Explorador de soluciones.
- Conservación de las secciones de entrada y salida en la ventana del repositorio Git incluso si están vacías.
- Las listas desplegables de captura/extracción/inserción consolidadas para varios repositorios remotos en Git cambian a un solo menú de acción.
- Finalización de argumentos en llamadas al método
- Interfaz de usuario de EditorConfig
- Inspección visual y navegación en la cadena de herencia
- Finalización de IntelliSense para conversiones, indexadores y operadores
- Compatibilidad del depurador con los generadores de código fuente
- Compatibilidad con la limpieza de código para Visual Basic
- Actualizaciones de Editar y continuar (EnC)
- Eliminación de las referencias no utilizadas
- Salto de línea inteligente
- Simplificación de la refactorización de la expresión LINQ
- Finalización de IntelliSense para los valores de enumeración
- Configuración del modo de finalización de IntelliSense
- Preferencia de estilo de código para las nuevas líneas
- Compatibilidad con la búsqueda de todas las referencias de los generadores de código fuente
Editor de vista previa de Razor (ASP.NET Core)
- Actualizaciones de finalización de IntelliSense
- Compatibilidad de Ir a definición para componentes genéricos
- Nueva configuración de estilo de código para tabulaciones y espacios
- El editor de texto de Razor en Opciones de herramientas ahora se denomina Razor (ASP.NET Core)
Experiencia de pruebas mejoras de accesibilidad
- Console.WriteLine ahora se muestra en el Explorador de pruebas
- El resultado de la prueba ahora puede conservar las etiquetas, por lo que los hipervínculos y los vínculos de seguimiento son navegables incluso desde los archivos de registro.
- Los archivos de registro se crean para un resultado de prueba único cuando el resultado supera los 300 caracteres o si hay más de 10 archivos adjuntados al resultado de la prueba.
- Los archivos de registro también se pueden abrir en vista previa para que la administración de pestañas resulte más sencilla.
- Los archivos de registro y el Explorador de pruebas admiten Ctrl RePág/AvPág para navegar por el cursor y Mayús+Ctrl RePág/AvPág para seleccionar.
- Ahora, el editor del archivo de registro usa la interfaz IVsTextView, lo que significa que ya podrá abrir archivos de texto muy grandes. De esta forma se debería eliminar la necesidad de que los usuarios tengan que usar
Copy All
con los registros truncados y abrirlos en un editor independiente como el Bloc de notas. Para MSTest, ahora también se incluye un archivo de registro único que agrega todo el resultado en lugar de tener solo archivos de registro individuales para cada fila de datos. - Ahora puede obtener cobertura de código multiplataforma en la línea de comandos de Ubuntu y Alpine con la CLI de dotnet. Para los usuarios interesados en obtener cobertura de código en máquinas que tienen como destino esas plataformas, ahora puede agregar los mismos comandos de recolección de información de cobertura de código que normalmente usaría en Windows. Vea más documentación de prueba de dotnet.
- Ahora hay un botón Expandir todo junto al de Contraer todo en el Explorador de pruebas. Este comando ha estado disponible mediante métodos abreviados de teclado (Ctrl+A, Ctrl+flecha derecha), pero había más comentarios que indicaban que merecía la pena la incorporación de un botón en la interfaz de usuario adicional. Como siempre, gracias por hacernos saber su opinión mediante https://developercommunity.visualstudio.com/.
- También hay algunos pequeños cambios en cómo el Explorador de pruebas muestra "obsolescencia". "Obsolescencia" es los resultados de la prueba grisáceos o "atenuados" que indican que el resultado no fue de la última ejecución de prueba. Si un resultado no forma parte de la serie de pruebas más reciente, aparecerá como obsoleto. Anteriormente, también se mostraban descubrimientos nuevos de la prueba (o incluso resultados de la prueba antiguos que se han vuelto a descubrir) con iconos sólidos. Esto provocaba cierta confusión sobre por qué algunas pruebas "No ejecutadas" se atenuaban y otras no. Este cambio reducirá la complejidad de la obsolescencia.
- Gracias a la característica de resultados de la prueba persistentes (agregada en la versión 16.2) puede ver los resultados de la prueba de la última serie de pruebas, incluso si ha cerrado y vuelto a abrir Visual Studio. Esto permite a los usuarios recordar dónde lo han dejado y les aporta más contexto sin necesidad de realizar otra serie de pruebas. También hemos modificado el comportamiento de los resultados persistentes para que siempre aparezcan obsoletos. Esto indica mejor que no formaban parte de una serie de pruebas que se ha ejecutado durante la sesión actual de Visual Studio.
- Cambio a la versión 2 de la API para el aprovisionamiento de Azure AD
- Azure App Configuration como servicio conectado ahora es compatible con la configuración dinámica.
Árbol de dependencias del Proyecto de paquete de aplicación de Windows
- Se ha agregado un "árbol de dependencias" al proyecto WAP.
Mejoras en las herramientas de XAML
- Se ha mejorado IntelliSense en XAML y Recarga activa de XAML para los clientes de Xamarin.Forms.
- Se han incluido datos de ejemplo de XAML para seleccionar ItemsControls en WPF.
- Se ha agregado una nueva bombilla para el acceso rápido a las propiedades editadas habitualmente.
- Se ha agregado una nueva bombilla en el Editor XAML para ayudar a crear un modelo de vista.
Herramientas de Service Fabric
- Introducción de StartupServices.xml en aplicaciones de Service Fabric.
Detalles de las novedades de Visual Studio 2019, versión 16.10
Herramientas de Docker
Ventana de la herramienta contenedores
En esta versión, se han realizado adiciones a la ventana de herramientas de contenedores para que sea más fácil ver e interactuar con los contenedores y las imágenes. Solo tiene que ir a Ver > Otras ventanas > Contenedores para probar las nuevas características.
- Los contenedores ahora están agrupados por proyecto de Compose. Esto hace que resulte fácil saber qué contenedores representan su aplicación. También se ha agregado una pestaña Etiquetas en Contenedores para que pueda ver fácilmente qué etiquetas está usando durante el desarrollo.
- También se ha agregado una pestaña Etiquetas para imágenes.
- La nueva pestaña Volúmenes le permite ver los volúmenes de un contenedor en ejecución e incluso abrir los archivos en Visual Studio.
- Ahora se admite la posibilidad de etiquetar una imagen desde la ventana de herramientas Contenedores. En Imágenes, haga clic con el botón derecho en una imagen y seleccione Etiqueta.
Compose
- Las herramientas de Docker Compose en Visual Studio ahora proporcionan la capacidad de ejecutar cualquier combinación de servicios definida en los archivos de Compose. Abra la lista desplegable de depuración o haga clic con el botón derecho en el proyecto de Docker-Compose y seleccione Administrar la configuración de inicio de Docker Compose para comenzar.
Productividad de Git
- Para empezar a facilitar la creación de solicitudes de incorporación de cambios en Visual Studio, hemos agregado elementos de menú que son accesos directos de vínculo profundo a las páginas web que le permiten crear una solicitud de incorporación de cambios o ver una lista de solicitudes de incorporación de cambios de su repositorio. El menú es dinámico en función de si el repositorio está en GitHub o en Azure DevOps.
- El selector de ramas de la barra de estado y la ventana Cambios de Git ahora recuperan una rama local o remota al seleccionar la rama de forma única. Puede encontrar acciones adicionales en el menú contextual.
- El nuevo selector de repositorios de la barra de estado tiene un menú contextual al hacer clic con el botón derecho que permite quitar elementos de la lista.
Al usar el selector de repositorios o la lista de repositorios locales del menú de Git, cuando se abre un repositorio ya no se carga automáticamente la solución. En su lugar, verá la vista de carpetas y la solución disponible en una lista de la que puede seleccionar. Puede cambiar este comportamiento mediante Git > Configuración activando o desactivando la casilla.
Puede elegir recuperar una rama de la ventana del repositorio de Git haciendo doble clic en su nombre. Si quiere cambiar este comportamiento, active o desactive la casilla en Git > Configuración.
- Ahora puede realizar más acciones si cabe desde la ventana Cambios de Git. Los iconos de la barra de herramientas son personalizables y puede elegir qué acciones mostrar. Puede realizar la sincronización con varios remotos desde el menú de desbordamiento. Y puede abrir la página web remota del repositorio en el explorador.
- Busque ramas locales y remotas y realice acciones de bifurcación comunes desde el selector de rama de la barra de estado.
- Busque y cambie entre repositorios Git locales desde el selector de repositorio de la barra de estado.
- Se ha corregido un problema por el que la lista de repositorios locales en el menú Git no se cargaba al inicio de Visual Studio.
- Se han agregado dos nuevas opciones en Git > Configuración para administrar cómo se abren y cambian de repositorios. Ahora puede mantener abierta la solución actual al cambiar a otro repositorio
- También puede optar por no cargar la carpeta raíz del repositorio al abrir un repositorio.
- Sincronice (extraiga y después inserte) la rama con el repositorio remoto desde el botón de confirmaciones sin insertar de la barra de estado y desde el comando Sincronizar del menú Git.
- Capture y extraiga del panel de historial de la ventana Repositorio de Git incluso si no hay confirmaciones de entrada. Acceda a estas secciones desde la barra de estado o el método abreviado de teclado Ctrl+0+Y.
- Seleccione una confirmación en la ventana Repositorio de Git para ver los detalles y la comparación de los cambios de archivo sin tener que desplazarse a otras ventanas. Seleccione dos confirmaciones y haga clic con el botón derecho para compararlas en la misma ventana. Extraiga los detalles en su propia ventana para obtener visibilidad a pantalla completa y ver en profundidad los cambios.
- Vea el número de eliminaciones e inserciones en un archivo y cambie el diseño de la comparación.
- Vuelva a conectarse automáticamente o pida que se establezca la conexión inicial de Azure DevOps al abrir un repositorio Git de Azure DevOps. Esto permite el acceso a elementos de trabajo y compilaciones para el repositorio abierto.
">
- Al resolver conflictos de fusión mediante cambio de base o mediante combinación, el editor de combinación y el menú contextual mostrarán los nombres de las ramas de las bifurcaciones actual y entrante. De esta forma se corrige la terminología de origen y destino confusa.
Productividad de .NET
- Se ha agregado un comando Remove Unused References (Quitar referencias sin usar) que permite limpiar las referencias del proyecto y los paquetes NuGet que no tienen uso. Esta opción está desactivada de forma predeterminada, por lo que tendrá que habilitarla en Herramientas>Opciones>Editor de texto>C#>Opciones avanzadas y seleccionar la opción Show “Remove Unused References” command in Solution Explorer (experimental) (Mostrar el comando 'Quitar referencias sin usar' en el Explorador de soluciones [experimental]). Una vez habilitada la opción, el comando Quitar referencias sin usar aparecerá en el menú contextual de un nombre de proyecto o un nodo de dependencias en el Explorador de soluciones:
Al seleccionar la opción Quitar referencias sin usar, se abrirá un cuadro de diálogo en el que podrá ver todas las referencias que se van a quitar con una opción para conservar las que desee:
- Hemos agregado un nuevo comando Salto de línea inteligente que inserta automáticamente un conjunto de llaves y coloca el símbolo de intercalación dentro de esas llaves al usar Mayús+Entrar como un carácter de confirmación. El salto de línea inteligente funciona para todas las declaraciones de tipos que requieren llaves, así como propiedades, eventos, campos y expresiones de creación de objetos. En el ejemplo siguiente se muestra el salto de línea inteligente utilizado en una clase y un campo. Si el campo no tiene un punto y coma al final, al pulsar Mayús+Entrar se convertirá el campo en una propiedad mediante la adición un conjunto de llaves. Puede presionar Mayús+Entrar de nuevo para deshacer la confirmación, lo que también agregará automáticamente un punto y coma al final del campo:
- Ahora hay una refactorización para simplificar las expresiones LINQ que quitará a llamada innecesaria al enumerable para el método .Where() a fin de ayudar a mejorar el rendimiento y la legibilidad. Coloque el cursor en la expresión LINQ. Presione (Ctrl+. ) para activar los menús Acciones rápidas y refactorizaciones. Seleccione Simplificar la expresión LINQ.
- Ahora hay una finalización de IntelliSense para los valores de enumeración cuando se conoce un tipo incluso si no se especifica el nombre de la enumeración.
- Hemos agregado una nueva configuración del modo de finalización de IntelliSense que le permite establecer las opciones de finalización predeterminadas. Esta nueva configuración está disponible en Herramientas>Opciones>Editor de texto>Opciones avanzadas> Modo de finalización de IntelliSense donde puede elegir entre las siguientes opciones: Último uso, que conservará la última configuración que se ha usado con Ctrl+Alt+Espacio, Tab-only (Solo tabulación), que solo finalizará con la tabulación, y Automático, que es actualmente el comportamiento predeterminado que finalizará en los caracteres de puntuación y especiales.
- Hemos agregado nuevas preferencias de estilo de código para las nuevas líneas. Puede configurar estas preferencias con un archivo EditorConfig o en Herramientas>Opciones>Editor de texto>C#>Estilo de código>Nuevas preferencias de línea (experimental).
Por ejemplo, puede establecer las preferencias de estilo de código para notificar un diagnóstico y ofrecer una corrección de código para quitar líneas en blanco adicionales:
Ahora hay compatibilidad con la búsqueda de todas las referencias para los generadores de código fuente, que le permite buscar referencias en un documento generado por código fuente.
Ahora hay una opción de finalización que inserta los argumentos automáticamente al escribir una llamada al método. Esta característica está desactivada de forma predeterminada, por lo que tendrá que habilitarla en Herramientas > Opciones > Editor de texto > C# > IntelliSense y seleccionar la tecla TAB dos veces para insertar argumentos (experimental). Comience a escribir una llamada al método y presione la tecla TAB dos veces (TAB+TAB). Observe que la llamada al método incluye argumentos basados en los valores predeterminados del método. Después, puede usar la información de parámetros para desplazarse por la lista de argumentos que quiere insertar presionando las teclas de flecha arriba y abajo. También puede empezar a escribir un argumento para abrir la lista de finalización de IntelliSense y escribir el punto y coma, que confirmará el argumento y agregará un punto y coma al final de la llamada al método.
- Hemos creado una interfaz de usuario para EditorConfig. Abra cualquier archivo EditorConfig de C# o Visual Basic de la solución. Observe que la nueva interfaz de usuario se abrirá y mostrará el estilo de código y la opción de configuración de calidad de código para C# y Visual Basic.
- Ahora hay una representación visual de la navegación e inspección de la cadena de herencia. Esta opción está desactivada de forma predeterminada, por lo que tendrá que activarla en Herramientas > Opciones > Editor de texto > C# > Avanzadas y seleccionar Mostrar margen de herencia. Al habilitar el margen de herencia se agregarán nuevos iconos a los márgenes que representan las implementaciones e invalidaciones del código. Al hacer clic en el icono del margen de herencia se mostrarán las opciones de herencia que puede seleccionar para navegar a ellas.
- Ahora se incluye la finalización de IntelliSense para conversiones, indexadores y operadores.
- Ahora se incluye compatibilidad con depurador para los generadores de código fuente. En primer lugar, deberá instalar el componente SDK de .NET Compiler Platform desde el Instalador de Visual Studio. Después, deberá agregar la propiedad
<IsRoslynComponent>
true</IsRoslynComponent>
al archivo del proyecto. Habilite también la opción de depurador "Roslyn Component" (Componente Roslyn) en la página Depurar de Propiedades del proyecto y seleccione el proyecto de destino adecuado. Por último, presione F5 en el proyecto de generador, lo cual iniciará el CSC.exe/VBC.exe que compila el proyecto de destino, lo que le permite depurar el código del generador.
En esta versión también se han agregado las siguientes mejoras a la experiencia de depuración Editar y continuar (EnC) en Visual Studio:
- Ahora es posible aplicar cambios en el código que se encuentra dentro de una clase parcial.
- Ahora puede aplicar los cambios en un archivo generado por código fuente).
- Ahora es posible agregar o cambiar una directiva using.
- Mejoras en la confiabilidad y un menor consumo de memoria.
Estos tres cambios están disponibles en cualquier lugar donde se admita actualmente EnC y funcionan tanto con archivos de código fuente de C# como de Visual Basic.
Depurador y diagnóstico
- Hemos desarrollado varios analizadores para ayudar a detectar problemas comunes en los volcados de memoria administrada. Este análisis puede realizarse ahora en volcados de memoria principal administrada de Linux.
Gracias
Por último, pero no por ello menos importante, queremos dar las gracias al siguiente equipo de personas que han contribuido este mes a la productividad de .NET (también conocido como Roslyn):
- Valery (@m08pvv): condición invariable de bucle activado PR n.º 52168
- Martin Strecker (@MaStr11): compatibilidad con la inclusión de otras cadenas interpoladas PR n.º 49229, IntelliSense para conversión, indexadores y operadores PR n.º 47511
- Bernd Baumanns (@bernd5): corrección de la "pérdida de información" causada por el uso del valor predeterminado en métodos SyntaxNode-UpdatePR n.º 52036, corrección de la interpolación de cadenas NormalizeWhitespace con initializer-Expressions PR n.º 51213
- C-xC-c (@C-xC-c): cambio del nombre de los parámetros de igualdad de registros a la "izquierda" y "derecha" PR n.º 51973
- Kai Jellinghaus (@HurricanKai): cambio de Compilation.CommonSyntaxTrees para que use ImmutableArray PR n.º 51905
- Huo Yaoyuan (@huoyaoyuan): omisión de los métodos externos en el estilo de nomenclatura PR n.º 51728, manejo de los problemas NRT encontrados al establecer como destino net5.0 PR n.º 50895
- Alireza Habibi (@alrz): corrección del análisis de patrones entre paréntesis PR n.º 49621
- Paul M Cohen (@paul1956) adición de compatibilidad de limpieza de código para Visual Basic PR n.º 48092
- Petr Onderka (@svick): responsable de que DocumentationCommentCompiler funcione después de NormalizeWhitespace PR n.º 47360
- Youssef Victor (@Youssef1313): actualización de IDEDiagnosticIDConfigurationTests para que sea exclusivo en lugar de inclusivo PR n.º 52078, calificación de obsoleto a ImportingConstructor PR n.º 52073, comportamiento coherente de ContainsSyntaxTree entre VB y C# PR n.º 52050, asegurarse de obtener el nombre del argumento nameof PR n.º 52016, corrección de la anotación nula de SyntaxFactory.UsingStatement PR n.º 51984, simplificación de CSharpRequiredLanguageVersion PR n.º 51881, mostrar la versión de lenguaje vigente para la versión del #error PR n.º 51880, actualizar SymbolEqualityComparer.IncludeNullability docs PR n.º 51724, incluir generadores de código fuente en TryGetMethodDescriptorAsync PR n.º 51686, hacer que los patrones var sean enlazables PR n.º 51620, usar cuadros en SyntaxToken.Value PR n.º 51546, corrección de la visualización de RefKind del puntero de función PR n.º 51223, control de patrones en expresiones switch PR n.º 50984, adición de ImplementationAttributes a IMethodSymbol PR n.º 50560
- Benjamin Schäublin (@bschaeublin):
- Se corrigió el texto redundante en el comentario para la sobrecarga de MetadataReference PR #51242
- Martin Strecker (@MaStr11):
- piotrstenke (@piotrstenke):
- Se han actualizado las propiedades que apuntaban a ellas mismas en la etiqueta
<see>
de GeneratorContexts.cs PR #50896.
- Se han actualizado las propiedades que apuntaban a ellas mismas en la etiqueta
- Huo Yaoyuan (@huoyaoyuan):
- Se ha actualizado el recomendador de palabras clave para que sepa sobre miembros de solo lectura de estructuras PR #50820.
- Yair Halberstadt (@YairHalberstadt):
- Compatibilidad con la declaración y asignación mixtas en la deconstrucción PR #44476
- Youssef Victor (@Youssef1313):
Editor de vista previa de Razor (ASP.NET Core)
El nuevo editor de vista previa de Razor admite ahora las siguientes características de edición de Razor:
- La finalización de IntelliSense ahora filtra por los componentes HTML, los elementos TagHelper y los atributos de C#:
- Finalización de IntelliSense para invalidaciones de C#.
- Compatibilidad de Ir a definición para componentes genéricos.
- Nuevas opciones de configuración de estilo de código para pestañas frente a espacios. Estos estilos de código se respetan al escribir, aplicar formato y crear un nuevo archivo de Razor. Puede configurar pestañas y espacios en Herramientas > Opciones > Editor de texto > Razor (ASP.NET Core) > Pestañas.
- El nombre del editor de texto de Razor en Opciones de herramientas ha cambiado de ASP.NET Core Razor Language Services a Razor (ASP.NET Core).
Para habilitar el nuevo editor de vista previa de Razor, vaya a Herramientas > Opciones > Entorno > Características en versión preliminar, seleccione Enable experimental Razor editor (Habilitar editor de Razor experimental) y reinicie Visual Studio.
Experiencia de pruebas mejoras de accesibilidad
- Console.WriteLine ahora se muestra en el Explorador de pruebas La salida larga aparece como una sección contraíble en el panel Resumen de detalles de la prueba. La salida que supere una longitud determinada muestra las primeras líneas y, después, se trunca con una opción para abrir el registro de pruebas en una ventana independiente. StackTrace se trunca si hay más de 20 fotogramas y, después, solo mostrará los 10 primeros y los 10 últimos fotogramas. Una parte importante del diseño de truncamiento también se centró en reducir las inmovilizaciones de VS cuando las series de pruebas presenten una salida grande. Las pruebas con una salida grande ya no bloquearán el subproceso de la interfaz de usuario.
- El resultado de la prueba ahora puede conservar las etiquetas, por lo que los hipervínculos y los vínculos de seguimiento son navegables incluso desde los archivos de registro. Estos vínculos ahora también son accesibles desde el teclado.
- Los archivos de registro se crean para un resultado de prueba único cuando el resultado supera los 300 caracteres o si hay más de 10 archivos adjuntados al resultado de la prueba. Los archivos de registro también se pueden abrir en vista previa para que la administración de pestañas resulte más sencilla. Los archivos de registro y el Explorador de pruebas admiten Ctrl RePág/AvPág para navegar por el cursor y Mayús+Ctrl RePág/AvPág para seleccionar.
- Ahora, el editor del archivo de registro usa la interfaz IVsTextView, lo que significa que ya podrá abrir archivos de texto muy grandes. De esta forma se debería eliminar la necesidad de que los usuarios tengan que usar
Copy All
con los registros truncados y abrirlos en un editor independiente como el Bloc de notas. Para MSTest, ahora también se incluye un archivo de registro único que agrega todo el resultado en lugar de tener solo archivos de registro individuales para cada fila de datos.
Herramientas de pruebas
- Ahora puede obtener cobertura de código multiplataforma en la línea de comandos de Ubuntu y Alpine con la CLI de dotnet. Para los usuarios interesados en obtener cobertura de código en máquinas que tienen como destino esas plataformas, ahora puede agregar los mismos comandos de recolección de información de cobertura de código que normalmente usaría en Windows. Vea más documentación de prueba de dotnet.
- Ahora hay un botón Expandir todo junto al de Contraer todo en el Explorador de pruebas. Este comando ha estado disponible mediante métodos abreviados de teclado (Ctrl+A, Ctrl+flecha derecha), pero había más comentarios que indicaban que merecía la pena la incorporación de un botón en la interfaz de usuario adicional. Como siempre, gracias por hacernos saber su opinión mediante https://developercommunity.visualstudio.com/.
- También hay algunos pequeños cambios en cómo el Explorador de pruebas muestra "obsolescencia". "Obsolescencia" es los resultados de la prueba grisáceos o "atenuados" que indican que el resultado no fue de la última ejecución de prueba. Si un resultado no forma parte de la serie de pruebas más reciente, aparecerá como obsoleto. Anteriormente, también se mostraban descubrimientos nuevos de la prueba (o incluso resultados de la prueba antiguos que se han vuelto a descubrir) con iconos sólidos. Esto provocaba cierta confusión sobre por qué algunas pruebas "No ejecutadas" se atenuaban y otras no. Este cambio reducirá la complejidad de la obsolescencia.
- Gracias a la característica de resultados de la prueba persistentes (agregada en la versión 16.2) puede ver los resultados de la prueba de la última serie de pruebas, incluso si ha cerrado y vuelto a abrir Visual Studio. Esto permite a los usuarios recordar dónde lo han dejado y les aporta más contexto sin necesidad de realizar otra serie de pruebas. También hemos modificado el comportamiento de los resultados persistentes para que siempre aparezcan obsoletos. Esto indica mejor que no formaban parte de una serie de pruebas que se ha ejecutado durante la sesión actual de Visual Studio.
Herramientas Web
La configuración dinámica permite que los recursos de configuración se actualicen automáticamente mediante un middleware. App Configuration como servicio conectado ahora puede integrar automáticamente la configuración dinámica en la aplicación. Para usar este servicio conectado, haga clic en Servicios conectados y agregue Azure App Configuration como una dependencia de servicio.
"Árbol de dependencias" del Proyecto de paquete de aplicación de Windows
- Siguiendo el trabajo del año pasado para habilitar el paquete NuGet en el Proyecto de paquete de aplicación de Windows (WAP), hemos habilitado una interfaz de usuario nueva en la experiencia de Explorador de soluciones de WAP. La experiencia anterior no mostraba estas referencias de paquete ni permitía agregar paquetes NuGet mediante la interfaz de usuario.
- En la nueva experiencia, con la ayuda de CPS y el sistema de proyectos de .NET, hemos habilitado un "Árbol de dependencias" que sigue mostrando referencias de proyecto a través del subárbol "Aplicaciones", pero también incluye un subárbol "Paquetes" que le permitirá igualmente administrar los paquetes NuGet.
Mejoras en las herramientas de XAML (WPF & Xamarin.Forms)
Xamarin.Forms
En esta versión se han realizado dos pequeñas mejoras en IntelliSense en XAML y la recarga activa de XAML para los clientes de Xamarin.Forms. La recarga activa de "solo cambio" dejará de notificar falsos errores para:
- Establecedores de VisualStateManager que hacen referencia a propiedades sin especificar el tipo, por ejemplo,
<Setter Property="BackgroundColor" Value="Red">
. - Objetos ResourceDictionary combinados que no se incluyen en el elemento <ResourceDictionary.MergedDictionaries>.
Ejemplo:
<Application>
<Application.Resources>
<ResourceDictionary Source='Colors.xaml'/>
<Style TargetType='Label'> ... <Style>
</Application.Resources>
</Application>
Datos de ejemplo XAML
En esta versión, se ha mejorado aún más la funcionalidad de datos en tiempo de diseño del Diseñador XAML mediante la introducción de una nueva forma de agregar datos de ejemplo genéricos a ItemsControl. Esta característica solo funciona para ListBox, ListView y DataGrid en WPF.
- Los datos de ejemplo se pueden habilitar estableciendo
d:ItemSource='{d:SampleData}'
en ListBox, ListView o DataGrid. - Esto rellenará el control en el diseñador con solo un conjunto de 5 elementos que coinciden con DataTemplates y las rutas de enlace.
- Puede cambiar el número de elementos que se generan mediante la propiedad
ItemCount
, por ejemplo:d:ItemSource='{d:SampleData ItemCount=3}'
Acciones rápidas del Diseñador XAML
Se puede usar una nueva bombilla cerca de la esquina de un control seleccionado en el Diseñador XAML a fin de acceder rápidamente a las propiedades editadas habitualmente para ese control.
Entre los controles admitidos se incluyen:
- UWP: Border, Button, Canvas, CheckBox, ComboBox, Grid, HyperlinkButton, Image, ListBox, ListView, NavigationView, RadioButton, Slider, StackPanel, TextBlock, TextBox
- WPF: Border, Button, Canvas, CheckBox, ComboBox, Grid, Image, Label, ListBox, ListView, StackPanel, TextBlock, TextBox
Esta característica está disponible para UWP, .NET Core de WPF y .NET Framework de WPF (con la característica en versión preliminar “New WPF XAML Designer for .NET Framework” [Nuevo Diseñador XAML de WPF para .NET Framework] habilitada en el cuadro de diálogo de opciones).
Las acciones rápidas del Diseñador XAML también tienen un modelo de extensibilidad. Para más información sobre cómo crear sus propias acciones, consulte la extensibilidad del Diseñador XAML en GitHub.
Herramientas de MVVM para XAML
En esta versión, hemos introducido una bombilla en el Editor XAML para crear un modelo de vista. Esta bombilla se muestra en el elemento raíz del documento XAML cuando se detecta que se usa un marco MVVM en el proyecto. El cuadro de diálogo permite personalizar el espacio de nombres del modelo de vista generado, la carpeta y el modelo de vista base heredado.
La bombilla también establece el modelo de vista generado como x:DataType (Xamarin.Forms) o d:DataContext (el resto de plataformas) para el documento XAML, lo que permite al usuario aprovechar aún más las bombillas del Editor XAML a fin de generar propiedades enlazadas y comandos en modelos de vista.
Herramientas de Service Fabric
Esta característica presenta el archivo StartupServices.xml en un diseño de aplicación de Service Fabric. Este archivo hospeda la sección DefaultServices de ApplicationManifest.xml. Con esta implementación, los parámetros DefaultServices y relacionados con la definición de servicio se mueven del archivo ApplicationManifest.xml existente a este nuevo archivo denominado StartupServices.xml. Este archivo se usa en cada función (Compilación/Recompilación/F5/Ctrl+F5/Publicación) en Visual Studio.
Principales problemas corregidos en esta versión
- Se ha corregido un problema que provocaba que los desarrolladores de C# que invocaban el comando Edit.SmartBreakline quitaran todo el contenido del descriptor de acceso de Propiedad.
- Se ha corregido un problema que hacía que los desarrolladores que actualizaban una configuración de estilo de código tuvieran que aplicar el cambio en todas las instancias de Visual Studio en lugar de solo dentro de la carpeta deseada.
- El icono "Aplicar cambios en el código" se mostraba cada vez que se abría un proyecto nativo o combinado. Solo se habilitará una vez que un desarrollador inicie la depuración.
- Se han corregido cambios importantes en AudioUnitPropertyIDType.
- Se ha corregido un problema que provocaba que los desarrolladores que usaban el marco de prueba unitaria de UWP no pudieran ejecutar pruebas en dispositivos remotos.
De Developer Community
Estos son algunos de los problemas con más votos publicados en la versión 16.10:
- .sqlproj no se actualizaba con los cambios.
- El acceso a matrices en inicializadores de literales compuestos proporciona desplazamientos incorrectos
- Problemas y comentarios de los módulos de la biblioteca estándar de C++ de Visual Studio 2019, versión preliminar 2
- Visual Studio 2019 sigue borrando el directorio CMakeBuild cada vez que se toca CMakeFiles.txt o CMakeSettings.json.
- MSVC no respeta constexpr si se encuentra dentro de lambdas.
- Constructor predeterminado noexcept
- La advertencia #Pragma (push, )) no deshabilita todas las advertencias de su ámbito si se establece /Wall.
- Constexpr-if y parámetro sin usar
- No se puede declarar el valor constexpr initializer_list.
- C++latest confunde la convención de llamada en el parámetro de la plantilla.
- No se pueden buscar actualizaciones a Visual Studio 2019
- La ventana de comparación de Git muestra que todo ha cambiado en el archivo cuando se desactiva "Omitir espacio en blanco final".
- Se insertan espacios en lugar de tabulaciones.
- Visualizadores de depuradores de Visual Studio y BinaryFormatter en ASP.NET Core 5
- VS para Linux: los archivos de salida de la máquina remota se COMPILAN EN EL LUGAR EQUIVOCADO después de la actualización 16.9.
- Algunas pestañas abiertas y ancladas se desanclan al reiniciar Visual Studio.
- La actualización de Visual Studio 2019 a la versión 16.9.4 provoca un error de compilación o vínculo.
- La recolección de elementos no utilizados tiene lugar durante la llamada al método en la clase ref de C++/CLI.
- Error lógico de EncodePointer/DecodePointer en Trace.cpp de CRT.
- El elemento tiene un valor no válido de "EnableAllWarnings".
- E0144 se notifica para el código válido. (Error de IntelliSense).
- "Argumento de plantilla no válido, se esperaba una expresión constante en tiempo de compilación" después de actualizar a Visual Studio v16.9.0.
- Visual Studio 2019 sigue borrando el directorio CMakeBuild cada vez que se toca CMakeFiles.txt o CMakeSettings.json. (https://developercommunity.visualstudio.com/t/sizeof-array-to-pointer-VC-weirdness/1396250)* [Tamaño de VC de matriz a puntero extraño]
- Excepción de carácter no válido en Xamarin.Android después de actualizar a la versión 16.9.0 de Visual Studio Community 2019.
- Microsoft.VisualStudio.TestStorage.TestStoreIndexingException: no se pudo agregar el resultado de la prueba
- VS para Linux: los archivos de salida de la máquina remota se COMPILAN EN EL LUGAR EQUIVOCADO después de la actualización 16.9
- Algunas pestañas abiertas y ancladas se desanclan al reiniciar VS
- La regresión 16.9.0 F7, también denominada "Código de visualización" no funciona desde el archivo Xaml de Xamarin
- cl.exe necesita más de 5 GB de RAM para compilar un fragmento de código bastante pequeño
- Los valores de enumeración no se muestran en las Acciones sugeridas cuando el atributo TypeConverter se aplica a un tipo de enumeración personalizado
- El Explorador de pruebas no puede ejecutar ninguna prueba en netcore3.1 y net5.0, pero funciona con net461
- Se genera un código incorrecto con /O2
- El código de visualización en el menú contextual no funciona
- Error irrecuperable C1001: Error del compilador interno (archivo de compilador 'D:\a01_work\4\s\src\vctools\Compiler\Utc\src\p2\main.c', line 213)
- Se produce un error al intentar quitar Live Share del cuadro de diálogo de extensiones de VS en el instalador
- Msvc acepta una comparación no válida entre el puntero y el entero en la función de plantilla
- Visual Studio deja de responder al examinar IntelliSense
- IntelliSense se interrumpe debido a un bloqueo de vcpkgsrv
- La lista de procesos de vcpkgsrv.exe sigue creciendo
- La opción Fusionar ramas de Visual Studio que muestra un nombre de rama incorrecto.
- Error frecuente de Visual Studio 2019: "la aplicación llamó a una interfaz que se aplanó para un subproceso diferente".
- Al iniciar las pruebas desde un archivo de código (por ejemplo, con Ctrl+R, T) se intenta cargar los componentes de LiveShare incluso si no está instalado.
- La publicación de ClickOnce para .NET Core 3.1 y .NET 5.0 puede producir un error si el proyecto hace referencia a un proyecto de biblioteca de clases con un tiempo de ejecución de destino diferente.
- Se ha corregido el error interno E1504, que se producía al usar módulos de C++20.
- IntelliSense de C++ no reconoce "uso de enumeración".
- Visual Studio 2019 Enterprise RTM: proyectos basados en el SDK de .NET (TargetFrameworkMoniker .NET 4.7.2).
- Se ha corregido un error al analizarla salida de la configuración.
- Se muestra el mensaje "The 'VslsFileSystemProviderVSCorePackage' package did not load correctly" ("El paquete 'VslsFileSystemProviderVSCorePackage' no se cargó correctamente") cuando LiveShare no está instalado.
- La compilación de un proyecto de enlace de Xamarin iOS ya no funciona en Visual Studio, versión 16.9.
- Regresión del conjunto de herramientas 16.9, vcxproj genera bibliotecas estáticas: el archivo PDB ya no se copia en la salida.
- La conexión a la máquina Linux remota usa una ruta de acceso de destino incorrecta.
- Se ha corregido una inicialización de copia: problema de resolución de sobrecarga.
- Subrayado ondulado incorrecto de IntelliSense con el uso de la biblioteca Range-V3.
- Barra dorada después de una excepción en DiagnosticDataSerializer.ReadDiagnosticDataArray.
Problemas conocidos
Consulte todos los problemas abiertos y las soluciones alternativas disponibles en Visual Studio 2019 en el vínculo siguiente.
Comentarios y sugerencias
Nos encantaría que nos diera su opinión. Puede informarnos de un problema mediante la opción Notificar un problema de la esquina superior derecha del instalador o del propio IDE de Visual Studio. El icono se encuentra en la esquina superior derecha. Puede realizar una sugerencia de producto o un seguimiento de los problemas en la comunidad de desarrolladores de Visual Studio, donde podrá hacer preguntas, encontrar respuestas y proponer nuevas características. También puede obtener ayuda gratuita para la instalación a través de nuestro servicio de soporte técnico de chat en directo.
Blogs
Saque partido de la información y de las recomendaciones disponibles en los blogs de Developer Tools que le mantendrán al día sobre las nuevas versiones y con publicaciones con mucha información sobre una gran variedad de características.
Historial de notas de la versión de Visual Studio 2019
Para obtener más información sobre versiones anteriores de Visual Studio 2019, consulte la página Historial de notas de la versión de Visual Studio 2019.