Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nos complace anunciar la disponibilidad de la actualización de abril de Visual Studio 2026. Esta versión marca el comienzo de una nueva era para Visual Studio con la integración profunda de la plataforma de inteligencia artificial, los fundamentos más sólidos y el rendimiento mejorado.
Descargue Visual Studio 2026 Insiders para disfrutar de estas nuevas características y mejoras.
Versión 11723.189
Publicado el 28 de abril de 2026
| Principales correcciones de errores | De la comunidad |
|---|---|
| Error al usar Add-Migration en la consola nuget en Visual Studio Insider | Ticket de comentarios |
TypeScript 7 (versión preliminar nativa) Problemas conocidos
TypeScript 7 aporta importantes mejoras de rendimiento en Visual Studio, y seguimos refinando la experiencia.
Esto es lo que estamos trabajando activamente:
IntelliSense. Es posible que, en algunos casos, no se muestren las finalizaciones. En los archivos
.cshtml, es posible que la lista de finalización de TypeScript no aparezca dentro de una etiqueta<script>. Al aceptar una finalización para el último argumento de una función, se puede quitar el paréntesis de cierre. Si presiona Ctrl+Espacio, puede solucionar este problema. Acciones y refactorización de código. Las correcciones rápidas (Ctrl+.) aún no están disponibles. Solo pueden mostrarse sugerencias basadas en Copilot IA. El comando Organizar importaciones (Ctrl+R, Ctrl+G) tampoco está disponible. Navegación y búsqueda. Las listas desplegables de la barra de navegación de la parte superior del editor no muestran símbolos de documento. Buscar todas las referencias (Mayús+F12) muestra una lista plana sin agrupación semántica (lectura,escritura/declaración) y las referencias entre archivos pueden estar incompletas. Los resultados de la búsqueda de código pueden mostrar títulos y descripciones no coincidentes. CodeLens. Los recuentos de referencias (por ejemplo, "19 referencias") no aparecen por encima de las declaraciones de interfaz y clase. Información sobre herramientas sobre el puntero. Falta la información sobre herramientas sobre el puntero y tiene un color de texto diferente en comparación con el servicio de idioma anterior. Fragmentos. Insertar fragmento de código (Ctrl+K, Ctrl+X) no funciona en archivos JavaScript. JSDoc. Al escribir/**encima de una función con parámetros no se genera automáticamente la plantilla de JSDoc con@paramentradas. Formato. Al desactivar "Format on open block {" (Formato en el bloque abierto {) en Herramientas > Opciones > Editor de Texto > JavaScript/TypeScript > Formato no surte efecto. Lista de tareas. Si un archivo TypeScript contiene un comentario TODO y una variable denominada "TODO", la lista de tareas puede mostrar tareas duplicadas incorrectamente. Cambio de nombre de archivo y carpeta. Cambiar el nombre de un archivo o carpeta en un proyecto de TypeScript no actualiza de forma coherente las rutas de importación en otros archivos. Inspección de archivos. Cuando los archivos se modifican fuera de Visual Studio, los cambios no se detectan hasta que el archivo se abre y modifica dentro del IDE. Los errores de las ediciones externas no aparecerán en la lista de errores.Agradecemos sus comentarios a medida que trabajamos hacia la paridad completa. Notifique cualquier problema a través de la Ayuda > enviar comentarios en Visual Studio.
Versión 11716.218
Publicado el 21 de abril de 2026
| Principales correcciones de errores | De la comunidad |
|---|---|
| La coincidencia de cadenas vacías en las citas de código en F# provoca el error FS0452. | Ticket de comentarios |
| Se produce un error en la extensión GitHub Copilot para Azure: herramienta de consulta de Azure Resource Graph. | Ticket de comentarios |
Características
Publicado el 14 de abril de 2026.
IDE
Temas oscuros/claros del sistema📣
Conmutar automáticamente Visual Studio temas cuando el sistema se mueve entre el modo Claro y Oscuro, manteniendo el IDE sincronizado con su entorno.
Es posible que prefieras un tema más claro y de contraste superior durante el día y un tema más oscuro por la noche. Visual Studio ahora cambia automáticamente entre los temas claros y oscuros seleccionados cuando cambia la configuración del sistema, manteniendo el IDE sincronizado con su entorno.
Cómo usarlo
- Abre Tools → Options → Environment → Visual Experience
- Establecer tema de color en Usar la configuración del sistema
- Seleccionar un tema claro del sistema y un tema del sistema oscuro
Visual Studio aplica automáticamente el tema correspondiente cuando cambia el tema Windows.
![]()
📣 Consulte el ticket de características para compartir sus comentarios y continuar la conversación.
GitHub Copilot
Ver y administrar las habilidades del agente
Explora, edita y busca todas las habilidades del Agente de Copilot desde la ventana de chat.
Ahora puede ver todas las aptitudes del agente en un solo lugar. Al hacer clic en el icono de herramientas de la esquina inferior derecha de la ventana de chat, puede abrir un panel de aptitudes dedicado que muestre todas las aptitudes detectadas desde el área de trabajo y el perfil de usuario, lo que facilita ver lo que está disponible de un vistazo.
En el panel, puede administrar las aptitudes directamente sin salir de Visual Studio:
- Editar una aptitud : haga clic en el menú de tres puntos (⋯) en cualquier aptitud para abrirla y editarla directamente en VS.
- Abrir ubicación del archivo: utiliza el mismo menú para ir directamente al archivo de la habilidad en el disco.
- Buscar una aptitud : use la barra de búsqueda de la parte superior para buscar rápidamente una aptitud específica por nombre o palabra clave.
![]()
Esto se basa en la funcionalidad de Habilidades del Agente introducida anteriormente, que te proporciona una manera más fácil de explorar y mantener tus habilidades. Pruébelo y comparta sus comentarios.
Resumen de diferencias de múltiples archivos para cambios de Copilot
Revisa todos los cambios de Copilot en varios archivos en una única vista de resumen, con controles detallados para aceptar y deshacer.
Cuando Copilot edita varios archivos, ya no es necesario revisar cada uno por separado. La nueva vista de resumen de diferencias de varios archivos muestra todos los cambios en un solo lugar.
Haga clic en el botón Abrir resumen de cambios en el conjunto de trabajo de Copilot Chat después de que Copilot termine de editar. Verá una sola pestaña con todos los archivos modificados y sus diferencias juntas.
![]()
Puede aceptar o deshacer los cambios en distintos niveles:
- En todos los archivos a la vez
- Por archivo
- Por fragmento de diferencia individual
También puede abrir cualquier archivo por separado para ver su contexto completo.
![]()
Use los controles de la esquina superior izquierda para:
- Contraer todo el contenido del archivo para ver solo los encabezados de archivo para obtener información general rápida
- Navegue entre fragmentos de diferencias utilizando los botones Siguiente y Anterior para desplazarse rápidamente por los cambios
Esta vista facilita la comprensión de lo que Copilot ha cambiado en el código base y le proporciona un control preciso sobre qué ediciones mantener.
Indicador de ventana de contexto
Ver cuánto contexto está usando Copilot y optimizarlo al resumirlo con un solo clic.
Al chatear con Copilot, realiza un seguimiento del historial de conversaciones, los archivos adjuntos y otro contexto para proporcionar respuestas pertinentes. Esto se denomina ventana de contexto y tiene un límite. Una vez que su memoria se llena, Copilot puede perder el rastro de las partes anteriores de la conversación.
Ahora puede ver exactamente cuánto ha utilizado de esa ventana de contexto con el nuevo indicador de la ventana de contexto.
Busque el icono de anillo en la esquina superior derecha del cuadro de solicitud de Copilot Chat. Este pequeño gráfico de rosquilla se va llenando a medida que crece su conversación, mostrándole de un vistazo cuánto contexto ha consumido.
Haga clic en el indicador para ver:
- Porcentaje exacto del contexto usado
- Desglose detallado de lo que contribuye al contexto
- Botón resumir conversación para compactar tu conversación y liberar espacio
![]()
Cuando el contexto se esté agotando, haz clic en Resumir para comprimir las primeras partes de la conversación. Esto le permite mantener el chat sin perder contexto importante ni iniciar una nueva conversación.
![]()
Planear antes de compilar con el modo de planeación
Cree e itere sobre los planes de implementación antes de realizar cambios en el código.
A veces quieras reflexionar sobre un enfoque antes de profundizar en el código. El nuevo modo de chat Planning permite colaborar con Copilot en un plan de implementación, sin realizar ningún cambio en el código base.
Cómo funciona
![]()
Al seleccionar Planning modo, Copilot sigue un proceso de dos pasos:
- Explore y aclare : Copilot usa herramientas de solo lectura para comprender el código base y formular preguntas aclaradas. Para tareas sencillas, redacta un plan inmediatamente.
- Borrador y refinamiento - Copilot crea un plan de implementación detallado que puedes revisar, analizar y refinar en conjunto.
![]()
Cuando esté listo, haga clic en Implementar plan para entregarlo al modo agente para su ejecución.
![]()
Los planes se almacenan como Markdown
Copilot guarda cada plan como un archivo markdown en el repositorio en
.copilot/plans/plan-{title}.md. Este archivo es el único origen de la verdad. Puede editarlo directamente en el editor o refinarlo a través del chat. Copilot detecta los cambios y mantiene el plan sincronizado.Cuándo usar el modo de planeación
- Características grandes : divida el trabajo complejo en pasos claros antes de escribir código.
- Bases de código desconocidas - Deja que Copilot las explore y explique antes de proponer cambios.
- Colaboración en equipo : comparta planes como archivos markdown para su revisión antes de la implementación
Herramientas de Git
Resumen de diferencias entre múltiples archivos 📣
Vea los cambios de archivo en un diff unificado para una comprensión rápida.
La comparación resumida de varios archivos muestra todas las líneas modificadas de varios archivos en una vista unificada, lo que le permite comprender rápidamente el alcance de una confirmación o una solicitud de incorporación de cambios sin tener que cambiar de archivo.
![]()
Verá el botón Abrir resumen de cambios en varios lugares:
- Cambios de Git
- Detalles de confirmación en git → Ver historial de sucursales
- Pull requests en la ventana Ver → Repositorio de Git
La lista de pull requests solo está disponible actualmente en Visual Studio Insiders con la función preliminar Ver pull requests para un repositorio de Git.
![]()
📣 Consulte el ticket de características para compartir sus comentarios y continuar la conversación.
Añadir commit a Copilot Chat
Adjuntar el contexto del commit a Copilot Chat directamente desde el IDE.
¿Está revisando una confirmación y desea que Copilot le ayude a entenderla, detectar problemas o basar nuevas ediciones en ella? En lugar de buscar el identificador de confirmación y pegarlo en Chat, ahora puede hacer clic con el botón derecho en una confirmación y agregarlo directamente como contexto en Copilot Chat.
Puede encontrar este comando en las siguientes superficies:
- Historial de Git (Ver historial de ramas de Git>)
- Historial de archivos (haga clic con el botón derecho en un archivo en Explorador de soluciones y, a continuación, Git > View History)
- Anotar (Blame) (Haga clic con el botón derecho en el editor y, a continuación, Git > Anotar (Blame))
También puede seleccionar múltiples confirmaciones para adjuntarlas al chat todas a la vez.
![]()
Copilot recibe el commit como contexto, por lo que puedes preguntar cosas como explica este cambio, esto introduce algún problema o escribe un cambio similar para este otro archivo.
![]()
Se han movido las instrucciones del mensaje de commit
Las instrucciones personalizadas para los mensajes de commit ahora usan el archivo de instrucciones de Copilot en lugar de la configuración de Visual Studio.
Si ha estado usando la entrada de texto de instrucciones personalizadas del mensaje de confirmación bajo la configuración GitHub → Copilot → Integración del control de código fuente para personalizar los mensajes de confirmación generados por Copilot, esa configuración ya no se aplicará. En el futuro, las instrucciones del mensaje de confirmación se administran a través del archivo de instrucciones personalizadas de Copilot.
Esto proporciona instrucciones de mensajes de confirmación en concordancia con cómo funcionan las demás instrucciones personalizadas de Copilot en el repositorio, manteniendo todos los elementos en un solo lugar.
Configuración de instrucciones personalizadas
Agregue las instrucciones del mensaje de confirmación al archivo de instrucciones de Copilot del repositorio. Para más información sobre la configuración completa, consulte Incorporación de instrucciones de repositorio.
![]()
Revisa el código con el agente de Git en Copilot Chat
Inicia una revisión de código desde Copilot Chat y observa los resultados en la experiencia de revisión de Visual Studio.
Ahora puede revisar el código a través del agente Git en Copilot Chat. Cambie al agente de Git y pídale que revise los cambios.
![]()
El agente analiza los cambios no confirmados utilizando GitHub Copilot Review de código y muestra comentarios en línea en el editor y la vista Git Changes. Después, puede continuar la conversación en el chat para analizar los resultados, pedir explicaciones o trabajar con modificaciones sugeridas.
![]()
Para obtener más información sobre la experiencia de revisión de código, consulte Revise los cambios locales con Copilot Chat.
C++
Herramientas de compilación de MSVC v14.51
Se ha mejorado la compatibilidad, el rendimiento y muchas correcciones de errores de C++23.
Microsoft herramientas de compilación de C++ (MSVC) versión 14.51 ya está disponible y se instala de forma predeterminada con las cargas de trabajo de juegos y de escritorio de C++. Para comprobar si está instalado, simplemente asegúrese de que uno o ambos componentes estén seleccionados en el instalador.
- Herramientas de compilación de MSVC para x64/x86 (más reciente)
- Herramientas de compilación de MSVC para ARM64/ARM64EC (más reciente)
También puede seleccionar uno de los componentes etiquetados con el número de versión v14.51 para anclar la instalación a esta versión.
![]()
El número de versión impreso por cl.exe y link.exe será al menos 14.51.36231.
La versión estable de v14.51 recibirá 9 meses de correcciones de mantenimiento, como se describe en Nueva cadencia de versiones y ciclo de vida de soporte para Microsoft C++ Build Tools.
Consulte a continuación para obtener una lista completa de las novedades.
Conformidad con los estándares de C++
El equipo de front-end continuó implementando las características de C++23 y C++20 y corrigiendo problemas de conformidad:
- Implementaciones de C++23: Consulte la entrada de blog Compatibilidad con C++23 en MSVC Build Tools 14.51 para obtener más información.
- Mejoras en Consteval: Múltiples correcciones en el manejo de funciones
consteval, constexprnew/deleteen módulos, matrices de respaldo de listas de inicializadores, comportamiento/experimental:constevalVfuncVtableahora habilitado de forma predeterminada y mejores diagnósticos de error para expresiones constantes fallidas.- Mejoras en las corrutinas: Reestructuración de variables globales relacionadas con las corrutinas y obsolescencia de los encabezados experimentales de corrutinas.
- Modernización del analizador: El analizador de descenso recursivo ahora administra
[[attributes]], con mejoras continuas en la recuperación de errores y la eliminación de accesores de tokens heredados.- Mejoras del lenguaje C: Se ha agregado
_Atomiccompatibilidad con calificadores, se han quitado diagnósticos incorrectos para los miembros de matriz flexible de C99 y se ha agregado__typeof__compatibilidad con los tipos de función.Generación de código
El optimizador de back-end recibió una inversión significativa en muchas áreas:
- Optimizaciones guiadas por perfiles basadas en ejemplo: Compatibilidad con optimizaciones guiadas por perfiles basadas en muestras con herramientas auxiliares. Más detalles para seguir en una entrada de blog futura.
- Mejoras de optimización de asignación única estática (SSA): Se implementaron docenas de nuevos patrones de simplificación algebraica, incluidos patrones de operador ternario, patrones aritméticos y min/max.
- Eliminación de subexpresiones comunes (CSE): Mejora de la CSE de las cargas de
[x + C]mediante uniones if/else, almacenamientos redundantes y comprobaciones mejoradas de aliasing multibyte.- Sustitución escalar de agregados (SROA): Desempaquetado más agresivo de estructuras.
- Optimizaciones de bucles: Correcciones de signo en la sustitución de pruebas de funciones lineales (LFTR) y optimizaciones de bucles contados cuando se utiliza la inducción primaria después del bucle.
- Inline: Se ha ampliado la inline limitada en el sitio de llamada y se ha mejorado la propagación de la información sobre el tipo de parámetro al realizar la inline.
- Propagación de copias: Varias mejoras en la propagación de constantes enteras y copias consecutivas.
- Reducción de fuerza: Se ha implementado la reducción de conversiones como una optimización de reducción de fuerza.
- Subprocesos de predicados y saltos: Mejoras en las optimizaciones basadas en predicados para eliminar comprobaciones de límites, incluido un mejor uso de los predicados de patrones mínimos.
- Diseño de la pila: El compilador ahora prefiere empujar los registros guardados por el destinatario de la llamada a la pila en lugar de utilizar ranuras de sombra, lo que reduce la sobrecarga del prologo y epílogo de las funciones.
- PGO: Se han mejorado las compensaciones entre tamaño y velocidad por función para mitigar los perfiles no representativos y se han mejorado los recortes de PGO.
- Punteros restringidos: Se ha añadido compatibilidad con la semántica de punteros restringidos para permitir optimizaciones de aliasing adicionales.
- Optimizaciones de coincidencia de patrones: Nuevos patrones para
MSUB/MADDgeneración,ADC/SBBpara adición/sustracción condicional, yCMOVE/NEvariantes.- Intel APX: Compatibilidad preliminar con Intel APX (Extensiones de rendimiento avanzado) en la cadena de herramientas MSVC. Más detalles a continuación.
ARM64 y SVE
- Compatibilidad con SVE (Scalable Vector Extension): Nueva característica importante que incorpora SVE de ARM a MSVC, incluyendo compatibilidad a nivel de frontend con tipos escalares y agregados de SVE, optimización de funciones intrínsecas, desenrollado de registros guardados por el destinatario, paso de parámetros de función variádicos, instalación de archivos de cabecera y compatibilidad con tryblock/funclet. Se han abordado múltiples correcciones de ICE y de errores de compilación.
- Shrink Wrapping: Se han corregido múltiples problemas, incluyendo la información de desenrollado de fragmentos solo en el epílogo, errores de generación de código con chkstk que eliminaban X15 y regiones de shrink wrapping de múltiples entradas.
- Calidad del código: Nuevos patrones para
CSEL pow2, 0 + ORR → CSET + ORR_SHIFT,NEON_DUPRoptimizados, se eliminaron redundantesNEON_INSRdespués deNEON_DUPR, patrones ARM NEON para x264, mejoras en la fusión de instrucciones, redefinición de registros después de globregs y ajuste de la alineación de funciones.- DIA SDK: Compatibilidad completa con SVE en la interfaz de depuración, incluyendo
RtlpGetSveContextPointersyIDiaStackWalkHelper3.SIMD & Vectorización
- Vectorizador SLP: Mejoras en la vectorización del paralelismo a nivel de superpalabra (SLP):
- Vectorización de reducción escalar
- Soporte para instrucciones vectoriales genéricas y de gran tamaño
- Optimizaciones de permutación y compatibilidad con select de gran tamaño
- Mejoras en el vectorizador: Traslado de las comprobaciones de solapamiento de punteros de bucles internos vectorizados a los bucles principales, compatibilidad con bucles de recuento de caracteres, compatibilidad con el acceso a memoria no contigua para tipos de datos de 2 bytes y heurísticas mejoradas de bajo recuento de iteraciones en ARM64.
- AVX/SSE: AVX512
memcpy/memset, anulación de AVX2memcmp, AVX10.2 y patrones de máscara de bits vectorizados para x264.Enlazador y PDB
- DIA: Seguridad de hilo de inicialización COM y compatibilidad con SVE.
- Fuzzing de PDB: Fuzzing de PDB activado a partir de las compilaciones nocturnas.
- SPGO: Optimizaciones guiadas por perfiles basadas en muestra disponibles para su uso.
Biblioteca estándar (STL)
En GitHub, el repositorio microsoft/STL realiza un seguimiento de su estado con un alto nivel de detalle; vea el Changelog para MSVC Build Tools 14.51. Características de biblioteca importantes que están disponibles recientemente:
- P0429R9 -
<flat_map>- P1222R4 -
<flat_set>- P2255R2 - Rasgos de tipo para detectar referencias vinculadas a variables temporales
- P2590R2 - administración explícita de la vida útil
- P2674R1 -
is_implicit_lifetimeOtros cambios importantes:
- Hemos revisado
<regex>en gran medida para corregir problemas de corrección y rendimiento prolongados que han estado presentes desde su implementación inicial en VS 2008 SP1. ¡Después de casi dos décadas, por fin se han solucionado los desbordamientos de pila!- Hemos seguido agregando y mejorando los algoritmos STL vectorizados de SIMD, utilizando SSE4.2 y AVX2 para x64/x86 y, recientemente añadido en MSVC Build Tools 14.51, empleando NEON para ARM64/ARM64EC.
- Hemos implementado 18 resoluciones de cuestiones LWG.
- Hemos eliminado características no estándar en desuso desde hace tiempo, como TR1,
<hash_map>,<hash_set>,<experimental/filesystem>,stdext::checked_array_iteratorystdext::unchecked_array_iterator.Todo esto ha sido posible gracias a nuestros increíbles colaboradores GitHub.
AddressSanitizer (ASan)
- Compatibilidad con ARM64: Se ha mejorado la compatibilidad de ASan para ARM64 con un empaquetado completo de bibliotecas, correcciones de interceptación y resoluciones de falsos positivos.
- SanitizerCoverage: Se ha corregido el manejo de la lista de bloqueados, los problemas de generación de código y las declaraciones anticipadas para garantizar que se invoquen los inicializadores de sancov.
- Rendimiento: Se han almacenado en caché los montones recorridos para mejorar el rendimiento durante las operaciones de memoria sombra.
Módulos e IFC
- Actualización de la versión de IFC: El front-end de MSVC genera archivos IFC según la versión 0.44 de la especificación IFC.
- Corrección de concurrencia: Se ha corregido una carrera de acceso tras liberación en la resolución concurrente de registros de depuración IFC.
Análisis estático
- Consolidación de EspX: Merged EspX and its extensions like CppCoreCheck into a single DLL, simplificando la implementación.
- Correcciones de errores: Se han corregido falsos positivos por desreferenciación de ubicación no exacta y varios errores internos del compilador (ICE) con /analyze.
ARM64EC y ARM64X
- Compatibilidad con corrutinas: Se ha corregido la falta de thunks de entrada para los esquemas de corrutinas y las funciones de rampa.
- ICF: Optimización mejorada del plegado de COMDAT idéntico (ICF) en los binarios ARM64X.
- XMM volátil: Se corrigió la asignación volátil de XMM en ARM64EC.
Diagnóstico
- Se ha corregido que no se emitiera C4319 al compilar código C.
- Se han eliminado los diagnósticos incorrectos para los miembros de matrices flexibles C99.
- Advertencia C4789 mejorada para reducir falsos positivos.
Información de depuración
- Se ha habilitado la poda de información de depuración para reducir el tamaño de los PDB.
Incidencias corregidas
En esta versión se han corregido los siguientes problemas notificados por el cliente:
- error del compilador interno de __builtin_bit_cast
- typeof no funciona con tipos de función
- Must_inspect_result falso positivo (C++)
- _statusfp programado antes de operaciones de punto flotante
- "LINK: error LNK2001: símbolo externo sin resolver" después de actualizar a VS 17.14.5
- "REX. B NOP" se interpreta como "XCHG EAX,R8d" por la CPU, pero VS 2026 lo desensambla como un NOP
- [/permissive-] y la plantilla implica el error C3688: sufijo literal no válido "_s"
- [17.14.15] [Comentarios] La depuración dinámica de C++ inicializa las variables locales estáticas incorrectamente.
- [ARM64] La resta y la comparación de ULONGLONG utilizan registros W
- [C++] La expresión lógica ternaria min/max falla en combinación con promociones de tipos enteros
- [Módulos de C++20] Error LNK2001 al importar un miembro estático de clase o estructura desde un módulo desde un archivo DLL
- [Neg] [acepta inválido] Puntero a miembro de la clase base como argumento de plantilla
- [Neg][std:c++20] La eliminación del operador new específico de la clase con plantilla no es detectada por las restricciones
- [Neg][std:c++latest] Uno puede modificar una captura en lambda no mutable a través de C++ deduciendo esto
- [permissive-] No se realizó CopyElision al inicializar mediante la lista de inicializadores
- [permissive-] Error de compilación de std::enable_if tras actualizar de la versión 17.13 a la 17.14
- [permissive-][Regresión] Problema en condiciones específicas con el operador módulo en plantillas variádicas con "/permissive-" después de la versión 19.32.
- [permissive-][Regression] msvc error C1001: Error interno del compilador (archivo del compilador "msc1.cpp", línea 1589)
- [Permissive-][Regresión] No hay ADL en el inicializador de miembro predeterminado debido a una función libre local
- [Regresión] FUNCSIG está vacío para una expresión lambda automática asignada a una función std::function
- [Regresión] "Advertencia C5287: ¡los operandos son tipos de enumeración diferentes!, incluso con un casting explícito
- [Regresión] C2106 '=': el operando izquierdo debe ser un valor l en Visual Studio 2026 Insiders [11206.111]
- [Regresión] cl: error interno del compilador en código de manipulación de bits relativamente simple
- [Regresión] La matriz literal compuesta vacía provoca un error interno del compilador
- [regresión] error C2593 causado por el operador estático [] en modo C++23
- [Regresión] error irrecuperable C1001: Error interno del compilador
- [Regresión] Generación de código incorrecta para &= en 17.14
- [Regresión] Resultado matemático incorrecto mediante boost::rational y google test
- [Regresión] Error interno del compilador en VS2022 17.10+
- [Regresión] Error interno del compilador al intentar compilar un programa sencillo de C++
- [regresión] La captura lambda no movible por referencia no funciona desde MSVC17.4
- [Regresión] msdia140.dll ver 14.50.35719.0 CDiaSymbol::get_virtual siempre devuelve false
- [Regresión] MSVC 19.44.35207.1 C2352 al llamar al método de clase base
- [Regresión] MSVC 19.51 compila incorrectamente ffmpeg para arm64
- [Regression] MSVC 2026: la resta de punteros de miembros consecutivos de una estructura del mismo tipo da lugar a un valor inesperado
- [Regresión] MSVC se bloquea cuando hay al menos 65536 parámetros de plantilla en un paquete de parámetros en CTAD
- [Regression] problemas con la actualización de Visual Studio 2022 17.14.15 - LINK: error fatal LNK1000
- [Regresión] v.19.50 x64 optimizer genera código incorrecto con /O2 y /EHs
- [Regresión] El compilador de Visual Studio optimiza falsamente la rama de código bajo los conjuntos de herramientas v143 y v145
- [Regresión] VS2026 genera código FP incorrecto
- [[Regression]Neg][std:c++latest] Se permite erróneamente una lambda con deducción de este parámetro de tipo no relacionado
- [Regresión][Office] InitAll en VS2026 al inicializar un puntero en un vector
- [Regresión][std:c++20] La declaración adelantada de tipo no funciona durante la especialización de tipos si el nombre de tipo adelantado es ambiguo.
- [Regression][std:c++20] ICE en CTAD para plantilla de alias con
std::array- [Regresión][std:c++20] Error interno del compilador al usar tipos copiables condicionalmente
- [Regresión][std:c++20] Rechaza el nombre de tipo cualificado válido que implica lambda en decltype
- [Regression][std:c++20] Generación de código incorrecta silenciosa: Regression en el plegado de constantes de captura de lambda (v143, v145)
- [Regresión] ERROR INTERNO DEL COMPILADOR: MSVC V19.50.35615 para x64
- [ssa-patterns-vect] Error de optimización arm64 para expf
- [std:c++17] Error interno del compilador al definir el miembro de datos estático de C++17 de la plantilla y su constructor toma determinados argumentos
- [std:c++20] "CL.exe" salió con código -529706956.
- [std:c++20] [Regresión] rechaza la llamada de operador válida.
- [std:c++20] guía de deducción de plantillas de alias no funciona en c++20
- [std:c++20] Una plantilla de función amiga en línea no puede acceder a los argumentos de la plantilla de clase (C2065)
- [std:c++20] La expresión de plegado binario a la izquierda en el tipo de retorno provoca un error de compilación
- [std:c++20] La creación de instancias de plantillas de variables explícitas de C++ provoca un error interno del compilador al usar el encabezado precompilado
- [std:c++20] C++/CLI: el espacio de nombres en línea no funciona
- [std:c++20] C++/CLI: ::typeid no se puede usar en tipos integrados
- [std:c++20] C++20 requiere una cláusula con un parámetro de plantilla no tipificado que genera de forma incoherente un error extraño del compilador
- [std:c++20] C++20: consteval no se puede compilar
- [std:c++20] Falso positivo C7602, error de restricción de parámetros de plantilla constantes
- [std:c++20] No se puede asignar memoria heap en tiempo de compilación
- [std:c++20] No se puede declarar anticipadamente la clase en la partición del módulo interno (C++20)
- [std:c++20] No se puede pasar una función consteval como argumento a otra función consteval
- [std:c++20] No se puede usar un puntero en la función inmediata dentro de la expresión constante.
- [std:c++20] Error en la deducción del argumento de plantilla de clase para la plantilla de alias
- [std:c++20] El código generado por el compilador para determinadas corrutinas de C++ proporciona advertencias inesperadas y hace referencia a números de línea negativos.
- [std:c++20] la expresión constante no se considera constante en la función inmediata
- [std:c++20] El código consteval no se compila en MSVC
- [std:c++20] El error C2100 es incorrecto para las expresiones lambda no genéricas
- [std:c++20] Error C2514: no se puede construir la plantilla de clase
- [std:c++20] error C7535 debido a la referencia rvalue cuando un constructor delega a otro constructor
- [std:c++20] ICE al indexar en una matriz C multidimensional NTTP en MSVC 14.44.35207
- [std:c++20] Si constexpr y require no comprueban la existencia de miembros correctamente
- [std:c++20] Incluir un encabezado con #pragma system_header de un directorio de inclusión externo trata toda la unidad de traducción como un encabezado externo
- [std:c++20] Error interno del compilador (ICE) al manipular con puntero a una función inmediata
- [std:c++20] Error interno del compilador cuando se especializa en floats
- [std:c++20] Llamar a la función que devuelve una lambda consteval resulta en el error C7595
- [std:c++20] MSVC no puede compilar la expresión lambda de plantilla de C++20 con el especificador de consteval
- [std:c++20] MSVC deduplica incorrectamente dos punteros de miembro diferentes (&Case01::a, &Case02::num) pasados como parámetros de plantilla auto sin tipo
- [std:c++20] MSVC rechaza un programa válido que implica la herencia de una función de conversión desde un tipo de cierre sin captura
- [std:c++20] No se muestra la advertencia C4706 por la asignación a std::unique_ptr utilizada como condición
- [std:c++20] La eliminación de tokens de marcador de posición quita incorrectamente el espacio en blanco circundante con /Zc:preprocessor
- [std:c++20] requiere una restricción en una función miembro que trata una llamada base como una llamada estática.
- [std:c++20] Se ha detectado una corrupción de la pila en tiempo de ejecución con std::visit
- [std:c++20] source_location() devuelve un valor incorrecto.
- [std:c++20] std::is_constructible proporciona una respuesta incorrecta para las matrices en C++20
- [std:c++20] std::source_information::current() genera una ubicación diferente en el contexto consteval.
- [std:c++20] std::source_location::current().function_name() genera una cadena vacía cuando se usa como valor de argumento predeterminado
- [std:c++20] No se puede llamar a una función consteval desde otra.
- [std:c++20] El uso de un nombre calificado dependiente como argumento predeterminado para un parámetro de tipo de plantilla con restricciones interrumpe el compilador de MSVC.
- [std:c++20] Cuando se da _ASSERTE una expresión con '"', se produce un error interno del compilador.
- [std:c++20] Error incorrecto C3640 al obtener un puntero en una función virtual pura
- [std:c++20] Se ha llamado a una sobrecarga incorrecta debido a una referencia a un valor de lectura, lo que provoca una recursión
- [std:c++20][Neg] La deducción de argumentos de plantilla de clase selecciona un constructor incorrecto.
- [[std:c++20]Neg][Regression] Regression: el acceso a la matriz en el resultado de una operación ternaria devuelve incorrectamente un valor de lectura
- [std:c++20][Regresión] Módulos C++ 20 C1001: Error interno del compilador
- [std:c++20][Regresión] C++: La referencia de matriz se calcula incorrectamente, lo que provoca una infracción de acceso o una dirección de memoria incorrecta a la que se accede
- [std:c++20][Regresión] No se puede especializar parcialmente la plantilla en el módulo de C++20
- [std:c++20][Regresión] No se pudo especializar la plantilla de función para el tipo abstracto después de la llamada SFINAE al tipo
- [std:c++20][Regresión] Error interno del compilador encontrado en MSVC 14.44.35207
- [std:c++20][Regresión] Error interno del compilador cuando se usa un tipo de valor devuelto incorrecto en una función de conversión definida por el usuario de plantilla
- [std:c++20][Regresión] Error interno del compilador al compilar código de corrutina de C++20
- [std:c++20][Regresión] Operación no válida: error de optimización de FP
- [std:c++20][Regression] Error espurio C2102 al inicializar un miembro constexpr estático en línea con una lista de inicializadores designados parcial
- [std:c++20][Regression] Las comprobaciones de endurecimiento de la STL (_MSVC_STL_alta disponibilidadRDENING) no se optimizan (2)
- [std:c++20][Regression] Discrepancias del compilador en la especialización de funciones de plantilla y decltype
- [std:c++20][Regression] Regression en VS 17.12: ICE con enlaces estructurados y lambda en la instanciación de plantillas de variables constexpr
- [std:c++20] [Regression] Cuando aparece una expresión de lanzamiento en algún lugar de una lista de captura lambda,
noexcept(<lambda expression>)da un resultado incorrecto- [std:c++20][Regresión]Regresión VS2026: lambda no puede acceder a la constante local
- [[std:c++23preview]std:c++latest][Regresión] Error espurio del compilador C2872 al compilar con C++23preview
- [std:c++23preview]C++/CLI y C++23: las matrices administradas multidimensionales no funcionan
- [std:c++latest] #pragma warning(disable) no funciona en encabezados anidados utilizados con unidades de encabezado
- [std:c++latest] Se exige incorrectamente que las uniones anónimas en espacios de nombres sin nombre utilicen static
- [std:c++latest] Inicialización constante de buggy __declspec(selectany) en módulos de C++
- [std:c++latest] Error de compilación de módulos de C++ al usar una declaración using de un módulo diferente
- [std:c++latest] C2355 se desencadena erróneamente cuando la clase local se define en una función miembro estática
- [std:c++latest] C4389 se desencadena al comparar un miembro de campo de bits de un solo bit con un bool
- [std:c++latest] No se puede inicializar la matriz con elementos construidos consteval
- [std:c++latest] El compilador se bloquea con el error C1001 al usar CTAD en un tipo anidado con noexcept dependiente de plantillas
- [std:c++latest] Error del compilador con literales `constexpr` definidos por el usuario en una expresión `requires`
- [std:c++latest] CTAD con inicializador designado no se compila
- [std:c++latest] La función eliminada deshabilita ADL en el contexto inmediato
- [std:c++latest] Los nombres de enumeraciones importados públicamente a la declaración de clase con using-enum-declaration (using enum) se pierden al cruzar los límites del módulo
- Error [std:c++latest] C3535: no se puede deducir el tipo de "auto" de una "función sobrecargada"
- [std:c++latest] error C7595: la llamada a la función inmediata no es una expresión constante
- [std:c++latest] Error al analizar la declaración de una función que toma un puntero a función y tiene una lista de inicialización vacía como argumento predeterminado
- [std:c++latest] Generación de línea en blanco adicional con /E y #warning
- [std:c++latest] Advertencia de falso positivo C4305 cuando se usa un parámetro de plantilla no de tipo predeterminado
- [std:c++latest] La expresión plegada no puede desplegar el paquete total en la plantilla anidada después de la corrección de C7515
- [std:c++latest] La especialización de funciones y los conceptos provocan una llamada ambigua a la función sobrecargada
- [std:c++latest] ICE con Boost.PFR y módulos de C++ (vs-17.14.0-preview1)
- [std:c++latest] ICE al compilar mp-units
- [std:c++latest] ICE con módulos y if consteval
- [std:c++latest] ICE usando la guía de deducción de plantillas
- [std:c++latest] ICE: writer.cpp:542 se produjo lo imposible al usar folly + modules
- [std:c++latest] Identificador no encontrado en una expresión anidada de pliegue
- [std:c++latest] En MSVC V145, el error se producía al utilizar miembros intraclase en restricciones de plantillas dentro de clases
- [std:c++latest] La interacción entre no_unique_address y has_unique_object_representations es incorrecta
- [std:c++latest] Error interno del compilador al vincular el módulo c++20
- [std:c++latest] Error interno del compilador al usar módulos de C++
- [std:c++latest] Error interno del compilador. (archivo del compilador 'D:\a_work\1\s\src\vctools\Compiler\CxxFE\sl\p1\c\trees.c', línea 19104)
- [std:c++latest] Error en las expresiones de plegado del conjunto de mixins
- [std:c++latest] MSVC: una estructura anidada que depende de parámetros de plantilla de clase externa falla como NTTP dentro del ámbito de la clase (C2993)
- [std:c++latest] MSVC no puede compilar (trabajar) código que implique metaprogramación de plantillas
- [std:c++latest] Tenga en cuenta que la advertencia C4477 siguiente es inexacta para size_t, redux
- [std:c++latest] La resolución de sobrecargas falla para los parámetros de plantilla de enumeración que no son de tipo
- [std:c++latest] Paquete de parámetros con referencia al problema de la matriz de C
- [std:c++latest] No se puede deducir el tipo de argumento a std::optional
- [std:c++latest] Las uniones no son compatibles con el diseño a pesar de contener miembros de datos compatibles con el diseño
- [std:c++latest] Bloqueo universal de CL.exe (código de salida -1073741819) con std::filesystem::path anidado en C++17+
- [std:c++latest][Neg] El destructor es privado, pero el compilador permite crear un objeto en la pila.
- [std:c++latest][regression] Error aparente del analizador de C++: emite C2143 + C2451 (+ opcional C2530 + C3531) si el intervalo de expresión dentro de una función de plantilla contiene una expresión lambda.
- [std:c++latest][Regression] C3520 al expandir un paquete de parámetros de plantilla en una plantilla de función miembro de una plantilla de clase
- [std:c++latest][Regression] No se puede usar la instancia de alias templado si el parser ve primero la instanciación del alias en una clase de plantilla.
- [std:c++latest][Regression] Error interno del compilador en las últimas versiones de MSVC al compilar una expresión fold específica
- [std:c++latest] [Regression] Error interno del compilador relacionado con un puntero a una función miembro, herencia múltiple y una función de paso constexpr.
- [std:c++latest][Regresión] Error interno del compilador con la referencia lambda y constexpr en Visual Studio 2026 ( CL.exe versión 19.50.35722 para x64 )
- [std:c++latest][Regression] Lambda no puede acceder a la constante local.
- [std:c++latest][regresión] Error interno del compilador de MSVC 14.50.35503 [Visual Studio 2026 Insiders]
- [std:c++latest][Regression] Fallo en la resolución de sobrecarga con una especialización de plantilla de clase
- [std:c++latest][Regresión] Regresión (error de compilación) al usar módulos y fmtlib
- [std:c++latest][Regresión]Resultado incorrecto cuando la estructura contiene un miembro [[no_unique_address]]
- [std:c++latest][regression]Usar una lista de inicialización como argumento de plantilla cuando existe una sobrecarga incompatible da como resultado el error C2440
- [std:c++latest][Regression] Se genera incorrectamente la advertencia C4864 al llamar a funciones miembro no plantilla sobrescritas de la clase base de la plantilla
- [std:c++latest] IntelliSense de C++ y el compilador se quejan de que la variable está incorrectamente marcada como const
- [std:c++latest]El operador ternario no propaga el operando temporal a la referencia rvalue resultante.
- [std:c++latest]El uso de un especificador de tipo elaborado para hacer referencia a una enumeración cuyo tipo subyacente no es int da como resultado errores C3432 y C3433
- [std:c11] MSVC advierte incorrectamente de que los miembros de matriz flexible de C99 son una extensión no estándar (matrices de tamaño cero)
- Movimiento de código incorrecto de ARM64 /EHa
- Problema de ARM64 con inicializadores estáticos y destructores y /OPT:ICF
- ARM64EC: Bloqueo al llamar a una función C++ en una DLL que contiene pragmas OpenMP, desde una aplicación C# mediante DllImport
- el archivo DLL de reenvío arm64x no admite datos
- ASAN_VCASAN_DEBUGGING no funciona en la versión preliminar 17.14.3
- Los campos de bits con un tipo bool al principio se interrumpen en modo C
- Bloqueo del compilador C++ con fabsf en un bucle con optimización (/O2 /Ob /Ot) y /fp:precise
- Resultado incorrecto en la resta de punteros constexpr en C++
- Depuración dinámica de literales de cadena null de C++
- C++/CLI C2668 Llamada ambigua en .NET 9 y versiones posteriores
- C++/CLI que vuelve a lanzar excepciones de .NET provoca fallos con .NET Framework 4.8 en x64
- C1001: Error interno del compilador con compilaciones optimizadas de 64 bits de VIM recientes con VS 17.14
- C1090: Error en la llamada API de PDB, código de error '3'
- C2034 (acerca de los campos de bits demasiado anchos) no debe ser un error en los modos de C++
- C4319 no se emite al compilar código C
- Problemas relacionados con C4756 en VS 2022
- Variables locales/parámetros colocalizados con vida útil superpuesta 14.40.33814 y versiones posteriores
- CTime produce un error en zonas horarias detrás de GMT. Los cambios en VS 15.8 generaron una regresión
- Error de CTime::CTime con el año 1900
- Puntero colgante en el archivo cpp atlmfc de Visual Studio occsite.cpp
- Los inicializadores de miembros predeterminados para los campos de bits no funcionan al importar struct (o clase) desde un módulo
- Advertencia errónea C5061: el uso de un operador de comas como expresión de subíndice ha quedado en desuso.
- EXE compilado con ASAN (y bibliotecas y archivos DLL de ASAN a veces se bloquean durante la salida
- No se pudo optimizar la secuencia redundante de DUP y SMOV (ARM64)
- Error irrecuperable C1001: Error interno del compilador
- La recolección de elementos no utilizados tiene lugar durante la llamada al método en la clase ref de C++/CLI.
- Guarded_by_ en una variable local estática notifica un error de sintaxis de anotación
- El código no válido se acepta debido a la referencia rvalue que conduce a una recursividad
- Concatenación incorrecta de literales de cadena Unicode
- Error de escritura en campo de bits del código
- Inicialización incorrecta de un miembro agregado anidado con el valor de un miembro no relacionado
- Instrucciones incorrectas generadas en AVX2
- Generación incorrecta de switch-case en el destino arm64
- Deducción incorrecta del argumento de plantilla para la función llamada con el argumento this desde una función miembro fuera de línea y calificada como ref.
- Error interno del compilador para expresión ternaria con tipo no copiable y throw
- Error interno del compilador en msvc 14.50.35717
- Error interno del compilador en type_traits y bool del operador en la clase derivada
- Error interno del compilador destinado a ARM64 con VS 2026 18.0 Insiders
- Error interno del compilador al habilitar Code Analysis (/analyze) con plantillas variádicas + SAL
- Error interno del compilador al usar OpenMP y try/catch en la misma función con /clr habilitado
- Error interno del compilador con el compilador optimizante de C/C++ versión 19.50.35710 para ARM64
- Error interno del compilador de C/C++ con el optimizador del compilador versión 19.50.35722 para ARM64
- Error interno del compilador con parámetros de plantilla de C++ y falta de la palabra clave template
- Los controladores KASAN no pueden enlazar funciones de cadenas anchas (wcscat, wcscpy, wcsncpy)
- Las palabras clave NO DEBEN traducirse en errores, advertencias o sugerencias.
- El tipo de declaración anidado de lambda de lambda activa C2011
- El enlazador no debería emitir una advertencia por "icall push thunks" de Arm64EC diferentes que son equivalentes
- Las cadenas largas con formato octal provocan un denegación de servicio (DoS) en el equipo del usuario y causan C1060
- La biblioteca estática MFC informa de una fuga de memoria
- Microsoft.VCToolsVersion.v143.default.txt en la versión 17.2 no se actualiza desde la versión 17.1
- Compilación incorrecta de
svset_neonq(arm_neon_sve_bridge.h) con 19.50.35722 para ARM64- Compilación incorrecta del bucle SVE de AArch64 (versión 19.50.35722 para ARM64)
- Falta una llamada de destructor cuando /Zc:nrvo está habilitado (/O2 y /std:c++20)
- El uso indebido de _BitScanForward resultado puede bloquear el compilador
- Módulos: las declaraciones «using» se filtran desde las funciones exportadas
- MSDIS está descodificando incorrectamente algunas instrucciones xchg como nop
- MSVC no puede enlazar una función noexcept a la plantilla creada con una firma noexcept
- MSVC no puede generar INCP (y amigos): versión 19.50.35722 para ARM64
- MSVC no puede generar MLA/MAD (versión 19.50.35722 para ARM64)
- MSVC no puede optimizar el lenguaje LASTA (versión 19.50.35722 para ARM64)
- MSVC genera una advertencia C6001 incorrecta
- MSVC x64: _mm_shuffle_ps se optimiza incorrectamente tras vcvtpd2ps en /O1 o /O2
- La nueva característica de depuración dinámica de C++ provoca ocasionalmente el error de vínculo 1136
- la deducción de noexcept no está funcionando (CWG 2355)
- Elisión de copia obligatoria no implementada en el operador ternario
- Se observa un resultado no determinista al compilar UCRT para compilaciones CHPE
- Falta de optimización durante la negación segura frente a valores no definidos
- Regression del rendimiento en el cálculo de hash con una función hash personalizada al cambiar a msvc 17.14.7
- Bloqueo en tiempo de ejecución de la instrumentación PGO en ARM64
- El operador placement new[] en <vcruntime.h> debe estar marcado _MSVC_CONSTEXPR
- Generación deficiente de código x64 para bucles «for range» en matrices de miembros
- Los literales de cadena sin formato tienen un límite de ~16380 caracteres
- El analizador SAL2 no puede gestionar los shared_locks en la anotación Guarded_by
- Lista de bloqueos de cobertura del sanitizador defectuosa
- La cobertura del sanitizador produce una generación de código defectuosa para binarios C++
- Error de optimización de código SIMD
- la especialización de una función de plantilla estática requiere que se especifique 'static'; clang advierte que no debería especificarse
- SSA CSE combina punteros diferentes
- Módulos de biblioteca estándar: la maquinaria de números aleatorios emite un error falso C2512
- La época de subprocesos locales estáticos tiene un desplazamiento TLS incorrecto al usar /dynamicdeopt, lo que provoca un bloqueo
- std:c17 y las matrices sin tamaño != LOVE
- Error en la concatenación de literales de cadena con distintos prefijos de codificación
- no se encontró la función template
- El operador Ternary requiere innecesariamente el constructor de copia
- Error inesperado C7595 notificado
- Resultado inesperado al compilar la función consteval
- Una constante en tiempo de compilación no utilizada en una compilación de lanzamiento x64 provoca una infracción de acceso en el compilador durante la etapa de vinculación
- Uno de nuestros proyectos, al usar el conjunto de herramientas 17.14, genera un error de vínculo LNK1120
- El compilador ARM64EC de VC++ 17.6 Preview 1 se bloquea (ICE) cuando encuentra la palabra clave __vectorcall
- VisualCppTools.14.50.35724 PdbCopy.exe Arm64 Errores de copia de Pdb
- Se supone que la variable local volátil no cambia en x64
- Variable volátil que no se lee después de la escritura
- VS 17.14.13: Generación de código defectuosa para el registro SIMD x64 no configurado correctamente
- VS18.0 Insiders: MSVC se bloquea (ICE) en el mapa de mensajes MFC de una clase con base virtual
- Error de optimización de vs2022
- Advertencia VS2026 MSVC C4865 da información incorrecta sobre el cambio de tipo subyacente con /Zc:enumTypes
- Windows SDK falta #include
<utility>en atlcom.h- Bloqueo del compilador x64 al compilar el archivo de origen de Mesa con optimizaciones
- El emulador x64 se bloquea cuando un subproceso ARM64EC llama a una corrutina x64 que a su vez llama a otra corrutina ARM64EC
Principales correcciones de errores
| Principales correcciones de errores | De la comunidad |
|---|---|
| McP Registry no usa la dirección URL correcta | Ticket de comentarios |
| GitHub Copilot ejecutando comandos de PowerShell en el terminal de Copilot permanece en estado pendiente | Ticket de comentarios |
Desde todo nuestro equipo, gracias por elegir Visual Studio! Para obtener las últimas actualizaciones, recursos y noticias, consulte el Visual Studio Hub y manténgase en contacto.
Disfrute programando.
El equipo de Visual Studio
Nota:
Esta actualización puede incluir nuevos Microsoft o software de terceros con licencia por separado, tal como se establece en el 3rd Party Notices o en su licencia adjunta.