Notas de la versión 16.1 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.1
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.
Notas de la versión de Visual Studio 2019, versión 16.1
- 9 de julio de 2019: Visual Studio 2019, versión 16.1.6
- 2 de julio de 2019: Visual Studio 2019, versión 16.1.5
- 25 de junio de 2019: Visual Studio 2019, versión 16.1.4
- 11 de junio de 2019: Visual Studio 2019, versión 16.1.3
- 4 de junio de 2019: Visual Studio 2019, versión 16.1.2
- 24 de mayo de 2019: Visual Studio 2019, versión 16.1.1
- 21 de mayo de 2019: Visual Studio 2019, versión 16.1
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:
- Visual Studio 2019, versión 16.1 y 16.2 Preview 1.
- 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.1.6
publicado el 9 de julio de 2019
Avisos de seguridad
CVE-2019-1077 Vulnerabilidad en la actualización automática de extensiones de Visual Studio
Existe una vulnerabilidad de elevación de privilegios cuando el proceso de actualización automática de extensiones de Visual Studio realiza determinadas operaciones de archivo de manera incorrecta. Un atacante que logra aprovechar esta vulnerabilidad podría eliminar archivos en ubicaciones arbitrarias. Para aprovechar esta vulnerabilidad, un atacante necesitaría acceso sin privilegios a un sistema vulnerable. La actualización de seguridad soluciona la vulnerabilidad al garantizar la seguridad de las ubicaciones en las que la actualización automática de extensiones de Visual Studio realiza operaciones de archivos.
CVE-2019-1075 Vulnerabilidad de suplantación de ASP.NET Core
Existe una vulnerabilidad de suplantación en ASP.NET Core que podrían dar lugar a un redireccionamiento abierto. Un atacante que aprovechara esta vulnerabilidad podría redirigir a un usuario determinado a un sitio web malintencionado. Para aprovechar esta vulnerabilidad, un atacante podría enviar un vínculo con una dirección URL diseñada especialmente y convencer al usuario para que hiciese clic en el vínculo.
La actualización de seguridad corrige la vulnerabilidad mediante la modificación de la manera en que ASP.NET Core analiza las URL. Encontrará los detalles en las notas de la versión de .NET Core.
CVE-2019-1113 La deserialización de XOML de WorkflowDesigner permite la ejecución de código
Un archivo XOML referente a determinados tipos podía provocar la ejecución de código aleatorio al abrirlo en Visual Studio. Ahora hay una restricción sobre los tipos que pueden usarse en los archivos XOML. Si se abre un archivo XOML que contiene uno de los tipos recientemente no autorizados, se mostrará un mensaje para explicarlo.
Para obtener más información, consulte https://support.microsoft.com/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.
Visual Studio 2019, versión 16.1.5
publicado el 2 de julio de 2019
###Resumen de los problemas corregidos en la versión 16.1.5 de Visual Studio 2019
- Problema conocido corregido: no se muestran las herramientas de combinación en "Resolver conflictos".
Visual Studio 2019, versión 16.1.4
publicado el 25 de junio de 2019
Resumen de los problemas corregidos en la versión 16.1.4 de Visual Studio 2019
- Problema conocido ya corregido: El proceso de trabajo del depurador (msvsmon.exe) se ha cerrado inesperadamente. Se va a anular la depuración.
- Problema conocido ya corregido: VS 2019 se bloquea al depurar código asincrónico.
- Problema conocido ya corregido: Problema de Xamarin después de actualizar a VS2019 16.1.
- Problema conocido ya corregido: [Xcode11] [Simulador] Al actualizar a Xcode 11 el simulador no se inicia.
- Se ha mejorado la confiabilidad de Visual Studio al corregir un problema intermitente que se produce al abrir soluciones.
- Se ha corregido un bloqueo con la funcionalidad de búsqueda en las ventanas Variables locales, Automático e Inspección cuando el IDE no está en modo de interrupción.
Visual Studio 2019, versión 16.1.3
publicado el 11 de junio de 2019
Resumen de los problemas corregidos en la versión 16.1.3 de Visual Studio 2019
- Problema conocido ya corregido: Se corrigió el instalador de VSiX que producía una excepción IOException al ejecutarlo desde la carpeta de instalación de Visual Studio.
- Problema conocido corregido: se eliminó la solicitud de solicitud doble para la encuesta al desinstalar.
- Se habilitó un vínculo de ayuda para que los nuevos usuarios obtengan ayuda para elegir una carga de trabajo.
Visual Studio 2019, versión 16.1.2
publicado el 4 de junio de 2019
Resumen de los problemas corregidos en la versión 16.1.2 de Visual Studio 2019
- Problema conocido corregido: Diseñador XAML para UWP: las propiedades de control no se muestran
- Problema conocido corregido: El diseñador XAML para UWP no actualiza los elementos al actualizar el código XAML
- Problema conocido corregido: propiedades XAML y estructura de documentos
- Problema conocido corregido: La ventana Propiedades no muestra las propiedades de un objeto al hacer clic en él
- Problema conocido corregido: No se pueden ver las propiedades de los elementos
- Problema conocido corregido: error de instalación al intentar conectarse al equipo Mac: "La versión de Xamarin.iOS instalada en "x" (12.8.0.2) es más reciente que su versión".
- Problema conocido corregido: Se ha corregido un bloqueo al hacer clic con el botón derecho en el nombre de la solución, en la barra de título de VS.
- Se ha mejorado el rendimiento para los clientes que tengan instalada la carga de trabajo de Azure.
- Se han corregido errores durante la restauración y compilación en proyectos basados en SDK que usan SDK de terceros para tener como destino las plataformas UWP.
- Se ha corregido un error del compilador de C# que provocaba que los clientes no recibieran una correcta notificación sobre implementaciones incompletas de la interfaz.
- Se han mejorado los mensajes de error en Visual Studio Tools para Kubernetes.
- Se ha corregido un error al agregar un comentario en una solicitud de incorporación de cambios relativa a SymbolCheck.
Visual Studio 2019, versión 16.1.1
publicada el 24 de mayo de 2019
Resumen de los problemas corregidos en la versión 16.1.1 de Visual Studio 2019
- Problema conocido corregido: Las tareas personalizadas con la enumeración contextType predeterminada mediante tasks.vs.json se dividen en Abrir carpeta.
- Problema conocido corregido: No se ha creado ninguna instantánea del código nativo de C++ en la herramienta Uso de memoria de la ventana Herramientas de diagnóstico durante la depuración.
- Problema conocido corregido: se bloqueaba en VS 16.1.0 al presionar el vínculo "buscar en línea".
- Se ha solucionado el problema por el que a veces determinadas características (por ejemplo, Buscar todas las referencias) de la sesión de invitados de LiveShare no funcionaban.
- Se ha solucionado un problema por el que el proceso devenv.exe podía bloquearse en el sistema después de apagar Visual Studio durante 30 segundos.
Visual Studio 2019, versión 16.1
publicado el 21 de mayo de 2019
Resumen de las novedades de Visual Studio 2019, versión 16.1
IDE
- Visual Studio IntelliCode ahora está disponible con carácter general y viene instalado con cualquier carga de trabajo que admita C#, C++, Typescript/JavaScript o XAML.
- Se ha agregado compatibilidad con el reconocimiento por monitor.
- Se han agregado nuevas correcciones de código para C#.
- Se ha agregado una lista de elementos utilizados más recientemente a la búsqueda de Visual Studio.
instantáneas
- Se han implementado mejoras en la autenticación de los vínculos de origen.
- Se ha agregado el servidor de símbolos nuget.org a la lista de predeterminados.
- La versión preliminar de la depuración de viaje en el tiempo ahora incluye compatibilidad con la ejecución paso a paso de excepciones.
Extensibilidad
- Se ha eliminado la necesidad de disponer de un archivo .resx en proyectos VSIX (actualización de BuildTools).
- La plantilla de proyecto de VSIX ahora usa la nueva versión del SDK.
Rendimiento
- Experiencia de optimización del usuario para mejorar el tiempo de carga de soluciones muy grandes.
- Los autores de plantillas pueden agregar etiquetas personalizadas a sus plantillas.
- Se ha agregado compatibilidad de CodeLens con la interfaz de usuario personalizada.
- Se han proporcionado actualizaciones en la implementación del protocolo de servidor de lenguaje.
- Se ha actualizado el comportamiento para cambiar entre soluciones, carpetas y otras vistas.
C++
- Se ha agregado documentación en el editor para CMake.
- Use Subsistema de Windows para Linux con C++ de forma nativa en Visual Studio, y AddressSanitizer para proyectos Linux y WSL.
- Se han realizado mejoras y se ha modificado la coloración de la Información rápida de C++.
- Se han implementado nuevas correcciones rápidas de análisis de código de C++.
F#
- Se han publicado mejoras de rendimiento y correcciones de errores masivas para F# y las herramientas de F#.
.NET
- Entre las nuevas características de productividad de .NET se incluyen la limpieza de código con un solo clic en proyectos y soluciones, el nuevo método abreviado de teclado Alternar comentario de bloque y la refactorización para mover tipos a otros espacios de nombres.
- Los usuarios pueden ahora clonar el código de un URI de SSH mediante la pantalla de clonación de la ventana de inicio.
- Entre las incorporaciones a la productividad de .NET se incluyen la finalización de IntelliSense de tipos no importados, la alternancia entre poner y quitar comentarios de una sola línea, la exportación de estilos de nombres a editorconfig y una nueva opción de estilo de código para dar preferencia a instrucciones using dentro y fuera de los espacios de nombres.
- Se han implementado incorporaciones de herramientas del SDK de .NET en torno a proyectos auxiliares de WinForms y WPF para .NET Core 3.0, además de correcciones de errores y mejoras de rendimiento.
- El SDK v16.0 de Visual Studio se ha publicado en NuGet.
- Se ha publicado una versión preliminar del Diseñador XAML para el desarrollo de WPF en .NET Core 3.0.
Xamarin
- La experiencia predeterminada de Android para Xamarin ahora es compatible con API 28.
- Se han agregado recomendaciones de XAML para atributos en tiempo de diseño el diseño de Xamarin.Forms.
Principales problemas corregidos en la versión 16.1 de Visual Studio 2019
- Problema conocido corregido: No es posible desplazarse al símbolo bajo el símbolo de intercalación en proyectos de ASP.NET MVC.
- Problema conocido corregido: el editor resx no se representa.
- Problema conocido corregido: Buscar todas las referencias minimiza al usar las teclas de dirección.
- Problema conocido corregido: No se pudo copiar el archivo "obj\x64\Debug\Management.exe" porque no se encontró.
- Problema conocido corregido: Xamarin.iOS no encuentra el manifiesto de aplicación. Asegúrese de que el proyecto contiene un archivo de manifiesto denominado "Info.plist".
- Problema conocido ya corregido: la ruta de acceso del entorno nmake que faltaba a las herramientas de NETFX.
- Problema conocido corregido: Al hacer clic en un proyecto de ASP.NET Core en la solución se abre el archivo .
csproj
de proyecto. - Problema conocido ya corregido: [MSConnect 3142311] 提示 Visual Studio IDE E1449 但是代码能正常编译运行, 结果也对 -> Mensaje E1449 del IDE de Visual Studio, pero el código se puede compilar y ejecutar con normalidad, y el resultado también es correcto.
- Problema conocido corregido: La referencia de ensamblado se quita del proyecto después de ejecutar la biblioteca de referencia de aplicaciones.
- Problema conocido corregido: Al actualizar Visual Studio 2019 de RC a GA, los accesos directos de RC para Visual Studio no se actualizan.
Detalles de las novedades de la versión 16.1 de Visual Studio 2019
IDE
- IntelliCode ahora está disponible con carácter general y viene instalado con cualquier carga de trabajo que admita C#, C++, Typescript/JavaScript o XAML.
- Las características de IntelliCode en versión preliminar, como modelos personalizados, compatibilidad con C++/TS/JS e inferencia de Editorconfig, están deshabilitadas de forma predeterminada. Para habilitarlas, vaya a Herramientas > Opciones > IntelliCode.
- Se ha quitado la plantilla de Editorconfig (IntelliCode) del Asistente para nuevo elemento. Para crear un archivo Editorconfig deducido, haga clic con el botón derecho en la ubicación deseada del Explorador de soluciones y elija Agregar > Nuevo EditorConfig (IntelliCode).
- Use la ventana de inicio para clonar el código desde un repositorio en línea mediante SSH.
- Visual Studio IntelliCode se instala de forma predeterminada al instalar una carga de trabajo que admita C#, XAML o C++.
- Los modelos básicos de C# y XAML estarán activados de forma predeterminada.
- Las características en versión preliminar, como el entrenamiento de modelos personalizados y la finalización de argumentos, se pueden habilitar en Herramientas > Opciones > IntelliCode.
- Se ha agregado compatibilidad con el reconocimiento por monitor.
- Se han agregado nuevas correcciones de código para C#.
- Se ha agregado compatibilidad con el reconocimiento por monitor para WinForms según la ventana PropertyBrowser de Visual Studio. Requiere tener instalado .NET Framework 4.8 RTM en el equipo.
instantáneas
- Los vínculos de origen ahora pueden usar la autenticación de Windows para admitir el control de código fuente de TFS local.
- Se ha agregado el servidor de símbolos nuget.org a la lista de predeterminados.
Proyecto
- Ahora, el botón para cambiar la vista del Explorador de soluciones mostrará sistemáticamente un menú desplegable con todas las vistas posibles.
Se ha mejorado el tiempo de carga de soluciones muy grandes. La mejora varía en función del tamaño de las soluciones.
Se ha quitado el cuadro de diálogo Convertir, en Archivo > Convertir. Esta característica había quedado en desuso en Visual Studio 2015.
Se han actualizado las reglas de validación de los esquemas de launch.vs.json y task.vs.json, y se han agregado descripciones de las propiedades.
Se ha agregado compatibilidad con la depuración remota de Linux mediante un programa personalizado a través de launch.vs.json.
Extensibilidad
- Los usuarios pueden ahora usar la versión más reciente de Microsoft.VisualStudio.SDK para que el destino de las extensiones sea Visual Studio 2019. Recuerde que debe usar únicamente esta versión del SDK si la versión mínima compatible de Visual Studio es la 16.0.
- Los nuevos proyectos de VSIX que se creen incluirán ahora la versión 16.0 del paquete NuGet Microsoft.VisualStudio.SDK.
- Los usuarios pueden ahora agregar etiquetas a las plantillas de proyecto para habilitar la categorización y el filtrado en el cuadro de diálogo Nuevo proyecto de Visual Studio 2019. Los usuarios pueden elegir entre las etiquetas integradas y sus propias etiquetas personalizadas de tipo de proyecto, plataforma y lenguaje.
Las extensiones de CodeLens ahora pueden mostrar contenido arbitrario de interfaz de usuario en el menú emergente de detalles de CodeLens.
Protocolo de servidor de lenguaje actualizado:
- Compatibilidad con búferes previstos para habilitar LSP para diferencias insertadas y archivos de Razor en LiveShare.
- Compatibilidad con diagnósticos innecesarios.
- Compatibilidad con textDocument/typeDefinition.
- Compatibilidad con textDocument/foldingRange (esquematización).
Se ha eliminado la necesidad de disponer de un archivo .resx en proyectos VSIX (actualización de BuildTools).
El paquete NuGet Microsoft.VSSDK.BuildTools ahora ofrece un archivo .resx vacío como parte de la compilación si no existe ningún .resx con la propiedad MergeWithCTO. La mayoría de extensiones no usan ni necesitan un archivo .resx para realizar la combinación, de modo que el proyecto se mantendrá más limpio.
Los cambios en la detección de monitores puede afectar a algunas extensiones. Más información sobre la compatibilidad de la detección de monitores para extensores de Visual Studio.
Editor
- La búsqueda de Visual Studio destacará las tres acciones usadas más recientemente, invocadas a través de la búsqueda en Visual Studio, como se muestra en esta imagen de ejemplo. (Nota: Los iconos y los elementos de línea específicos no están actualizados en la imagen de ejemplo).
C++
- Use la instalación local del Subsistema de Windows para Linux (WSL) con C++ de forma nativa en Visual Studio sin configuración adicional ni conexión SSH.
- AddressSanitizer ahora está integrado en Visual Studio para proyectos de Linux y WSL.
- Los usuarios pueden ahora separar las máquinas de compilación remota de las máquinas de depuración remota cuando el destino es Linux, tanto para proyectos MSBuild como CMake.
- La información rápida contiene ahora un vínculo para buscar documentación en línea y así aprender más sobre la construcción de código. En el caso de código subrayado en rojo, el vínculo de información rápida buscará el error en línea.
- Ahora el código dentro de la información rápida está coloreado para reflejar su color en el editor.
- Correcciones rápidas automáticas de las advertencias de análisis de código C6001: el uso de <variables> de memoria no inicializada y C26494 VAR_USE_BEFORE_INIT está ahora disponible mediante el menú de bombilla en las líneas pertinentes y está habilitado de forma predeterminada en el conjunto de reglas mínimas nativas de Microsoft y los conjuntos de reglas de tipo C++ Core Check, respectivamente.
- Mejoras en el Editor de configuración de CMake (por ejemplo, compatibilidad con el subsistema de Windows para Linux (WSL) y las configuraciones de las cachés existentes), cambios en las raíces predeterminadas de compilación e instalación, y compatibilidad con variables de entorno en las configuraciones de CMake de Linux.
- Se ha mejorado el registro para las conexiones remotas, lo que facilita el diagnóstico de problemas con desarrollo multiplataforma.
- Ahora se puede separar la máquina de compilación remota de la máquina de depuración remota cuando el destino es Linux (para proyectos de MSBuild; próximamente estará disponible para CMake).
- La Barra de plantillas puede rellenar el menú desplegable en función de las instancias que haya de esa plantilla en el código base.
- C++ IntelliCode se incluye ahora de forma predeterminada y puede habilitarse en Herramientas > Opciones > IntelliCode > General. Esta versión de IntelliCode ha mejorado en precisión e incluye compatibilidad con funciones libres.
- La integración de CMake ahora admite la cadena de herramientas Clang/LLVM para proyectos destinados a Windows o Linux. Ahora es posible compilar, editar y depurar proyectos de CMake que usan Clang, MSVC o GCC.
- Se han agregado bombillas para cuando faltan instrucciones
#include
que pueden instalarse mediante vcpkg, y la finalización automática de paquetes disponibles para la directiva find_package de CMake.
Se ha actualizado la versión de CMake que se incluye con Visual Studio a la versión 3.14. Esta versión agrega compatibilidad integrada con generadores de MSBuild destinados a proyectos de Visual Studio 2019, así como API para la integración de IDE basada en archivos.
Se han revisado las páginas de propiedades generales para proyectos de C++, y algunas opciones se han dividido en una página nueva de opciones avanzadas. La página Opciones avanzadas también incluye propiedades adicionales para la arquitectura preferida del conjunto de herramientas, las bibliotecas de depuración, la versión secundaria del conjunto de herramientas MSVC y las compilaciones de Unity (jumbo).
Se han agregado las siguientes características en versión preliminar de C++20 a la implementación de la biblioteca estándar de C++, disponible en
/std:c++latest
:starts_with()
yends_with()
parabasic_string
/basic_string_view
.contains()
para contenedores asociativos.remove()
,remove_if()
yunique()
paralist
yforward_list
ahora devuelvensize_type
.- Se han agregado
shift_left()
yshift_right()
a<algorithm>
.
Se han implementado las siguientes características en versión preliminar de C++20 en el compilador de C++, disponible en
/std:c++latest
:- Se ha aumentado la capacidad de encontrar las plantillas de función a través de la búsqueda dependiente de argumentos para las expresiones de llamada de función con argumentos de plantilla explícitos (P0846R0).
- Se ha agregado la inicialización designada (P0329R4), que permite seleccionar miembros específicos en inicialización agregada, por ejemplo, con la sintaxis
Type t { .member = expr }
.
Se ha revisado la compatibilidad con expresiones lambda para corregir un gran número de errores pendientes de corregir. Este cambio está habilitado de forma predeterminada al usar
/std:c++latest
. En otros modos de lenguaje/std:c++*
y en el modo predeterminado, el nuevo analizador puede habilitarse a través de/experimental:newLambdaProcessor
, por ejemplo,/std:c++17 /experimental:newLambdaProcessor
.Documentación en el editor para CMake
Las finalizaciones y la información rápida de los comandos integrados de CMake, las variables y las propiedades facilitan la edición de los archivos CMakeLists.txt.
F# y herramientas de F#
Esta es una versión relativamente secundaria del lenguaje F# y sus herramientas, pero con algunas sorpresas. Al igual que con la actualización VS 16.0, esta versión también se centra en el rendimiento de las herramientas del editor.
Compilador de F# y F# interactivo
- Se ha agregado compatibilidad con
P/Invoke
a F# interactivo en .NET Core (#6544). - Se ha agregado una optimización del compilador para
Span<'T>
cuando se usa en un buclefor
(#6195). - Se ha agregado una optimización para evitar asignaciones
Some
extrañas para opciones de F# en diversos escenarios (#6532) - Se ha cambiado el orden de ejecución de las expresiones usadas en la creación de instancias de registros anónimos y ahora es de arriba a abajo, en lugar de alfabético, para que coincida con la experiencia actual con registros normales (#6487).
- Se ha resuelto un error donde expresiones literales muy grandes o declaraciones de estructura muy grandes podían causar el desbordamiento de la pila del compilador durante la compilación (#6258).
- Se ha corregido un error donde ya no se desencadenaban puntos de interrupción al depurarse una función con un registro anónimo (#6512).
- Se ha corregido un error donde los registros anónimos pasados a construcciones que esperaban un parámetro
obj
provocaban un bloqueo del compilador (#6434). - Se ha corregido un error donde los bucles
for var expr1 to expr2 do ...
podían dar lugar a una sintaxis extrañamente válida (y descartada) (#6586). - Se ha corregido un error donde no se podían usar registros anónimos correctamente con eventos (#6572).
- Se ha resuelto un antiguo error donde se generaban analizadores extremadamente grandes en FsLexYacc (más de 100 millones de líneas) (#5967.
- Se ha resuelto un antiguo problema del componente de complemento Proveedor de tipos del compilador que podía dejar la puerta abierta a fugas de memoria ocasionadas por un proveedor de tipos (#6409).
- Se ha agregado compatibilidad con
--pathmap
al compilador de F# gracias a Saul Rennison, que resuelve un problema donde el archivo ejecutable resultante de una compilación incluía rutas de acceso absolutas a los archivos de origen en el recurso de archivo de firma de F# (#5213). - Se ha agregado una optimización al AST de F# que mejora su consumo mediante otras herramientas y entornos (por ejemplo, Fable). Su autor es ncave (#6333).
- Se ha agregado una optimización en torno al recorrido de información cuando se resuelven miembros. Su autor es Steffen Forkmann (#4457)
- Se ha agregado una mejora en los mensajes de error de modo que cuando en una implementación de tipos faltan invalidaciones necesarias, se notifica una lista de estas. Su autor es Gauthier Segay (#4982)
Herramientas de F#
- La lista desplegable de plataformas de destino para proyectos de F# en .NET SDK ahora incluirá valores para todos los valores disponibles de .NET Core, .NET Standard y .NET Framework a fin de facilitar la migración a .NET Core desde .NET Framework en .NET SDK.
- Se ha corregido un error donde al cambiar el nombre de los parámetros de tipo genérico se generan nombres con escape de comillas dobles (#5389).
- Se ha resuelto un antiguo problema donde se creaban instancias redundantes de los proveedores de tipos, lo que provocaba asignaciones masivas con el tiempo (#5929).
- Se ha resuelto un antiguo problema donde al leer el IL se asignaban innecesariamente 20 MB durante un corto período (#6403).
- Se ha resuelto un error donde el método
GetToolTipText
en el servicio de compilador de F# podía mostrar la misma firma XML con varias sobrecargas de miembros. Su autor es Vasily Kirichenko (#6244).
Infraestructura de código abierto de F#
Por último, se ha mejorado la experiencia de contribución de la siguiente manera:
- Se ha completado nuestra compilación del proceso de código fuente de forma que el compilador de F# y la biblioteca principal se pueden crear con el repositorio de compilación de código fuente de .NET Core
- Se ha quitado nuestra dependencia de
netstandard1.6
para que todo el código base se dirija uniformemente anetstandard2.0
ynet472
. - Se ha agregado un archivo
.vsconfig
a la raíz del repositorio para que los colaboradores que usan Visual Studio no tengan que conocer todo lo que hay que instalar de antemano. - Se ha reescrito el archivo Léame de nuestro proyecto para quitar información posiblemente confusa, incluir un inicio rápido para comenzar a contribuir e intentar ser más inclusivo en nuestra mensajería sobre los tipos de cambios que nos gustaría acometer.
Productividad de .NET
- Existe ahora una finalización de IntelliSense para tipos no importados. Los usuarios ahora recibirán sugerencias de IntelliSense sobre los tipos de dependencias en el proyecto aunque no hayan agregado aún la instrucción de importación al archivo. Active esta opción en Herramientas > Opciones > Editor de texto > C# >IntelliSense.
- Ahora la alternancia entre poner y quitar marca de comentario está disponible mediante el método abreviado de teclado (Ctrl+K,/). Este comando agrega o quita una única línea de comentario en función de si la selección ya tiene marcas de comentarios.
- Posibilidad de exportar estilos de nombres con el botón "Generar archivo editorconfig" ubicado en Herramientas > Opciones > Editor de texto > C# > Estilo de código.
- Posibilidad de usar una nueva regla de estilo de código de editorconfig para exigir o impedir instrucciones using dentro de un espacio de nombres. Esta configuración también se exportará al usar el botón "Generar archivo editorconfig" que se encuentra en Herramientas > Opciones > Editor de texto > C# > Estilo de código.
- La columna Buscar todas las referencias "Tipo" ahora tiene más opciones de filtrado y tiene en cuenta los espacios de nombres y los tipos.
- Se ha agregado una corrección de código para las instrucciones de división o combinación "if".
- Se ha agregado una corrección de código para el encapsulado de expresiones binarias.
- Ahora es posible acceder a una lista de finalización de expresiones regulares a través del menú de IntelliSense (Ctrl + espacio) al trabajar con una cadena de expresiones regulares. Dichas finalizaciones también incluyen una descripción en línea de lo que hace la sugerencia.
- Se ha agregado una corrección de código para quitar el sello de una clase.
- Utilice la limpieza de código con un solo clic en proyectos y soluciones. Haga clic con el botón derecho en el proyecto o la solución en el Explorador de soluciones y seleccione "Ejecutar limpieza de código".
- Ahora hay un cuadro de diálogo de refactorización que permite mover el tipo al espacio de nombres o la carpeta. Coloque el cursor en el nombre de clase y presione Ctrl + . para abrir el menú Acciones rápidas y refactorizaciones; luego, seleccione "Mover al espacio de nombres". Esto inicia un cuadro de diálogo donde se puede seleccionar el espacio de nombres de destino al que se quiera mover el tipo.
- La opción Alternar comentario de bloque/Quitar marca de comentario está ahora disponible mediante método abreviado de teclado Ctrl + Mayús + / o en Editar > Opciones avanzadas > Alternar comentario de bloque. Este comando agregará o quitará los comentarios de bloque en función de lo que se haya seleccionado.
- Ahora hay una corrección de código que permite escribir en los campos struct de solo lectura. Coloque el cursor en el nombre del struct y presione Ctrl + . para abrir el menú Acciones rápidas y refactorizaciones; luego, seleccione "Mover al espacio de nombres".
- La corrección de código para agregar un campo privado desde un constructor y viceversa es más fácil de detectar y se mostrará al seleccionar cualquier parte del nombre del campo. Esta refactorización ahora ofrece también todos los constructores posibles.
Versión preliminar del Diseñador XAML para el desarrollo de WPF en .NET Core 3.0
- Existe una versión preliminar del Diseñador XAML para desarrolladores que crean aplicaciones de WPF en .NET Core 3.0 en Visual Studio. En este momento, muchas de las características de tiempo de diseño no están disponibles. Puesto que se trata de una versión preliminar, si tiene problemas, por ejemplo, bloqueos, envíe sus comentarios sobre Visual Studio para que el equipo mejore la experiencia en el futuro.
- Con cada actualización a Visual Studio 2019, seguiremos implementando más de las características que estaban anteriormente disponibles en el Diseñador XAML para aplicaciones de WPF en .NET Framework.
Herramientas de .NET SDK
En esta versión costaba mucho mostrar el uso de WPF en .NET Core:
- Se ha resuelto un problema en el que cada vez que se agrega un nuevo elemento a un proyecto de WinForms o WPF en .NET Core se mostraba un cuadro de dialogo de error (#4486).
- Compatibilidad con archivos XAML en proyectos de .NET SDK (#1467), lo que incluye muchos elementos de trabajo más pequeños dirigidos a conseguir una experiencia equiparable a los proyectos .NET del estilo antiguo.
- Compatibilidad del elemento de menú contextual con WinForms en .NET Core (#137): Windows Form, Control de usuario, Componente y Clase.
- Compatibilidad de elementos de menú contextual para WPF en .NET Core (#137): Ventana, Página, Control de usuario, Diccionario de recursos.
- La ventana Orígenes de datos está ahora habilitada para proyectos de .NET SDK, de forma que se habilitan escenarios comunes de administración de datos para WinForms (#4479.
Por separado, se han agregado en esta versión otras diversas correcciones:
- Los proyectos de .NET SDK admiten ahora archivos
.razor
(#4468). - Se ha agregado texto de ayuda accesible a la propiedad Debug, que permite su lectura en lectores de pantalla (#4568).
- Se ha agregado una opción que permite deshabilitar la acción de doble clic para abrir un archivo de proyecto (#4493).
- La opción de menú contextual para editar un archivo de proyecto ya no incluye el nombre del proyecto, lo que corrige un problema donde el menú contextual podía volverse demasiado ancho debido a nombres de proyecto muy largos (#1492).
- Se ha corregido un error en el que al crear un origen de datos con la interfaz de usuario de enlace de datos se creaban dos archivos
.datasource
(#4485). - Se ha resuelto un error donde el uso de archivos vinculados podía provocar que el comprobador de actualizaciones produjera un error (#4580).
- Se han corregido diversos errores relacionados con la resolución de paquetes y la visualización de su estado resuelto/sin resolver en el nodo Dependencias (#2924,#4577).
Puede ver una lista completa de problemas cerrados en el hito 16.1 de GitHub.
Xamarin
- Se ha actualizado la experiencia de Android predeterminada a API 28 para plantillas, creación de dispositivos, instaladores y mucho más.
- IntelliSense en Windows ahora muestra recomendaciones para los atributos en tiempo de diseño al escribir XAML de Xamarin.Forms.
Problemas conocidos
Consulte todos los problemas y las soluciones alternativas disponibles de la versión 16.1 de 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.