17.0 de 2022Logo Visual Studio 2022
Sugerencia
Vea las grabaciones del evento de lanzamiento de Visual Studio 2022 para obtener información sobre las novedades, escuchar sugerencias & trucos y descargar swag digital gratuito.
Developer Community | Guía básica de Visual Studio 2022 | Requisitos del sistema | Compatibilidad | Código distribuible | Términos de licencia | Blogs | Problemas conocidos de la versión más reciente | Novedades de la documentación de Visual Studio
Haga clic en un botón para descargar la versión más reciente de Visual Studio 2022. Para obtener instrucciones sobre cómo instalar y actualizar Visual Studio 2022, vea Actualización Visual Studio 2022 a la versión más reciente. Consulte también las instrucciones sobre cómo efectuar una instalación sin conexión.
Visite la página visualstudio.microsoft.com/downloads para descargar otros Visual Studio productos de 2022.
Novedades de Visual Studio 2022, versión 17.0
Visual Studio versiones 17.0 de 2022
- 30 de noviembre de 2021 — Visual Studio versión 17.0.2 NewReleaseIcon de 2022
- 16 de noviembre de 2021 — Visual Studio 2022, versión 17.0.1
- 8 de noviembre de 2021 — Visual Studio 2022, versión 17.0.0
Blog de Visual Studio 2022
El Blog de Visual Studio 2022 es la fuente oficial de información sobre el producto que ofrece el equipo de ingeniería de Visual Studio. Encontrará información detallada sobre las versiones de Visual Studio 2022 en las publicaciones siguientes:
Visual Studio 2022, versión 17.0.1 2
publicado el 30 de noviembre de 2021
Problemas solucionados en esta versión de 17.0.2
- Corrección de codegen silencioso y no correcto con operaciones de tipo memmove con datos superpuestos
- Se ha agregado mensajería en la ventana de salida que aparece cuando se usan módulos de C++ o unidades de encabezado. Contiene problemas conocidos actualmente al usar módulos o unidades de encabezado con IntelliSense.
- Se ha corregido el problema por el que las páginas de información general de CMake y el editor CMakeSettings se atascaba en "Esperando a que IntelliSense termine de inicializarse...".
- Se ha corregido un problema que provocaba que se creara una instancia de un destructor con plantilla implicado en una jerarquía de clases con inicializadores de miembro de datos demasiado pronto, lo que podría dar lugar a diagnósticos incorrectos sobre los usos de tipos indefinidos u otros errores.
- Se ha agregado Python 3.9.7 a la carga de trabajo de Python. Se quitó Python 3.7.8 debido a una vulnerabilidad de seguridad.
- Se ha corregido un problema por el que Buscar siguiente (F3) y Buscar siguiente seleccionado (Ctrl+F3) a veces saltaban a la primera aparición del archivo en lugar de a la siguiente.
- Resuelva el problema por el que las fechas de las interfaces de usuario del control de versiones no respetaban la configuración regional del sistema operativo del cliente.
- Solucionar un problema en Windows 11 en el que los clientes establecen el Terminal Windows como predeterminado y el depurador no puede detener la depuración de una aplicación de consola correctamente e impedir futuros inicios.
De Developer Community
Developer Community tiene una lista completa de correcciones disponibles en la versión 17.0.
- Es imposible buscar en la selección si se selecciona parte de una sola fila Visual Studio 2022
- La finalización de Blazor en C# puede mostrar ocasionalmente información incorrecta
- PackageId:AndroidImage_x86_API25_Private; PackageAction:Install; ReturnCode:3;
- Ctrl-F3 a veces salta a la parte superior del documento
- Ctrl-f3 ha cambiado el comportamiento de Visual Studio 2019 a Visual Studio 2022
- Visual Studio Explorador de pruebas de 2022 siempre muestra la prueba como "No ejecutada"
- IntelliSense en componentes de Razor blazor
- Visual Studio 2022 muestra iconos incorrectos de agregar o eliminar en el árbol de control de código fuente
- IntelliSense de VS 2022 tarda un tiempo o incluso no se muestra en algunos escenarios.
- IntelliSense en archivos de Razor (.cshtml) sigue sin funcionar en VS 2022
Visual Studio 2022, versión 17.0.1
publicado el 16 de noviembre de 2021
Problemas solucionados en esta versión de 17.0.1
- Se ha corregido un bloqueo al usar compilaciones por lotes.
- Se ha corregido un bloqueo al iniciar proyectos de Xamarin.Forms Recarga activa de XAML habilitado.
De Developer Community
Developer Community tiene una lista completa de correcciones disponibles en la versión 17.0.
- Visual Studio profiler de 2022 no proporciona ninguna información sobre el código para el que se han generado perfiles
- Generador de perfiles de rendimiento vista .diagsession se bloquea en el cambio de tamaño del panel
Visual Studio 2022, versión 17.0.0
publicado el 8 de noviembre de 2021
Resumen de las novedades de esta versión de Visual Studio 2022, versión 17.0.0
64 bits
- devenv.exe ahora es solo de 64 bits.
Azure Cloud Services
- Ahora se admiten proyectos de Azure Cloud Service (clásico) y Azure Cloud Service (soporte extendido).
- Las herramientas de compilación v143 ahora están disponibles mediante el instalador de Visual Studio, así como las herramientas de compilación independientes.
- La nueva experiencia Recarga activa está ahora disponible para aplicaciones nativas de C++ cuando se ejecutan en el depurador. Admite proyectos MSBuild y CMake. Para más información, consulte a continuación nuestra sección Recarga activa.
- Ahora puede compilar y depurar de forma nativa en WSL2 sin establecer una conexión SSH. Se admiten proyectos de CMake multiplataforma y proyectos de Linux basados en MSBuild.
- Visual Studio ahora admite la opción
buildPresets.targetsen CMakePresets.json. Esta opción le permite crear un subconjunto de destinos en el proyecto de CMake. - El menú Proyecto en los proyectos de CMake se ha simplificado y expone opciones para eliminar la caché y volver a configurarla y para ver la caché.
- Las páginas de información general de CMake se han actualizado para admitir CMakePresets.json.
- Marca implementada para generar dependencias de módulo de C++20 para proyectos de CMake como se describe
/scanDependenciesen P1689r4. Se trata de un paso hacia la compatibilidad con la creación de proyectos basados en módulos con CMake y estamos trabajando para completar esta compatibilidad en versiones posteriores. - Ahora puede depurar procesos que se ejecutan en sistemas remotos desde Visual Studio con LLDB.
- Hemos actualizado la versión de CMake que se incluye con Visual Studio a la versión 3.21. Vea las notas de la versión de CMake 3.21 para obtener detalles sobre lo que está disponible.
- Las herramientas de LLVM que se incluyen con Visual Studio se han actualizado a LLVM 12. Vea las notas de la versión de LLVM para obtener más información.
- El conjunto de herramientas de MSVC ahora tiene como valor predeterminado el hash de origen SHA-256 en los registros de depuración. Anteriormente, en el conjunto de herramientas se usaba MD5 de forma predeterminada para el hash de origen.
- Ahora la carga de trabajo Desarrollo de juegos con C++ instala la versión más reciente del motor Unreal con compatibilidad con Visual Studio 2022.
- Se han realizado mejoras en IntelliSense de C++ al proporcionar resaltado de navegación y sintaxis para tipos de módulos importados y unidades de encabezado.
- Se ha mejorado el rendimiento de IntelliSense de C++ mediante la optimización del uso de encabezados almacenados en caché y el acceso a la base de datos de símbolos, lo que proporciona tiempos de carga mejorados para acceder al código.
- El linter de código de IntelliSense para C++ está ahora activado de manera predeterminada, lo que proporciona sugerencias instantáneas a medida que escribe y corrige sugerencias para defectos de código comunes.
- Compatibilidad con libfuzzer en el modificador
-fsanitize=fuzzer. Vea la documentación para obtener más información. - Hemos mejorado la detección de desreferencia de punteros nulos en nuestras herramientas de análisis de código.
- El análisis de código ahora exige que se deben comprobar los valores devueltos de las funciones anotadas con
_Check_return_o_Must_inspect_result_. - Se ha agregado compatibilidad con
gsl::not_nullpara analizar código. - Se ha actualizado a NDK r21 LTS en la carga de trabajo Desarrollo móvil con C++.
- Los encabezados de AMP de C++ están en desuso. Al incluir <amp.h> en un proyecto de C++ se generarán errores de compilación. Para silenciar los errores, defina
_SILENCE_AMP_DEPRECATION_WARNINGS. Consulte nuestros vínculos de desuso de AMP para obtener más detalles.
- Mejoras en el cuadro de diálogo Asociar al proceso
- Mejoras del asistente de excepciones
- Force Run to Click (Forzar ejecución hasta hacer clic)
- Análisis de diagnóstico de volcado de memoria
- Hemos publicado un nuevo tipo de punto de interrupción denominado Punto de interrupción dependiente, que permite configurar un punto de interrupción para que se habilite solo si primero se alcanza otro punto de interrupción.
- Hemos agregado más actualizaciones al nodo Orígenes externos; ahora puede ver el módulo en el subnodo "Módulos sin orígenes" y cargar los símbolos desde el Explorador de soluciones.
- Mejoras en el medianil del punto de interrupción
- Punto de interrupción temporal
- Arrastre y colocación del punto de interrupción
- Nodo de orígenes externos en el Explorador de soluciones
- Mejoras en el cuadro de diálogo Asociar al proceso
Personalización
- Pestañas de color agregadas para pestañas verticales y horizontales
- Se ha agregado theme pack y se ha trabajado con VS Code autores de temas para iniciar la colección de temas personalizados.
- Convertidor de temas creado para convertir VS Code temas para que funcionen en Visual Studio 2022
- Se ha agregado la funcionalidad para sincronizar Visual Studio tema con Windows tema
- Se han agregado nuevas funcionalidades de administración de documentos que incitar a personalizar el ancho de tabulación, el documento activo en negrita y el botón cerrar adicional en docwell.
- Se ha agregado la navegación por subpalabra
- El autoguardado ya está disponible como característica en versión preliminar
- Experiencia de copiado/pegado de varios símbolos de inserción
- Se han quitado API de los ensamblados Microsoft.VisualStudio.Language.Client
- El SDK de VS contiene varios cambios importantes y las extensiones de Visual Studio 2019 no funcionarán en 2022. Para obtener más información, vea la documentación sobre el VSSDK.
- Los ensamblados de referencia del SDK de VS ya no están instalados en la carpeta
VSSDK\VisualStudioIntegration\Common\Assemblies. Si su compilación se basaba en estos ensamblados, realice la migración del proyecto para usar paquetes NuGet en su lugar. En el caso de escenarios sin conexión:- Mantenga una fuente NuGet en la organización desde la que restaurar los paquetes NuGet.
- Compruebe los archivos binarios.
- Se han agregado correcciones de cambios importantes de ILanguageClient
Cloud Services
- Azurite se usará para la emulación local de Azure Storage en lugar de la anterior y ya no se desarrollará activamente Azure Storage Emulator.
Herramientas de Git
- Compatibilidad con varios repositorios con una marca de versión preliminar para cualquier solución que abarque distintos repositorios (es decir, soluciones con proyectos hospedados en repositorios de Git diferentes)
- Publicar en Azure DevOps ahora es totalmente compatible con la experiencia de creación del repositorio git
- Mejoras en la barra de estado, incluida una nueva capacidad para ver y abrir repositorios desde un VS vacío y mostrar un recuento de confirmaciones no superadas
- El menú de desbordamiento de la ventana Git Changes (Cambios de Git) ahora está disponible para repositorios solo locales con operaciones de Git adicionales
- Barra de herramientas de diferencias unificadas que contiene el número de líneas agregadas o eliminadas y una opción de configuración reconocible
- Mejoras en los detalles de confirmación, incluida una interfaz de usuario más dinámica y fácil de usar
Menú Ayuda
- Durante la versión 17.0, hemos renovado el menú Ayuda con Introducción material y útiles Sugerencias/trucos.
- Proporciona más colaboración con nuestro equipo de desarrollo mediante la adición de elementos como el acceso a Developer Community, notas de la versión, la hoja de ruta del producto Visual Studio y nuestras páginas de redes sociales.
- Recarga activa ahora está disponible para los desarrolladores de .NET a través del depurador de Visual Studio y sin el depurador para muchos tipos de aplicación de .NET 6
- Recarga activa ahora está disponible para los desarrolladores de C++ al usar Visual Studio Debugger
Para más información, consulte el vínculo anterior.
IntelliCode
- Las finalizaciones de línea completa predicen el siguiente fragmento de código de C# en función del contexto actual y lo presentan como una sugerencia alineada a la derecha del cursor.
- Las finalizaciones de línea completa ahora son compatibles con las compilaciones más nuevas de JetBrains ReSharper. Tenga en cuenta que no se admite la actualización del contexto de finalización de línea basado en la selección de elementos de lista de finalizaciones personalizadas de ReSharpers; si es necesario, los usuarios de ReSharper pueden optar Visual Studio por usar intelliSense nativo en su lugar, como se documenta aquí.
JavaScript/TypeScript
- Hemos publicado un nuevo tipo de proyecto JavaScript/TypeScript que compila proyectos de JavaScript/TypeScript independientes con herramientas adicionales. Podrá crear proyectos de Angular y React en Visual Studio con la versión del marco instalada en el equipo.
- Las pruebas de JavaScript y TypeScript ya están disponibles en el Explorador de pruebas de Visual Studio.
- GUI de NPM disponible, por lo que ahora puede descargar módulos de NPM de la misma manera que descarga paquetes NuGet
SDK de .NET 6
- El SDK de .NET 6 se incluye en Visual Studio 2022
- Con la introducción de la refactorización de parámetros se puede mover un nuevo parámetro de la implementación del método a sus llamadores.
- Track Value Source (Seguimiento de valor de origen) para el análisis del flujo de datos
- Opción de subrayado de las variables que se reasignan
- Se ha agregado la opción de búsqueda en el cuadro de diálogo Generar invalidaciones
- La información rápida de las etiquetas XML <code> ahora conserva los espacios en blanco y los bloques CDATA
- La ventana Buscar todas las referencias ahora agrupará los proyectos de varios destinos
- Refactorización para quitar tipos repetitivos en Visual Basic
- Ir a implementación ya no llevará a los miembros con declaraciones abstractas, que también se invalidan.
- Sincronización de espacios de nombres para que coincidan con la estructura de carpetas del Explorador de soluciones
- Configuración del análisis de código en segundo plano desde el Explorador de soluciones
- Ahora la opción de tipos de referencia que aceptan valores NULL está habilitada de forma predeterminada para los nuevos proyectos de .NET
- Refactorización del espacio de nombres con ámbito de archivo de C# 10.0
- La opción Navigate to decompiled sources (Navegar a orígenes descompilados) ahora está activada de manera predeterminada
- Refactorización para preferir la comprobación de valores NULL sobre la comprobación de tipos
- Los comentarios XML ahora generarán automáticamente una etiqueta
<exception>cuando un método inicie excepciones explícitamente - Ahora la opción Inheritance Margin (Margen de herencia) está habilitada de forma predeterminada
- C# 10
Editor de Razor (ASP.NET Core)
- Se han reducido las inmovilzaciones de la interfaz de usuario y se ha mejorado el rendimiento en el inicio de la solución
- Coloración semántica más rápida hasta el doble en algunas soluciones
- Compatibilidad con F7 (ver código) en archivos de Razor
- Compatibilidad con fragmentos de código en archivos de Razor, por lo que se puede completar una sesión de fragmento de código pulsando una única vez el tabulador, en lugar de tener que hacerlo dos veces
- Mejor formato en bloques de @code cuando hay componentes de Razor y HTML anidados
- Compatibilidad con Recarga activa en archivos de Razor
- Mejoras en el rendimiento
- Mejoras de formato y sangría
- Nuevos colores del editor de Razor
- Los elementos TagHelper ahora están coloreados y tienen compatibilidad con la clasificación de información rápida e informaciones sobre herramientas de finalización
- Resaltado de llave angular y navegación para construcciones de Razor
- Los comentarios ahora tienen finalización automática, sangría inteligente, inclusión automática de continuaciones de comentarios y navegación por comentarios en bloque
- Versión preliminar experimental muy temprana de la habilitación de ejecución de pruebas en entornos remotos, como contenedores Linux, WSL y a través de conexiones SSH.
Compatibilidad con herramientas de prueba
- Mostrar en el Explorador de pruebas
- Las versiones nuevas de la plataforma de pruebas, a partir de la versión 17.0, no podrán ejecutar pruebas genéricas ni pruebas por orden. Estas características específicas solo se incluían como parte de una versión anterior de MSTestv1 y no están en MSTestv2. Se observa muy poco uso de estas características y las pruebas por orden ahora se consideran contrarias a los procedimientos recomendados de pruebas.
- Algunas experiencias de prueba no estarán disponibles en la versión 17.0, incluida la creación de nuevos archivos TestSettings y el editor TestSettings. Las series de pruebas seguirán siendo capaces de usar archivos TestSettings, pero TestSettings se ha reemplazado por RunSettings, y animamos a los usuarios a migrar una función y un rendimiento mejorados. Más información.
- Las pruebas de carga web y las pruebas de IU codificadas admiten actualizaciones. Pruebas de IU codificadas y [pruebas de carga web](fin del ciclo de vida del servicio de pruebas de carga basadas en la nube | Azure DevOps blog (microsoft.com) quedaron oficialmente en desuso en 2019. Para minimizar el impacto en los usuarios, hay compatibilidad mínima con estas características en Visual Studio 2022. Se recomienda encarecidamente a los usuarios que se muevan de la prueba de IU codificada y la prueba de carga web.
Rellenado del cuadro de herramientas para los SDK de extensión de UWP
- Ahora es necesario que los SDK de extensión de UWP declaren explícitamente los tipos que quieren que aparezcan en el cuadro de herramientas; para ello, deben enumerarlos en el archivo SdkManifest.xml. El comportamiento de las versiones anteriores de Visual Studio no cambia; omitirán la lista de controles del manifiesto y, en su lugar, enumerarán de forma dinámica los tipos de control en los ensamblados del SDK.
- Hemos renovado la funcionalidad "Configuración de confianza" y ahora podemos mostrar una advertencia cada vez que código que no sea de confianza (por ejemplo, archivos, proyectos o carpetas) esté a punto de abrirse dentro del IDE.
- Las comprobaciones de confianza se realizan ahora en el nivel de carpeta de la solución
- Los proyectos creados por el usuario se agregan automáticamente a la lista de confianza
- Los usuarios pueden omitir las comprobaciones de confianza en ubicaciones temporales creadas por Visual Studio
Actualizaciones, LTSC e implementación
- Con Visual Studio 2022, habrá varias líneas de base de servicio admitidas simultáneamente que se liberarán en el período de caída y en la primavera. Para obtener más información, consulte la documentación Visual Studio ritmo de la versión y el Visual Studio del producto de 2022.
- El nuevo instalador que se incluye con Visual Studio 2022 ahora tiene la capacidad de configurar de dónde debe obtenerse el producto Visual Studio sus actualizaciones. Esto le permite elegir actualizaciones de una LTSC diferente o, si se encuentra en un entorno empresarial administrado, puede configurar el cliente para obtener sus actualizaciones desde un diseño. La capacidad de configurar el origen para las actualizaciones es una nueva funcionalidad que se incluye con el Instalador de Visual Studio y, por tanto, el comportamiento también es aplicable a las versiones de nivel inferior de Visual Studio, como Visual Studio 2019. Para obtener información adicional sobre cómo configurar el canal de actualización, consulte la documentación de actualización Visual Studio actualización. Para obtener información adicional sobre cómo hacer que esto funcione para los diseños de red, consulte la guía Visual Studio administradores de red.
- Los administradores de TI ahora pueden notificar problemas sin tener Visual Studio instalado.
- Los iconos predeterminados se han actualizado.
Herramientas Web
- La página de resumen Publicar ahora tiene acciones para iniciar o detener la depuración remota y la generación de perfiles en el menú "...". de la esquina superior derecha de la sección "Hospedaje".
- La página Servicios conectados ahora tiene una acción para iniciar Explorador de Storage.
- La plantilla "Vacío de ASP.NET Core" que se incluye con .NET 6 usa el paradigma nuevo de "API mínimas", para el que hemos empezado a agregar compatibilidad.
- Azurite se usará para la emulación local de Azure Storage en lugar de la anterior y ya no se desarrollará activamente Azure Storage Emulator.
- Puede agregar autenticación a la aplicación ASP.NET Core mediante Plataforma de identidad de Microsoft la experiencia Servicios conectados de Visual Studio.
Wpf Diseñador XAML para .NET Framework
- El Diseñador XAML de WPF actual para .NET Framework se reemplaza por otro nuevo, basado en la misma arquitectura usada para el Diseñador XAML de WPF para .NET (.NET Core). La experiencia de Visual Studio será la misma, pero los proveedores de control de terceros deben admitir el modelo nuevo de extensibilidad, ya que el modelo anterior basado en
.design.dllyMicrosoft.Windows.Design.Extensibilityestá en desuso. Si ya ha creado una extensión.designtools.dllpara .NET (.NET Core), esa misma extensión funcionará en el nuevo Diseñador XAML de WPF para .NET Framework. Consulte el documento sobre migración siguiente para obtener más información sobre cómo migrar al modelo de extensibilidad nuevo.
- Cambios en Recarga activa de XAML: cambios menores en la configuración y la barra de herramientas en la aplicación
- La versión preliminar en directo de XAML ya está disponible para los desarrolladores de WPF, UWP, WinUI y Xamarin.Forms que ejecutan sus aplicaciones en Android Emulator o como una aplicación de escritorio para UWP. Live Preview captura una interfaz de usuario de aplicaciones en ejecución y la incluye en una ventana acoplada dentro Visual Studio. Esto facilita el uso de Recarga activa de XAML para cambiar la aplicación mientras se ven esos cambios dentro del propio Visual Studio, sin necesidad de tabular entre la aplicación en ejecución y Visual Studio mientras se hacen cambios en el código XAML en directo.
Para más información, haga clic en el vínculo anterior.
Datos de ejemplo XAML
- Ahora se agregarán datos de ejemplo de tiempo de diseño de forma predeterminada al crear controles DataGrid, ListBox y ListView desde el cuadro de herramientas en aplicaciones WPF. Para deshabilitar este comportamiento, desactive "Automatically add sample data on element creation" (Agregar automáticamente datos de ejemplo al crear elementos) en Herramientas > Opciones > Diseñador XAML.
- Para obtener más información sobre los datos de ejemplo, consulte la documentación de datos de ejemplo.
Experiencia de enlace XAML mejorada
- Hemos realizado una serie de mejoras para que el enlace de datos sea rápido y sencillo, como el acceso rápido al cuadro de diálogo Enlace de datos desde el Inspector de propiedad, la capacidad de establecer el enlace desde Acciones rápidas, la capacidad de elegir la propiedad a la que enlazar dentro del cuadro de diálogo Enlace de datos.
Para más información, haga clic en el vínculo anterior.
Problemas conocidos
Desarrollo móvil con .NET
- Error de implementación de Xamarin iOS después de la actualización de iOS 15
- Android Designer excepción en el subproceso "main" java.lang.NullPointerException
- Se produce un error en la implementación de iOS en VS 2022
- Administrador de dispositivos Android no tiene ningún dispositivo base disponible
- Aplicación iOS "No se pudo instalar" en el simulador remoto
- Las páginas de propiedades Project iOS tradicionales no pueden abrir "Excepción de referencia nula de objeto"
- No se pudo crear un archivo para Xamarin iOS
- Error al implementar en un iPhone, Error MT1001: No se encontró una aplicación en el directorio especificado
Herramientas de Python
- Python Profiler no se puede iniciar porque aún no se ha agregado la característica
- Al elegir "Python (más reciente)" al crear un entorno de Conda se muestra "Versión 0.0 de Python".
- El formateador genera errores con "black" y "autopep8" con "Modo de revisión no válido" ' en: No hay nueva línea al final del archivo. Una solución rápida es agregar una nueva línea al final del archivo y "black" y "autopep8" se formatearán correctamente
- Los comandos del proyecto web de Django (migrar, crear, comprobar, etc.) se encuentran actualmente en un error
- Las finalizaciones de Django en archivos HTML no funcionan
- El modo interactivo de IPython no funciona en Python 3.9
- Incluso si un módulo se ha instalado correctamente, se mostrará una advertencia en la salida. Un trabajo rápido es cerrar y volver a abrir la solución de VS
IntelliSense para C++
Detalles de las novedades de esta versión de Visual Studio 2022, versión 17.0.0
Depuración y diagnóstico
- Mejoras en el cuadro de diálogo Asociar al proceso
- Nueva vista de lista de procesos primarios y secundarios a través del botón de alternancia en la parte inferior de la ventana:
- La selección de la vista debería conservarse.
- La pulsación izquierda en el teclado lleva al proceso primario en la vista de elementos primarios y secundarios.
- Todas las columnas deben poder ordenarse como la vista original.
- La columna Nueva línea de comandos está disponible en ambas vistas.
- El nombre del grupo de aplicaciones se muestra en la "columna Título" de los procesos w3wp

- Se ha agregado un controlador de excepciones en el bloque catch. Se mostrará el controlador de excepciones con la información de excepción pertinente cuando un paso administrado provoque una excepción y el paso se complete en un bloque catch.
- Un nuevo botón "continuar", que muestra el controlador de excepciones en las excepciones "detectadas".

- Se ha agregado una opción Force run to click (Forzar ejecución hasta hacer clic) que ejecutará el depurador hasta que se alcance la posición del cursor seleccionada mientras se ignoran todos los puntos de interrupción en medio.
- Para usar esta opción, haga clic en "Force Run to Click" (Forzar ejecución hasta hacer clic) en el menú contextual de la línea de código deseada.

- Cuando la aplicación está en modo de depuración, también puede ejecutar "Force Run to Click" (Forzar ejecución hasta hacer clic) haciendo clic en el glifo verde que aparece junto a una línea de código cuando se desplaza el mouse mientras se mantiene presionada la tecla MAYÚS.

- Análisis de diagnóstico de volcado de memoria
- Hemos mejorado el motor del analizador para encontrar más problemas de sincrónico sobre asincrónico en los volcados de memoria de ASP.NET Core.
- Para averiguar qué partes del código consumen la mayoría de los recursos de CPU, revise los cinco subprocesos principales por tiempo de CPU.
- Revise todo el montón administrado para ver si hay signos de presión de memoria en las generaciones 0, 1, 2 y el montón de objetos grandes.
- Si tiene un volcado de memoria, puede encontrar rápidamente la excepción y el subproceso de segunda oportunidad que hicieron que la aplicación se bloqueara.
- ¿Tiene dificultades para formular una hipótesis de diagnóstico? Cuando la causa exacta de un bloqueo no se conoce bien, puede usar el analizador de excepciones para buscar y revisar rápidamente todas las excepciones del montón.
- Para aquellos momentos en los que el análisis de memoria es importante, hemos mejorado la heurística del analizador de cola del finalizador. Ahora nos centramos en el código y excluimos los objetos administrados por .NET Framework.
Punto de interrupción dependiente
Se trata de un nuevo punto de interrupción que permite al usuario configurar un punto de interrupción para que se habilite solo si primero se alcanza otro punto de interrupción. Al realizar la depuración, el depurador de Visual Studio solo pausará la aplicación en el punto de interrupción Dependiente si se ha alcanzado el punto de interrupción de requisito previo. Puede convertir cualquier punto de interrupción en Dependiente si activa la casilla "Only enable when following breakpoint is hit" (Habilitar solo cuando se llegue al punto de interrupción siguiente) en la ventana de configuración y selecciona en la lista desplegable el punto de interrupción de requisito previo en el que quiera configurar el punto de interrupción dependiente.

Mejoras en el medianil del punto de interrupción
Se ha agregado un nuevo glifo de punto de interrupción para indicar la ubicación en la que el usuario puede establecer un punto de interrupción.

Al hacer clic con el botón derecho en ese glifo de punto de interrupción, se mostrará un nuevo menú contextual con opciones que proporciona una manera rápida de crear puntos de interrupción avanzados (punto de interrupción condicional, punto de seguimiento y punto de interrupción temporal) en menos clics.

Punto de interrupción temporal
Se trata de un nuevo punto de interrupción que permite al usuario interrumpir el código una sola vez. Al depurar, el depurador de Visual Studio solo pausará el entorno de ejecución de la aplicación una vez para este punto de interrupción y lo quitará inmediatamente después de que se haya alcanzado. Puede convertir cualquier punto de interrupción en un punto de interrupción temporal si habilita la casilla "Remove breakpoint once hit" (Eliminar punto de interrupción una vez alcanzado) en la ventana de configuración. Como alternativa, puede usar el nuevo menú contextual de clic con el botón derecho desde el medianil del punto de interrupción para establecer este punto de interrupción.

Arrastre y colocación del punto de interrupción
Hemos agregado el gesto de arrastrar y colocar para los puntos de interrupción. Ahora puede mantener el punto de interrupción y liberarlo en la línea de código deseada para mover el punto de interrupción de una ubicación a otra. Funciona para nuestro punto de interrupción avanzado siempre y cuando las variables de acción o condición estén dentro del contexto.

Nodo de orígenes externos en el Explorador de soluciones
Se ha agregado un nuevo nodo "External Sources" (Orígenes externos) en el Explorador de soluciones. Actualmente, esto solo aparecerá durante la depuración y mostrará los orígenes de los módulos administrados con símbolos cargados que contienen información del servidor de origen o del vínculo de origen.
Durante la depuración, cualquier archivo de símbolos administrado y cargado (.pdb) que tenga información del servidor de origen presente aparecerá en este nodo. Puede examinar archivos como cualquier otra carpeta del Explorador de soluciones o hacer doble clic en un elemento para descargar el archivo desde el servidor de origen y abrirlo en el editor de VS.

Mejoras en el cuadro de diálogo Asociar al proceso
Se ha agregado una nueva casilla de actualización automática en el cuadro de diálogo Asociar al proceso , para que cuando haya una comprobación se actualice la lista de procesos automáticamente con los procesos disponibles. La nueva opción "Select any window from desktop" (Seleccionar cualquier ventana del escritorio) del cuadro de diálogo Asociar al proceso permite al usuario elegir cualquier ventana en ejecución del escritorio y asociarla a su proceso asociado para la depuración.

Análisis de diagnóstico de volcado de memoria
Buscar los marcos de llamada raíz cuando se produce una excepción de desbordamiento de pila puede ser difícil y lento. Nuestros analizadores más recientes presentan una vista cómoda de la pila de llamadas y elimina los marcos repetitivos y ruidosos para un análisis de problemas más rápido.
Personalización
Convertir VS Code temas en Visual Studio temas
Hemos creado una herramienta de convertidor de temas que puede convertir VS Code temas para que funcionen en Visual Studio. Pruébelo aquí.
Nuevo paquete Visual Studio tema
Los temas VS Code predeterminados ahora están disponibles como un paquete Visual Studio tema. Echa un vistazo al paquete de temas aquí.
Sincronizar tema con Windows sistema operativo
Hemos agregado la capacidad de sincronizar el tema de Visual Studio con el tema de Windows, para que el tema se pueda ajustar en función de la cantidad de luz ambiente disponible. Para habilitarlo, vaya a Herramientas > tema > Usar configuración del sistema.
Pestañas de color
Para habilitar las pestañas de color, vaya a Herramientas > opciones > pestañas & Windows y habilite Pestañas de color.

Editor
Navegación por subpalabra
Con Ctrl+Alt+Flecha izquierda y Ctrl+Alt+Flecha derecha se desplazará por subpalabra. Por ejemplo, la cadena "HolaMundo" identifica "Hola" y "Mundo" como subpalabras. La habilitación de Subword navigation (Navegación por subpalabra) en Herramientas > Opciones > Editor de texto > General hará que los comandos relacionados con palabras (por ejemplo, TransposeWord) interactúen con subpalabras.
Autoguardado
Autoguardado ahora está disponible en Herramientas > Opciones > Entorno > Características en versión preliminar. Si está habilitada, cuando la aplicación de Visual Studio pierde el foco (por ejemplo, otra ventana obtiene el foco), todos los documentos sucios se guardarán en el disco, si es posible. Si no se puede guardar un archivo, permanecerá sucio hasta que el usuario lo guarde explícitamente (con los comandos Guardar o Guardar como...).
Experiencia de copiado/pegado de varios símbolos de inserción
Se ha mejorado la experiencia de copiado y pegado de varios símbolos de inserción. Anteriormente, al pegar varias líneas en varios símbolos de inserción, todo el Portapapeles se duplicaba en cada uno de ellos. Ahora, al pegar varias líneas en el mismo número de símbolos de inserción, cada línea se insertará en un símbolo de inserción correspondiente. Para usar la opción de varios símbolos de inserción, presione Alt+Mayús+ clic del mouse o Alt+Mayús+ . y use Ctrl+Mayús+ tecla de flecha para expandir las selecciones. A continuación, presione Ctrl+C para copiar el texto en varias selecciones. Use Alt+Mayús+ clic del mouse para crear varios símbolos de inserción para cada línea que quiera pegar en las ubicaciones deseadas. Por último, presione Ctrl+V para pegar cada línea en su propio símbolo de inserción.

Además, puede usar Alt+Mayús+ tecla de flecha arriba o abajo o Alt+Mayús+ arrastrar el mouse para seleccionar con varios símbolos de inserción. Anteriormente, estos gestos creaban la selección del cuadro. Ahora, la selección del cuadro se transforma en varios símbolos de inserción. Este método es más fácil y rápido que tener que hacer clic en ubicaciones precisas para insertar los símbolos de inserción individuales. Si prefiere seguir usando la selección del cuadro con Alt+Mayús+ teclas de flecha y Alt+Mayús+ arrastrar el mouse, cuando expanda la selección de varios símbolos de inserción, vaya a Herramientas > Opciones > Editor de texto > Avanzado y seleccione Use box selection (Usar selección de cuadro).

Extensibilidad
Microsoft.VisualStudio.LanguageServer.Client presenta una nueva manera de personalizar las notificaciones cuando un cliente de lenguaje no se puede inicializar.
Ahora, el Centro de estado de tareas (TSC) realizará el seguimiento de la tarea de inicialización. Si se produce un error en la tarea de inicialización, los usuarios pueden ir al TSC para obtener más información sobre el error. Los clientes de lenguaje ahora podrán personalizar el mensaje que se muestra al usuario, proporcionando información sobre lo que representa este error para ellos y las acciones que se pueden realizar para corregirlo. Para ello, presentamos un nuevo conjunto de API en la interfaz ILanguageClient. Estas nuevas API provocarían un cambio importante en la interfaz ILanguageClient, por lo que las extensiones de lenguaje tendrán que hacer referencia al nuevo paquete para que funcionen en Visual Studio 2022.
Estas son las nuevas API:
- Propiedad ShowNotificationOnInitializeFailed: propiedad booleana que determinará si el servidor de lenguaje quiere que se muestre una burbuja para notificar al usuario el error de esta forma:

Se recomienda establecer esta propiedad en true solo si el error afecta drásticamente a la experiencia del usuario para el proyecto en el que está trabajando actualmente.
- Método OnServerInitializedFailedAsync: este método se invocará cuando se produce un error en la inicialización del cliente de lenguaje. Se proporcionará un objeto LanguageClientInitializationInfoBase con información sobre cómo se produjo el error para que el cliente de lenguaje pueda notificar el error al usuario por su cuenta o proporcionar un mensaje personalizado con el contexto del error. Si se proporciona el mensaje, se mostrará en la Ventana de salida de Visual Studio.

JavaScript/TypeScript
Ahora hay compatibilidad con un nuevo tipo de proyecto JavaScript/TypeScript que permite crear proyectos Angular, React y Vue independientes en Visual Studio. Los proyectos se crearán mediante las herramientas de la CLI del marco que ha instalado en el equipo local. Esto también significa que la versión de la plantilla se basa en las versiones de la CLI que tiene en el equipo local.
Dentro de estos nuevos proyectos, podrá ejecutar pruebas unitarias e integrarlas con proyectos de API de ASP.NET Core. Puede encontrar documentación aquí
- Hemos publicado un nuevo tipo de proyecto JavaScript/TypeScript que compila proyectos de JavaScript/TypeScript independientes con herramientas adicionales. Aquí encontrará más información al respecto
- La GUI de NPM está disponible, por lo que ahora puede descargar módulos NPM de la misma manera que descarga paquetes NuGet en los nuevos proyectos de JavaScript o TypeScript

Recarga activa experiencia para desarrolladores de .NET & C++
A principios de esteaño anunciamos .NET Recarga activa , un proyecto Recarga activa a tantos desarrolladores de .NET como sea posible. Iniciamos este recorrido con una primera versión preliminar disponible en Visual Studio 2019 y nos hemos comprometido a llegar mucho más en Visual Studio 2022, donde se enviaría toda la experiencia. Hoy me complace compartir los detalles de lo que hemos completado en Visual Studio versión general de 2022.
Para cualquier persona que no Recarga activa, esta es una introducción rápida. La Recarga activa en Visual Studio funciona tanto para aplicaciones .NET administradas como para aplicaciones nativas de C++. Independientemente del tipo de aplicación en la que esté trabajando, nuestro objetivo con Recarga activa es ahorrar tantos reinicios de aplicaciones entre ediciones como sea posible, lo que le hace más productivo al reducir el tiempo que pasa esperando a que las aplicaciones se recompilen, reinicien, vuelvan a navegar a la ubicación anterior donde estaba en la propia aplicación, etc.
Para ello, le permite editar los archivos de código de las aplicaciones y aplicar esos cambios de código inmediatamente a la aplicación en ejecución, también conocida como "Recarga activa". Una vez aplicados esos cambios, simplemente vuelva a ejecutar el código mediante una acción en la propia aplicación (o a través de algún tipo de temporizador, etc.) y vea los cambios inmediatamente, sin pausar la aplicación a través de los puntos de interrupción necesarios.
Si desea ver algunas demostraciones en directo de esta característica, puede consultar uno de estos vídeos:
- ASP.NET Community standup (8 de junio de 2021)
- Configuración de Community escritorio de .NET (23 de septiembre de 2021)
Recarga activa experiencia del usuario en Visual Studio
La Recarga activa para desarrolladores de .NET y C++ en Visual Studio 2022 también ha experimentado mejoras importantes. La barra de herramientas ahora tiene la implementación de destino del botón "Recarga activa" con una apariencia mejorada y más funcionalidad.
Lo primero que observará es el nuevo botón de estilo desplegable con un icono nuevo. Se cambia el nombre del comando de "aplicar cambios de código" (desde las primeras versiones preliminares) a "Recarga activa".

La expansión de los botones revela un acceso rápido a características como reiniciar aplicaciones en ejecución, un botón de alternancia de Recarga activa al guardar y acceso rápido al nuevo panel de configuración.
Estos son más detalles sobre cada una de las nuevas características:
- Reinicie las aplicaciones fácilmente: Ahora puede reiniciar fácilmente la aplicación en ejecución si es necesario aplicar una edición sin problemas a través de una recompilación, independientemente de si inició la aplicación con el depurador o si la inició sin el depurador (¡NUEVO para aplicaciones de .NET 6!).
- Recarga activa en Guardar: En versiones preliminares anteriores, solo podía aplicar Recarga activa cambios al guardar en proyectos de ASP.NET, para todos los demás proyectos, tenía que hacer clic explícitamente en el Recarga activa. En la versión final, ahora es posible Recarga activa la clave de guardado para cualquier tipo de proyecto. Esta opción es opcional, pero una vez habilitada se aplicará a todas las sesiones de Visual Studio a menos que la desactive.
- Acceso Configuración fácil: se ha agregado un panel Recarga activa opciones para ofrecer más control cuando Recarga activa está habilitado o deshabilitado. Puede acceder a esta configuración en Visual Studio "Opciones > Recarga activa de .NET / C++", o bien desde el menú desplegable de los botones Recarga activa si hace clic en Configuración.
También se ha agregado un cuadro de diálogo de edición mejorado que está disponible al ejecutar la aplicación .NET sin el depurador.

Este nuevo cuadro de diálogo tiene varias mejoras, como:
- Una Visual Studio de sesión completa para volver a generar y aplicar cambios en cada Recarga activa editar. Una vez activada, esto se aplica a todas las modificaciones futuras hasta Visual Studio se reinicia.
- Un comando de recompilación y aplicación de cambios de código que se puede realizar con un solo clic, en lugar de varios pasos manuales.
- Y fácil acceso a la configuración
El cuadro de diálogo también le permite seguir editando si no desea realizar ninguna acción automatizada como antes.
Hay una limitación conocida: este nuevo cuadro de diálogo no estará disponible en la versión de disponibilidad general al usar el depurador, pero el trabajo para que esté disponible en este escenario se completará en una actualización futura.
Compatibilidad con C++
Al usar Visual Studio 2022 e iniciar la aplicación con el depurador, ahora es posible Recarga activa una aplicación nativa de C++ cuando se ejecuta en el depurador (F5) mediante el botón "Recarga activa". Recarga activa también se admite para aplicaciones creadas con proyectos de CMake y OpenFolder.
Esta experiencia está respaldada por la tecnología nativa Editar y continuar. Para ver las ediciones admitidas, consulte nuestra documentación.
Escenarios de & .NET App Framework admitidos
Desde que anunciamos Recarga activa en mayo de 2021, una pregunta muy común de los desarrolladores de .NET ha sido "¿funcionará Recarga activa con mi combinación de versión o marco de aplicaciones .NET?". Hemos realizado un gran progreso para dar la respuesta SÍ en la mayoría de las situaciones, estos son los aspectos destacados.
- Al usar Visual Studio 2022 e iniciar la aplicación con el depurador, la experiencia básica de Recarga activa funciona con la mayoría de los tipos de aplicaciones .NET y versiones de marco, esto incluye .NET Framework, .NET Core y .NET 5+ (para C# y VB.NET, según corresponda). El tipo de aplicaciones que se admiten incluyen web (cambios de código subyacente), escritorio, móvil, nube y otros tipos de proyecto. La regla clave aquí es si usa el depurador, suponga Recarga activa está disponible para usted y pruébalo.
- Cuando se usa Visual Studio 2022 pero no se usa el depurador (por ejemplo, mediante CTRL-F5 para iniciar la aplicación), Recarga activa ahora está disponible incluso sin el depurador al dirigirse a la mayoría de los tipos de aplicaciones de .NET 6. Esto significa que las aplicaciones que no tienen como destino .NET 6 (.NET 5 o una versión inferior) no admitirán el escenario "sin depurador" y deben usar el depurador para obtener Recarga activa compatibilidad.
- Al usar Visual Studio 2022 con una aplicación de .NET 6, se admite la mayoría de los tipos de escenarios. Esto no se limita a la nueva característica "sin depurador" mencionada anteriormente. También incluye otras nuevas funcionalidades, como la compatibilidad con proyectos de Blazor de recarga en caliente y, por lo general, la edición de archivos de Razor en cualquier aplicación ASP.NET Core y css Recarga activa. El uso de Visual Studio 2022 y las aplicaciones que tienen como destino .NET 6 juntos le ofrecerán definitivamente la experiencia de Recarga activa más eficaz y esperamos que la pruebe.
A continuación, ampliaremos el resumen anterior y profundizaremos en más detalles.
Visual Studio 2022 con una aplicación .NET al usar el depurador
Al usar Visual Studio 2022 e iniciar la aplicación con el depurador, Recarga activa funciona con la mayoría de los marcos de trabajo de la aplicación, incluidos los tipos de aplicación típicos como Console, Windows Forms (WinForms), WPF, UWP, WinUI 3* y la mayoría de los tipos de proyectos web de ASP.NET (para las ediciones de código subyacente), incluidos ASP.NET MVC, API web e incluso versiones anteriores Web Forms Proyectos. Esta lista también es solo un ejemplo. La respuesta real es en cualquier lugar donde tenga .NET y use el depurador administrado Visual Studio, debe obtener compatibilidad básica Recarga activa.
Esto significa que incluso los proyectos como Azure Functions funcionarán muy bien en este escenario. Le recomendamos que pruebe su combinación y nos haga saber si encuentra algún problema.
*WinUI 3 usa de forma predeterminada la depuración en modo mixto que no admite Recarga activa. Puede modificarlo en la configuración del proyecto habilitando Managed Debugger, lo que permitirá que Recarga activa funcione correctamente.
Al usar Visual Studio 2022 con una aplicación .NET, pero no con el depurador
Recarga activa ahora está disponible sin el depurador al dirigirse a la mayoría de los tipos de aplicaciones de .NET 6, incluidos los tipos de proyecto como Console, WPF, Windows Forms (WinForms), ASP.NET Core MVC, Web API y Blazor. Sabemos que algunos desarrolladores tienen una buena razón o preferencia para iniciar sus aplicaciones sin el depurador y esperamos que esta característica adicional les dé valor para poco o ningún impacto en el tiempo de inicio.
Esta característica es exclusiva de .NET 6+ y las aplicaciones que no tienen como destino .NET 6 (.NET 5 o inferior) no admitirán el escenario "sin depurador" y deben usar el depurador para obtener acceso a la funcionalidad Recarga activa.
Tenga en cuenta también que no todos los tipos de proyecto se admiten para el escenario "sin depurador" en la primera versión. Concretamente:
- Las aplicaciones para UWP no se admiten Recarga activa sin el depurador, esto es así por diseño y no hay ningún plan actual para mejorar esto.
- Las aplicaciones de Xamarin.Forms destinadas a iOS & Android no admiten .NET Recarga activa (independientemente de si va a iniciar la aplicación con o sin el depurador), pero seguirán siendo compatibles con Recarga activa de XAML
- .NET MAUI aplicaciones en el futuro inmediato no admitirán el escenario sin depurador, pero admitirán .NET Recarga activa a través del depurador
Al usar Visual Studio 2022 con una aplicación .NET 6, se admite la mayoría de los escenarios
Los desarrolladores que puedan usar Visual Studio 2022 y trabajen en aplicaciones destinadas a .NET 6 tendrán las ventajas de la experiencia de Recarga activa más Recarga activa.
Aspectos destacados de lo que se admite:
- Aplicaciones Blazor (Server y WebAssembly*)
- Edición de archivos de Razor tanto en Blazor como en sitios web ASP.NET Core normales
- Recarga activa de CSS
- Capacidad de obtener Recarga activa al ejecutar aplicaciones sin el depurador (como se describió anteriormente con más detalle)
Los desarrolladores que tienen como destino .NET 6 seguirán recibiendo más mejoras en futuras actualizaciones de Visual Studio 2022 y la banda de características de .NET y versiones principales. ¡Estamos empezando!
*En Visual Studio versión 2022 GA Recarga activa compatibilidad con WebAssembly de Blazor cuando se usa el depurador de Visual Studio aún no está habilitado. Todavía puede obtener Recarga activa Si inicia la aplicación a través de Visual Studio sin el depurador, y estamos trabajando para resolverlo en una futura actualización Visual Studio.
Servidores de ASP.NET Core admitidos
La experiencia Recarga activa básica ahora es ampliamente compatible con muchos ASP.NET escenarios. La característica más ampliamente disponible es la capacidad de cambiar el código subyacente y otros archivos de clase .NET para la mayoría de los tipos de aplicaciones web. Esta característica funciona al usar el depurador de Visual Studio y está presente en cualquier lugar en el que Editar y continuar estaba disponible anteriormente.
Para los ASP.NET Core que tienen como destino .NET 6 hay funcionalidades adicionales no disponibles para versiones inferiores de .NET, lo que incluye mejoras como:
- CSHTML: La edición de un archivo CSHTML de Razor ahora admite muchos tipos de ediciones.
- Actualización del explorador: la edición de un archivo Razor ahora actualizará automáticamente los cambios en el explorador web al realizar la depuración. Anteriormente solo estaba disponible al iniciar la aplicación sin el depurador.
- Css Recarga activa: Ahora es posible cambiar los archivos CSS mientras se ejecuta la aplicación y los cambios se aplicarán inmediatamente a la aplicación en ejecución a medida que escriba.
- Sin depurador: Ahora recibirá soporte técnico Recarga activa al usar Visual Studio iniciar la aplicación web sin el depurador (CTRL-F5).
Nota: Cuando se trabaja en una aplicación Blazor Wasm y se usa Visual Studio 2022 (17.0), Recarga activa para páginas de Razor solo funciona al iniciar aplicaciones sin el depurador. Agregaremos compatibilidad con el depurador en una actualización futura.
Ediciones de .NET admitidas
La experiencia Recarga activa .NET cuenta con la tecnología del mecanismo Editar y continuar y hemos realizado mejoras para admitir tipos adicionales de ediciones que van más allá de lo que era posible originalmente en versiones anteriores. Estas mejoras incluyen:
- Adición, actualización o eliminación de atributos personalizados
- Adición o actualización de estructuras de registros
- Adición o actualización de directivas #line
- Edición de expresiones Switch
- Edición de archivos con directivas #line, incluidos los cambios en la propia directiva
- Edición de instrucciones de nivel superior
- Edición de código que usa cualquiera de las nuevas características de C# 10, como directivas using globales, espacios de nombres con ámbito de archivo, lambdas mejoradas y constructores de struct sin parámetros
- Cambio de nombre de parámetros lambda
- Cambio de nombre de los parámetros de los métodos existentes
Las mejoras anteriores están disponibles tanto para Recarga activa como para las experiencias Editar y Continuar.
Actualizaciones adicionales
- Recarga activa y Editar y continuar con varios procesos: Ahora es posible usar de forma confiable las experiencias Recarga activa y Editar y continuar cuando se adjuntan a varios procesos. Anteriormente, esta funcionalidad no era totalmente compatible y no siempre funcionaba correctamente; esto ya se ha corregido.
- Mensajes de error o advertencia actualizados: Hemos actualizado muchos mensajes de error o advertencia para que sean más claros cuando los mensajes se aplican tanto a EnC como a Recarga activa. Para ello, los mensajes son más genéricos para que la terminología de edición y continuación no se utilice durante operaciones de Recarga activa
- Pruebas unitarias más rápidas de aplicaciones .NET: Recarga activa tecnología ahora se puede usar como una característica experimental para acelerar las pruebas unitarias al tener como destino .NET 6. Para más información, consulte la sección de pruebas de estas notas de la versión.
Escenarios de .NET no admitidos
Incluso en la versión final, todavía habrá algunos escenarios no admitidos que debe tener en cuenta:
- Las aplicaciones de Xamarin.Forms no admiten los escenarios de Recarga activa de .NET en iOS y Android. Al dirigirte a una aplicación para UWP, Recarga activa algunos problemas. Esto es así de forma intencionada y no esperamos realizar ninguna otra mejora. (Nota: Recarga activa de XAML seguirá estando disponible y compatible con los clientes de Xamarin.Forms en el SDK más reciente).
- .NET MAUI aplicaciones no se admiten en esta versión, para trabajar con .NET MAUI y Recarga activa consulte las notas de la versión de Visual Studio Update 1 Preview 1 de Visual Studio para obtener más información.
- Las aplicaciones creadas con F# o las que tienen como .NET Native no admitirán Recarga activa.
Productividad de .NET
Ahora la refactorización de espacios de nombres de sincronización está disponible en el menú contextual de un proyecto o una carpeta del Explorador de soluciones, lo que permite sincronizar fácilmente los espacios de nombres para que coincidan con la estructura de carpetas.

Ahora la configuración del análisis de código en segundo plano está disponible en el menú contextual del Explorador de soluciones. Haga clic con el botón derecho en el nodo de la solución en el Explorador de soluciones y seleccione Análisis y limpieza de código. Después, seleccione Establecer ámbito del análisis a fin de configurar el ámbito para el análisis de código en segundo plano.
- Ahora hay una refactorización que introduce un parámetro que moverá una expresión de una implementación de método a sus llamadores agregando un nuevo parámetro. Coloque el cursor en la línea que contiene la expresión o resalte la expresión. Presione (Ctrl+.) para activar el menú Quick Actions and Refactorings (Acciones rápidas y refactorizaciones). Seleccione Introduce parameter for (Introducir parámetro para) {0} o Introduce parameter for all occurrences of (Introducir parámetro para todas las repeticiones de) {0} . Ambas opciones tendrán tres opciones de control flotante para (1) insertar la expresión actualizada en todos los sitios de llamada; (2) extraer y crear un nuevo método que devuelva la expresión y agregue un argumento en los sitios de llamada; o (3) crear una sobrecarga del método que contenga la expresión y llame al método original.

- Hay un nuevo comando denominado Track Value Source (Seguimiento de origen de valor) que permite realizar el análisis del flujo de datos para determinar cómo se podrían haber pasado determinados valores en un punto determinado y dónde se podrían pasar. Haga clic con el botón derecho en cualquier miembro determinado y seleccione Track Value Source (Seguimiento de origen de valor) en el menú contextual.

- Se abrirá la ventana Value Tracking (Seguimiento de valores), que le permite analizar los resultados:

- Se ha agregado una opción para subrayar las variables que se reasignan. Esta opción está desactivada de forma predeterminada, por lo que tendrá que activarla en Herramientas > Opciones > Editor de texto > C# o Basic > Opciones avanzadas y seleccionar Underline reassigned variables (Subrayar variables reasignadas).

- Hemos agregado una opción de búsqueda en el cuadro de diálogo Generates Overrides (Generar invalidaciones), que le permite buscar y seleccionar rápidamente miembros para invalidar.

- La información rápida de las etiquetas XML <code> ahora conserva los espacios en blanco y los bloques CDATA. mantenga el cursor sobre el elemento. Información rápida mostrará los estilos admitidos de los comentarios XML encima del código.

- La ventana Buscar todas las referencias ahora agrupará proyectos de varios destinos para ayudar a reducir el ruido visual.

- Ahora hay una refactorización que quita los tipos repetitivos en Visual Basic.
- Ir a implementación ya no llevará a los miembros con declaraciones abstractas, que también se invalidan.
Herramientas del lenguaje de programación C#
En C# 8.0 se han incluido tipos de referencia que admiten un valor NULL, que permiten declarar si se espera un valor NULL. Para usar tipos de referencia que admiten un valor NULL, debe agregar el elemento <Nullable>enable</Nullable> al archivo de proyecto o agregar el elemento #nullable enable pragma a cada archivo de código fuente del proyecto. Para ayudar a simplificar este proceso, ahora se incluye automáticamente el elemento <Nullable>enable</Nullable> para nuevos proyectos de .NET.
En C# 10.0 presentamos un File-scoped namespace (Espacio de nombres con ámbito de archivo) que ofrece la opción de no anidar definiciones de clase dentro de un espacio de nombres. Ahora tenemos una refactorización para convertir un espacio de nombres en un espacio de nombres con ámbito de archivo. Para usar el espacio de nombres con ámbito de archivo, primero debe agregar el elemento <LangVersion>preview</LangVersion> al archivo del proyecto. A continuación, coloque el cursor en un espacio de nombres. Presione (Ctrl+ . ) para activar los menús Acciones rápidas y refactorizaciones. Seleccione Convert to file-scoped namespace (Convertir en espacio de nombres con ámbito de archivo).

Ahora hay una refactorización que prefiere is not null por encima de is object cuando se aplica a los tipos de valores. Para usar esta nueva refactorización, coloque el cursor en una comprobación de tipos. Presione (Ctrl+ . ) para activar los menús Acciones rápidas y refactorizaciones. Seleccione Prefer null check over type check (Preferir comprobación NULL sobre la comprobación de tipo).
Navegación a orígenes descompilados
Ahora la opción Navigate to Decompiled Sources (Navegar a orígenes descompilados) está habilitada de forma predeterminada, lo que le permite navegar a declaraciones de tipos de biblioteca. La opción Navigate to Decompiled Sources (Navegar a orígenes descompilados) está habilitada al invocar Ir a definición en un símbolo de biblioteca en el código fuente y en orígenes descompilados.
Mejoras en el editor
Los comentarios XML ahora generarán automáticamente una etiqueta <exception> dentro de una etiqueta <summary>, lo que le permite agregar una descripción cuando un método produce excepciones explícitamente.
En Visual Studio 2019 se publicó Inheritance Margin (Margen de herencia), que agrega 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. En esta versión, la opción Inheritance Margin (Margen de herencia) está habilitada de forma predeterminada. Para deshabilitar esta opción, vaya a Herramientas > Opciones > Editor de texto > C# o Básico > Avanzado y anule la selección de Enable Inheritance Margin (Habilitar margen de herencia).

Lenguajes de programación
- Estructuras de registros y expresiones
withen estructuras (record struct Point(int X, int Y);,var newPoint = point with { X = 100 };). - Directivas using globales: las directivas
global usingevitan repetir las mismas directivasusingen muchos archivos del programa. - Asignación definitiva mejorada: el análisis de asignación definitiva y nulabilidad controla mejor patrones comunes como
dictionary?.TryGetValue(key, out value) == true. - Cadenas interpoladas constantes: las cadenas interpoladas compuestas por constantes son en sí mismas constantes.
- Patrones de propiedad extendidos: los patrones de propiedad permiten acceder a miembros anidados (
if (e is MethodCallExpression { Method.Name: "MethodName" })). - Registro ToString sellado: un registro puede heredar un registro base con un objeto
ToStringsellado. - Generadores de código fuente incrementales: mejore la experiencia de generación de código fuente en proyectos grandes mediante el desglose de la canalización de generación de código fuente y el almacenamiento en caché de los resultados intermedios.
- Deconstrucciones mixtas: se pueden combinar asignaciones de desconstrucción y declaraciones de desconstrucción (
(existingLocal, var declaredLocal) = expression). - AsyncMethodBuilder de nivel de método: el objeto AsyncMethodBuilder que se usa para compilar un método
asyncse puede invalidar localmente. - Directiva de intervalo #line: permite a los generadores de código fuente, como Razor, el control específico de la asignación de líneas con directivas
#lineque especifican el intervalo de destino (#line (startLine, startChar) - (endLine, endChar) charOffset "fileName"). - Mejoras en expresiones lambda: se permiten atributos y tipos de valor devuelto en las expresiones lambda; las expresiones lambda y los grupos de métodos tienen un tipo de delegado natural (
var f = short () => 1;). - Controladores de cadena interpolada: los tipos de controlador de cadena interpolada permiten aplicar un formato eficaz a las cadenas interpoladas en asignaciones e invocaciones.
- Espacios de nombres con ámbito de archivo: los archivos con un único espacio de nombres no necesitan llaves adicionales ni sangría (
namespace X.Y.Z;). - Constructores de estructuras sin parámetros: admiten constructores sin parámetros e inicializadores de campo de instancia para tipos de estructura.
- CallerArgumentExpression: este atributo permite capturar las expresiones que se pasan a un método como cadenas.
Consulte el estado de la característica de lenguaje de C# y los cambios importantes para obtener más información.
Editor de Razor (ASP.NET Core)
- Ahora hay compatibilidad con Recarga activa en los archivos de Razor.

Hemos realizado mejoras significativas en el rendimiento del editor de Razor.
Hemos mejorado el formato y la sangría, lo que hace que sea más confiable y bastante más rápido.
Hemos agregado nuevos colores de Razor. Estos colores se pueden personalizar en Herramientas > Opciones > Entorno > Fuentes y colores.
Los elementos TagHelper ahora están coloreados y tienen compatibilidad con la clasificación en información rápida y en informaciones sobre herramientas de finalización de IntelliSense.

Hemos mejorado el resaltado de llave angular y la navegación para construcciones de Razor.
Los comentarios ahora tienen finalización automática, sangría inteligente, inclusión automática de continuaciones de comentarios y navegación por comentarios en bloque.
Pruebas remotas de la versión preliminar experimental temprana
Tenemos una versión preliminar experimental muy temprana de la habilitación de ejecución de pruebas en entornos remotos, como contenedores Linux, WSL y a través de conexiones SSH. Aunque se trata de una funcionalidad muy valiosa, le pedimos paciencia, ya que esta característica todavía está en una etapa experimental muy temprana mientras recopilamos comentarios. Es posible que no experimente la fluidez que normalmente obtiene, ya que, como puede imaginar, hay una gran cantidad de escenarios en cuanto a la forma en que podemos comunicar y administrar un entorno conectado desde Visual Studio. Estos son algunos requisitos para usar esta versión experimental de pruebas remotas:
- Debe instalar las dependencias necesarias en el entorno de destino. Esto significa que, si quiere que las pruebas destinadas a .NET 3.1 se ejecuten en un contenedor de Linux, debe asegurarse de que el contenedor tenga instalado .NET 3.1 a través del Dockerfile. Algún día nos gustaría crear una experiencia de instalación que permita la adquisición fácil de cualquiera de las dependencias de prueba, pero, por ahora, estamos dejando la mayor parte del aprovisionamiento del entorno a la especificación del usuario.
- Planee la supervisión del estado de conexión al entorno remoto a través del panel Salida > Pruebas. Por ejemplo, si el contenedor se detuvo, aparecerá un mensaje en el panel Salida > Pruebas. Es posible que no detectemos todos los escenarios, así que compruebe la salida si parece que la conexión se ha perdido. En concreto, si el panel Salida no está establecido en "Prueba", es posible que no vea inmediatamente el mensaje. Todavía estamos experimentando con el modelo de notificación mejor cuando se pierden las conexiones, por lo que agradecemos sus comentarios. Si parece que la conexión se ha perdido, puede usar la lista desplegable de entornos de pruebas remotas en el Explorador de pruebas para volver a establecer la conexión con el entorno local y, luego, seleccionar de nuevo el entorno remoto para volver a iniciar la conexión.
- Por ahora, la versión preliminar experimental solo va dirigida a las pruebas de .NET. Somos conscientes del interés en admitir experiencias de pruebas remotas en C++ y esperamos proporcionarlas también en algún momento.
¿Cómo puedo probar las pruebas remotas?
- Los documentos oficiales llegarán después del período experimental. Por ahora, esto es lo que necesita para empezar las pruebas.
- Los entornos se especifican mediante
testenvironments.jsonen la raíz de la solución. La estructura de archivos JSON sigue el esquema siguiente:
{
"version": "1", // value must be 1
"environments": [
{ "name": "<unique name>", ... },
...
]
}
- Conexiones de contenedor local
- Para conectarse a un contenedor que se ejecuta localmente, debe tener Docker Desktop en la máquina local. Opcionalmente, habilite la integración con WSL2 para mejorar el rendimiento.
- Para Dockerfile, el entorno se puede especificar en
testEnvironments.jsonen la raíz de la solución:
Por ejemplo:{ "name": "<name>", "localRoot": "<path to local environment>", // optional "type": "docker", "dockerImage": "<docker image tag>", }{ "version": "1", "environments": [ { "name": "linux dotnet-core-sdk-3.1", "type": "docker", "dockerImage": "testenv" } ] } - Este es un ejemplo de Dockerfile para ejecutar pruebas destinadas a .NET 3.1.
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 - Compile el contenedor con el siguiente comando (incluya el "." al final):
docker build -t <docker image name> -f <path to Dockerfile> .
- Conexiones WSL2 locales
- Debe habilitar la integración con WSL2 en la máquina local.
- El entorno se puede especificar en
testEnvironments.jsonen la raíz de la solución mediante este esquema:{ "version": "1", "environments": [ { "name": "WSL-Ubuntu", "type": "wsl", "wslDistribution": "Ubuntu" } ] }
- Conexiones SSH
- Vaya a Herramientas > Opciones > Multiplataforma > Administrador de conexiones para agregar o quitar conexiones SSH. Al seleccionar "Agregar", podrá escribir el nombre de host, el puerto y las credenciales que necesite.
- El entorno se puede especificar en
testEnvironments.jsonen la raíz de la solución de la manera siguiente:{ "version": "1", "environments": [ { "name": "ssh-remote", "type": "ssh", "remoteUri": "ssh://user@hostname:22" } ] }
- El entorno activo se selecciona a través de una lista desplegable de la barra de herramientas del Explorador de pruebas. Actualmente, solo un entorno de prueba puede estar activo a la vez.

- Una vez seleccionado un entorno, las pruebas se detectan y se ejecutan en el nuevo entorno.

Ahora puede ejecutar y depurar las pruebas dentro del entorno remoto.

El Explorador de pruebas puede solicitarle que instale algunos requisitos previos del entorno que faltan y que intente instalarlos, pero en última instancia, dejamos la mayor parte del aprovisionamiento del entorno remoto a la especificación del usuario.
Recarga activa en el Explorador de pruebas [experimental]: Ahora es posible probar una nueva característica experimental que agiliza la experiencia de pruebas mediante la tecnología de Recarga activa en segundo plano. Esto significa que, después de la primera ejecución de pruebas en la que todavía se requiere una compilación completa, puede realizar pequeños cambios, ejecutar las pruebas y todas esas actualizaciones se reflejarán sin tener que volver a realizar una compilación completa. Para empezar a trabajar y conocer más advertencias, consulte los detalles siguientes:

- Esta experiencia solo está disponible para los proyectos que tienen como destino .NET 6 y debe ir a "Herramientas > Opciones > Prueba"

Cuando esta opción está habilitada, las pruebas se actualizan incluso con cambios no guardados en el editor. No estamos compilando, por lo que los archivos binarios del disco de la carpeta bin están obsoletos. Esto significa que es posible que vea discrepancias entre lo que hay en el disco y los resultados de las pruebas en Visual Studio. Para resolverlos y antes de insertar en el repositorio, asegúrese de realizar una compilación completa con (Ctrl+Mayús+B). Cualquier compilación explícita reemplazará los resultados de las pruebas de recarga activa por los resultados de pruebas de compilación completa normales.
Hay ciertos tipos de ediciones que la recarga activa no puede recoger y, en esos casos, volverá al comportamiento anterior de realizar una compilación completa de forma predeterminada. Tenga en cuenta también que solo se realiza un seguimiento de los cambios en Visual Studio, los casos opacos en el editor, como el cambio de destinos, pueden volver a requerir una compilación completa de forma predeterminada.
Ciertos cambios grandes (como cambiar el nombre de más de 1000 nombres de método) pueden tardar más tiempo en generar una recargar activa que simplemente volver a compilar. En estos casos, se mostrará un mensaje en la salida que solicita a los usuarios que realicen una nueva compilación completa en lugar de esperar a la recarga activa.
Los seguimientos de la pila aún no están disponibles con la recarga activa en el Explorador de pruebas. Si necesita usar el seguimiento de la pila, le recomendamos que realice una compilación completa.
Herramientas de prueba
Mostrar en el Explorador de pruebas (Ctrl+E,S) : es la capacidad de saltar desde la posición del cursor en un método de prueba en el editor hasta la posición de la prueba en el Explorador de pruebas. Esto puede recordarle una característica similar denominada Sincronizar con el documento activo que mantiene resaltado el documento en el que trabaja actualmente en el Explorador de soluciones. Este fue uno de los elementos más votados en Developer Community, por lo que agradecemos a todos los usuarios que han votado y nos han ayudado a priorizar esta característica. Mostrar en el Explorador de pruebas también está disponible en el menú contextual del editor, el glifo de prueba de CodeLens y el clic con el botón derecho en el Explorador de soluciones.

Actualización de compatibilidad con pruebas de carga web y pruebas de IU codificadas: la grabadora de pruebas de carga web está disponible Visual Studio 2022. La grabadora de pruebas automatizadas de IU no se incluirá en Visual Studio 2022. Todavía podrá ejecutar pruebas automatizadas de IU y crear pruebas si escribe código en Visual Studio 2022, pero la grabadora se basa en dependencias de 32 bits que no se pueden portar. Todavía puede instalar Visual Studio 2019 en paralelo para usar la grabadora de pruebas automatizadas de IU. Como recordatorio, la prueba de carga web y la prueba automatizada de IU quedaron en desuso en 2019 y tenemos previsto quitarlas del producto cuando podamos minimizar el impacto en los usuarios. Animamos encarecidamente a los usuarios interesados en las pruebas de IU web a que adopten el nuevo marco de pruebas web multiplataforma y de código abierto Playwright. Además de admitir todos los exploradores principales y un mejor control del código asincrónico, Playwright también tiene integrada la funcionalidad de grabación de pruebas.
Ubicaciones de confianza
- Como parte de la revisión "Trust Configuración", quitamos la comprobación "Marca de la web" y agregamos un cuadro de diálogo de advertencia que se muestra al intentar abrir código (por ejemplo, archivos, proyectos o carpetas) que no ha sido de confianza previamente.
- Ahora se puede confiar en el código en la carpeta actual o en la ubicación de la carpeta primaria.
- Los proyectos creados por el usuario se agregan automáticamente a la lista de ubicaciones de confianza del usuario.
- Puede omitir las comprobaciones de confianza para las ubicaciones temporales creadas Visual Studio funcionalidad.
Antes de que el contenido (por ejemplo, solución, proyecto, archivo o carpeta) se abra dentro del IDE, comprobaremos si la ubicación de la carpeta ha sido de confianza previa.
Si se detecta código que no es de confianza, se mostrará un cuadro de diálogo de advertencia que le avisará de las implicaciones de seguridad y le pedirá que confíe en el código antes del funcionamiento normal del IDE.
Nota: Aunque esta característica está desactivada actualmente de forma predeterminada, se puede habilitar a través de Opciones > Trust Configuración > requre una decisión de confianza antes de abrir el contenido.
Actualizaciones del nodo Orígenes externos
El nodo Orígenes externos del Explorador de soluciones ahora también tiene compatibilidad con C++. Además, se ha agregado un nuevo subnodo que le ofrece todos los módulos con símbolos que aún no se han cargado.

También puede usar el menú contextual para cargar los símbolos directamente desde el Explorador de soluciones para que los módulos puedan aparecer en los nodos de origen externos. Ahora los archivos del nodo Orígenes externos también se ordenan alfabéticamente.

Iconografía actualizada
- Como parte de nuestro objetivo de actualizar la interfaz de usuario de Visual Studio 2022, encontrará iconos recién actualizados en todo el IDE atendiendo a la coherencia, la legibilidad y la familiaridad.
![]()
Recarga activa de XAML
Hemos actualizado la configuración de Recarga activa de XAML y las barras de herramientas en la aplicación para proporcionar claridad de que la configuración y las experiencias de la aplicación están relacionadas con Recarga activa de XAML y no con .NET Recarga activa.

También hemos simplificado el panel de configuración para organizar mejor las opciones comunes.

XAML Live Preview
Xaml Live Preview ya está disponible para desarrolladores de WPF, UWP, WinUI y Xamarin.Forms que ejecutan sus aplicaciones en Android Emulator o como una aplicación de escritorio para UWP. Live Preview captura una interfaz de usuario de aplicaciones en ejecución y la incluye en una ventana acoplada dentro Visual Studio. Esto facilita el uso de Recarga activa de XAML para cambiar la aplicación mientras se ven esos cambios dentro de Visual Studio, sin necesidad de tabular entre la aplicación en ejecución y Visual Studio mientras se hacen cambios en el código XAML en directo.

Primeros pasos:
- Iniciar una aplicación compatible mediante el depurador
- Active XAML Live Preview, ya sea mediante una búsqueda rápida escribiendo "XAML Live Preview" o usando las barras de herramientas de la aplicación "Mostrar en vista previa en vivo de XAML".
Una vez iniciada la experiencia, estarán disponibles las siguientes características:
- Desplazamiento y zoom: puede desplazarse y acercar la ventana que captura la interfaz de usuario de la aplicación, lo que le permite ajustarla a sus necesidades para mostrar la aplicación completa o solo las partes que intenta editar. El desplazamiento funciona con un panel táctil (desplazamiento con dos dedos), la rueda de desplazamiento del mouse o Ctrl+Clic para arrastrar el contenido.
- Reglas: puede agregar una o varias reglas horizontales o verticales para superponer la aplicación en ejecución. Estas líneas se pueden mover a su posición con el mouse o el teclado. Al mover las reglas con el teclado, use las teclas de dirección para un posicionamiento preciso y Ctrl+tecla de flecha para un posicionamiento rápido. También puede eliminar reglas seleccionándolas (haciendo clic en ellas) y presionando la tecla de eliminación.
- Selección de elementos y sugerencias de información: con la selección de elementos, puede seleccionar el elemento XAML que quiere editar con la misma característica a la que podría estar acostumbrado desde el Árbol visual dinámico o la barra de herramientas de la aplicación. Una vez seleccionado, también puede habilitar la nueva característica "sugerencias de información" para obtener información adicional sobre el elemento seleccionado, como la fuente, el color, la información de margen o relleno, etc. Al usar Selección de elementos, considere la posibilidad de habilitar Vista previa del elemento seleccionado (ya sea a través del botón de la barra de herramientas Árbol visual dinámico o mediante Depurar > Opciones > Hot Reload settings (Configuración de Recarga activa) para ir al XAML de origen.
- Cambio de ventana: puede controlar cuál de las ventanas de la aplicación se captura.
Experiencia de enlace XAML mejorada
- Se han mejorado los iconos de enlace de datos en el Inspector de propiedades. Ahora puede acceder rápidamente al cuadro de diálogo enlace de datos haciendo clic en un icono de "cilindro" junto a una propiedad y puede borrar el enlace haciendo clic en el icono "x".

- Se ha agregado la pestaña Enlace en Acciones rápidas para que pueda crear enlaces con solo unos pocos clics desde el diseñador XAML.

- Se ha agregado el cuadro combinado Propiedad de destino al cuadro de diálogo Enlace de datos para seleccionar la propiedad en cualquier lugar.

Problemas más votados de Developer Community
Vea nuestra lista completa de correcciones de Developer Community en esta versión.
- Formato de C++ incorrecto cuando
Place 'else' on a new lineestá deshabilitado. - Cuadro de diálogo inmovilizado al editar y continuar la comprobación de las actualizaciones de código
- Problema de inicio del simulador de VS Android en Win 11: hipervisor
- Cuadro de diálogo inmovilizado al editar y continuar la comprobación de las actualizaciones de código
- Problema de inicio del simulador de VS Android en Win 11: hipervisor
- Error al implementar en un iPhone, Error MT1001: No se encontró una aplicación en el directorio especificado
- No se pueden depurar varios elementos dotnet 5 Azure Functions
- Visual Studio deja de responder al depurar la aplicación para UWP
- WebAssembly de Blazor: la realización de una recarga en caliente cuando se cierra el explorador da como resultado una excepción poco útil
- Visual Studio bloqueos sin motivo
- El color de la sintaxis de C++ no funciona cuando se usa std:c++lastest en el conjunto de herramientas de plataforma 143
- Buscar en archivo no funciona en VS 2022 Preview 3
- Visual Studio no recarga todos los archivos de proyecto modificados después del cambio de rama
- Error al activar el servidor de lenguaje
- Al hacer clic con el botón derecho en cualquier elemento del Explorador de soluciones y seleccionar "Insertar en el repositorio" se muestra un mensaje inusual. Los cambios no se pueden insertar en el repositorio.
- La interfaz de usuario de Visual Studio no responde cuando hay demasiada salida del registro de compilación durante la compilación (p. ej.: nivel de detalle de diagnóstico)
- Desarrollo de Linux con C++: la vinculación estática es incorrecta
- Las plantillas T4 de VS2022 necesitan instrucciones using incompatibles
- Los módulos de C++20 no pueden aceptar sobrecargas o especializaciones de plantilla procedentes de otro módulo
- Al guardar el archivo en una sesión "Live Share", se abre el cuadro de diálogo "Guardar como" en lugar de guardar el archivo directamente
- El proyecto de C++ no puede recargar un archivo externo al proyecto durante el inicio
- Regresión errónea de compilación con punteros de función
- Diagnóstico incorrecto de una llamada de operador ambigua (C2593) con /permissive- y friend
- Recarga activa no funciona para UWP/IOS de Xamarin.Forms después de actualizar a la versión 16.10
- Error al cargar la plantilla Entitlements.plist
- Error de IntelliSense para el constructor predeterminado dllimport constexpr
- El sistema no puede encontrar el archivo especificado (mientras navega al hacer doble clic en el mensaje de error de compilación).
- El proyecto de C++ ya no se compila en VS2022: no se ha encontrado el ensamblado "mscorlib.dll"
- El Editor de Razor en VS2022 Preview 2.1 es lento
- Se produce un error en IntelliSense para C++20 y
- PackageId:Microsoft.WebView2.arm64;PackageAction:Install;ReturnCode:-2147219199
- Advertencias de bloqueo incorrectas del analizador C26110
- Con la actualización 16.10 ya no funciona MSTest DataSourceAttribute con testrunconfig
- La optimización global del programa de MSVC da como resultado una salida incorrecta
- El IDE se bloquea, las pestañas parpadean en condiciones desconocidas
- Agregar compatibilidad para instrumentar archivos DLL con devoluciones de llamada TLS (instrumentadas mediante vsinstr.exe)
- VS2019 16.10 ASP.NET WEBFORM中不能选择事件
- Error grave (excepción de HRESULT: 0x8000FFFF (E_UNEXPECTED)) en un proyecto de documento único MFC
- La plantilla principal elegida sobre la especialización conduce a un error de compilación
- No se puede actualizar de la versión preliminar 1.1 a la versión preliminar 2.0. Se ha detectado un ciclo en el gráfico de dependencias: Microsoft.VisualStudio.ComponentGroup.UWP.VC
- Error al instalar la versión preliminar de Visual Studio 2022 en Windows Server 2022.
- Visual Studio 2022, versión preliminar 1 bloquea el IDE al usar Compilar todo.
- La depuración de Xamarin Android con Android Emulator se bloquea y reinicia Visual Studio 2022.
- No se puede instalar ninguna versión anterior de VS. La descarga no se produce debido a una firma no válida
- Advertencias de análisis de código/PREfast C26404, C26406, regresión del rendimiento C26407 en CppCoreCheck::PointerSafetyXtension::SearchSmartPtrsAndReferences
- Error interno del compilador con std::to_array cuando la variable es global y de tipo char const
- Errores de compilación en encabezados externos
- C3493 con /std:c++latest mediante el enlace estructurado en lambda
- El botón Enviar comentarios no funciona en VS 2022 cuando se instalan las herramientas de Python
- Archivos Aspx rotos después de la actualización 16.10
- El compilador de C++ genera código no válido para el método constexpr
- No hay ninguna advertencia para la variable sin usar cuando se declara const
- Colisión de nombres de módulos de C++
- La recolección de elementos no utilizados tiene lugar durante la llamada al método en la clase ref de C++/CLI.
- No se puede publicar Django de Python con el proyecto WebDeploy desde la actualización de Visual Studio a la versión 16.9
- ICE: optimización de ARM64 para /std:c++latest
- El código fuente de la aplicación de Blazor Server con VS 16.3.0, .NET Core 3.0 se atenúa y se pierde IntelliSense después de la implementación
- No se encuentra la clave de firma de código de iOS "iPhone Distribution: Microframe Corp"
(xxxxx)'en la cadena de claves - La ventana Herramientas de diagnóstico se carga en miniatura y no cambia de tamaño correctamente.
- Hay un error del compilador 2694 al intentar llamar a make_shared en la clase con el destructor que se inicia en MSVC 16.9, versión preliminar 2.
- Se ha producido un error al procesar la instantánea para procesar el montón administrado.
Problemas conocidos
Vea todos los problemas abiertos y las soluciones alternativas disponibles en Visual Studio 2022 en el vínculo siguiente.
Comentarios y sugerencias
Nos encantaría que nos diera su opinión. Puede notificar un problema o sugerir una característica
mediante el icono Enviar comentarios en la esquina superior derecha del instalador o el IDE de Visual Studio, o desde Ayuda > Enviar comentarios. Puede realizar un seguimiento de sus incidencias en Developer Community de Visual Studio, donde puede agregar comentarios o encontrar respuestas. 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.