Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Estamos entusiasmados em poder anunciar a disponibilidade da atualização de abril do Visual Studio 2026. Esta versão marca o início de uma nova era para Visual Studio com integração de plataforma profunda de IA, conceitos básicos mais fortes e melhor desempenho.
Baixe Visual Studio 2026 Insiders para aproveitar esses novos recursos e melhorias.
Versão 11723.189
Lançado em 28 de abril de 2026
| Principais correções de bug | Da comunidade |
|---|---|
| Erro ao usar Add-Migration no console do nuget no Visual Studio Insiders | ticket de feedback |
TypeScript 7 (versão prévia nativa) problemas conhecidos
TypeScript 7 traz melhorias significativas de desempenho para Visual Studio e continuamos a refinar a experiência.
Aqui está no que estamos trabalhando ativamente:
IntelliSense. Você pode notar que as conclusões não aparecem em alguns casos. Em arquivos
.cshtml, a lista de conclusão do TypeScript pode não aparecer dentro de uma tag<script>. Ao aceitar uma conclusão para o último argumento de uma função, o parêntese de fechamento pode ser removido. Pressionar Ctrl+Espaço pode contornar isso. Ações de código e refatoração. Correções rápidas (Ctrl+.) ainda não estão disponíveis. Somente as sugestões baseadas em IA do Copilot podem aparecer. O comando Organizar Importações (Ctrl+R, Ctrl+G) também não está disponível. Navegação & Pesquisa. As listas suspensas da barra de navegação na parte superior do editor não mostram símbolos de documento. Localizar Todas as Referências (Shift+F12) mostra uma lista simples sem agrupamento semântico (leitura/gravação/declaração) e as referências entre arquivos podem estar incompletas. Os resultados da pesquisa de código podem mostrar títulos e descrições incompatíveis. CodeLens. As contagens de referência (por exemplo, "19 referências") não aparecem acima das declarações de interface e classe. Dicas ao passar o cursor. As dicas de ferramenta de focalização não têm o ícone de símbolo e têm cores de texto diferentes em comparação com o serviço de idioma anterior. Trechos. Inserir Snippet (Ctrl+K, Ctrl+X) não funciona em arquivos JavaScript. JSDoc. Digitar/**acima de uma função com parâmetros não gera automaticamente o modelo JSDoc com@paramentradas. Formatação. Desmarcar "Formatar ao abrir bloco {" no Ferramentas > Opções > Editor de Texto > JavaScript/TypeScript > Formatação não entra em vigor. Lista de tarefas. Se um arquivo TypeScript contiver um comentário TODO e uma variável chamada "TODO", a Lista de Tarefas poderá mostrar incorretamente tarefas duplicadas. Renomeação de arquivo e pasta. Renomear um arquivo ou pasta em um projeto TypeScript não atualiza consistentemente os caminhos de importação em outros arquivos. Monitoramento de arquivo. Quando os arquivos são modificados fora de Visual Studio, as alterações não são detectadas até que o arquivo seja aberto e modificado dentro do IDE. Erros de edições externas não aparecerão na Lista de Erros.Agradecemos seus comentários enquanto trabalhamos para a paridade total. Relate quaisquer problemas por meio da Ajuda > Enviar Comentários em Visual Studio.
Versão 11716.218
Lançado em 21 de abril de 2026
| Principais correções de bug | Da comunidade |
|---|---|
| F# O casamento de cadeias de caracteres vazias em cotações de código causa FS0452 | ticket de feedback |
| Falha da extensão do Github Copilot para Azure na ferramenta de consulta do Azure Resource Graph. | ticket de feedback |
Features
Lançado em 14 de abril de 2026.
IDE
Temas escuro/claro do sistema 📣
Alternar automaticamente os temas do Visual Studio quando o sistema alterna entre o modo Claro e Escuro, mantendo o IDE sincronizado com o seu ambiente.
Você pode preferir um tema mais leve e de maior contraste durante o dia e um tema mais escuro à noite. Visual Studio agora alterna automaticamente entre os temas Claro e Escuro selecionados quando a configuração do sistema é alterada, mantendo o IDE sincronizado com seu ambiente.
Como usá-lo
- Abra Ferramentas → Opções → Ambiente → Experiência Visual
- Definir o Tema de cores para Usar a configuração do sistema
- Selecione um tema do System Light e um tema Do Sistema Escuro
Visual Studio aplica o tema correspondente automaticamente quando o tema Windows é alterado.
Visual Studio alterna automaticamente entre temas claros e escuros, à medida que o tema do sistema muda
📣 Veja o ticket de funcionalidade para deixar seu feedback e continuar a conversa.
GitHub Copilot
Visualizar e gerenciar Habilidades do Agente
Browse, edite e localize todas as habilidades do Agente Copilot na janela de bate-papo.
Agora você pode exibir todas as suas Habilidades de Agente em um só lugar. Clicando no ícone de ferramentas no canto inferior direito da janela de chat, você pode abrir um painel de habilidades dedicado que lista todas as habilidades descobertas do seu workspace e perfil de usuário, facilitando a visualização do que está disponível rapidamente.
No painel, você pode gerenciar habilidades diretamente sem sair Visual Studio:
- Editar uma habilidade – clique no menu de três pontos (⋯) em qualquer habilidade para abri-la e editá-la diretamente no VS.
- Abrir o local do arquivo: use o mesmo menu para ir direto para o arquivo de habilidade no disco.
- Pesquisar uma habilidade – use a barra de pesquisa na parte superior para localizar rapidamente uma habilidade específica por nome ou palavra-chave.
![]()
Isso se baseia no suporte ao Agent Skills introduzido anteriormente, fornecendo uma maneira mais amigável de navegar e manter suas habilidades. Experimente e compartilhe seus comentários!
Diferença resumida em múltiplos arquivos para alterações do Copilot
Revise todas as alterações feitas pelo Copilot em vários arquivos em uma visão de resumo única com controles granulares de aceitar e desfazer.
Quando Copilot edita vários arquivos, você não precisa mais examinar cada um deles separadamente. A nova visualização de resumo de diferenças de múltiplos arquivos exibe todas as alterações em um só lugar.
Clique no botão Open Changes Summary no conjunto de trabalho Copilot Chat após Copilot concluir a edição. Você verá uma única aba com todos os arquivos alterados e suas diferenças juntas.
![]()
Você pode aceitar ou desfazer alterações em diferentes níveis:
- Em todos os arquivos de uma só vez
- Por arquivo
- Por parte de diferenciação individual
Você também pode abrir qualquer arquivo separadamente para ver seu contexto completo.
![]()
Use os controles no canto superior esquerdo para:
- Recolher todo o conteúdo do arquivo para ver apenas cabeçalhos de arquivo para uma visão geral rápida
- Navegue entre partes diferentes usando os botões Próximo e Anterior para percorrer as alterações rapidamente
Essa exibição facilita a compreensão do que o Copilot alterou em sua base de código e fornece controle preciso sobre quais edições manter.
Indicador da janela de contexto
Veja quanto contexto o Copilot está usando e otimize-o com um clique em resumo.
Quando você conversa com Copilot, ele rastreia seu histórico de conversas, arquivos anexados e outro contexto para fornecer respostas relevantes. Isso é chamado de janela de contexto e tem um limite. Depois que ele for preenchido, Copilot poderá perder o controle das partes anteriores da conversa.
Agora você pode ver exatamente quanto dessa janela de contexto você usou com o novo indicador da janela de contexto.
Procure o ícone de anel no canto superior direito da caixa de prompt Copilot Chat. Este mini gráfico de roscas é preenchido à medida que sua conversa cresce, mostrando rapidamente quanto contexto você consumiu.
Clique no indicador para ver:
- Porcentagem exata do contexto usado
- Detalhamento do que está contribuindo para o contexto
- Botão Resumir conversa para compactar sua conversa e liberar espaço
![]()
Quando seu contexto estiver baixo, clique em Resumir para compactar partes anteriores da conversa. Isso permite que você continue conversando sem perder contexto importante ou iniciar uma nova conversa.
![]()
Planeje antes de construir com o modo de planejamento
Crie e itera em planos de implementação antes de fazer alterações de código.
Às vezes, você deseja pensar em uma abordagem antes de mergulhar no código. O novo modo de chat Planning permite que você colabore com Copilot em um plano de implementação sem fazer nenhuma alteração na base de código.
Como funciona
![]()
Quando você seleciona o modo Planning, Copilot segue um processo de duas etapas:
- Explore e esclarece - Copilot usa ferramentas somente leitura para entender sua base de código e faz perguntas esclarecedoras. Para tarefas simples, ele elabora um plano imediatamente.
- Rascunhar e aperfeiçoar - Copilot cria um plano de implementação detalhado que você pode examinar, discutir e refinar com ele.
![]()
Quando estiver pronto, clique em Implementar plano para entregá-lo ao modo agent para execução.
![]()
Os planos são salvos como markdown
Copilot salva todos os planos como um arquivo de markdown em seu repositório em
.copilot/plans/plan-{title}.md. Esse arquivo é a única fonte de verdade. Você pode editá-lo diretamente no editor ou refiná-lo por meio do chat. Copilot detecta suas alterações e mantém o plano em sincronia.Quando usar o modo planejamento
- Grandes recursos – dividir o trabalho complexo em etapas claras antes de escrever código.
- Unfamiliar codebases - Deixe o Copilot explorar e fornecer explicações antes de sugerir mudanças.
- Colaboração em equipe – Compartilhar planos como arquivos de markdown para revisão antes da implementação
Ferramentas do Git
Diferença geral de vários arquivos 📣
Exibir alterações de arquivos em um diff unificado para compreensão rápida.
A diferença geral de vários arquivos exibe todas as linhas alteradas de vários arquivos em uma visualização unificada, permitindo que você compreenda rapidamente o escopo de um commit ou de uma solicitação de pull sem precisar alternar entre arquivos.
![]()
Você verá o botão Abrir resumo de alterações em vários locais:
- Alterações do Git
- Detalhes do commit no Git → Ver histórico da ramificação
- Solicitações de pull na janela Exibir → Repositório Git
No momento, a lista de pull requests só está disponível no Visual Studio Insiders com o recurso em versão prévia Visualizar pull requests para um repositório Git.
![]()
📣 Veja o ticket de funcionalidade para deixar seu feedback e continuar a conversa.
Adicionar commit ao Copilot Chat
Anexar o contexto de commit ao Copilot Chat diretamente do IDE.
Revisar um commit e precisar da ajuda do Copilot para compreendê-lo, detectar problemas ou orientar novas edições a partir dele? Em vez de pesquisar a ID de confirmação e colá-la no Chat, agora você pode clicar com o botão direito do mouse em uma confirmação e adicioná-la diretamente como contexto em Copilot Chat.
Você pode encontrar esse comando nas seguintes superfícies:
- Histórico do Git (Exibir Histórico de Branch do Git >)
- File History (clique com o botão direito do mouse em um arquivo no Gerenciador de Soluções e, em seguida, Git > View History)
- Anotação (Blame) (clique com o botão direito no editor e, em seguida, Git > Anotação (Blame))
Você também pode selecionar vários commits para anexar ao chat de uma só vez.
![]()
Copilot recebe a confirmação como contexto, de forma que você possa perguntar coisas como explique essa alteração, isso introduz algum problema ou faça uma alteração semelhante para esse outro arquivo.
![]()
Instruções de mensagem de commit movidas
Instruções personalizadas da mensagem de commit agora usam o arquivo de instruções do Copilot em vez da configuração do Visual Studio.
Se você estiver usando o campo de entrada de texto das instruções personalizadas da mensagem de commit na configuração GitHub → Copilot → Integração de Controle do Código-Fonte para personalizar as mensagens de commit geradas pelo Copilot, essa configuração não se aplicará mais. Daqui para frente, as instruções de confirmação de mensagem são gerenciadas por meio do arquivo de instruções personalizadas Copilot.
Isso traz instruções de confirmação de mensagem de acordo com a forma como outras instruções personalizadas Copilot funcionam em seu repositório, mantendo tudo em um só lugar.
Configurar instruções personalizadas
Adicione as instruções de mensagem de confirmação ao arquivo de instruções Copilot do repositório. Para obter detalhes completos da instalação, consulte Adicionar instruções de repositório.
![]()
Revisar código com o agente Git no Copilot Chat
Iniciar uma revisão de código de Copilot Chat e ver os resultados na experiência de revisão Visual Studio.
Agora você pode examinar seu código por meio do agente Git no Copilot Chat. Alterne para o agente git e peça para que ele examine suas alterações.
![]()
O agente analisa as alterações não confirmadas usando o GitHub Copilot Code Review e exibe comentários inline no editor e na janela Git Changes. Em seguida, você pode continuar a conversa no chat para discutir descobertas, pedir explicações ou trabalhar nas edições sugeridas.
![]()
Para saber mais sobre a experiência de revisão de código, consulte Revise as alterações locais com Copilot Chat.
C++
Ferramentas de Compilação do MSVC v14.51
Suporte, desempenho e muitas correções de bug aprimorados do C++23.
Ferramentas de build Microsoft C++ (MSVC) versão 14.51 agora estão disponíveis e são instaladas por padrão com os workloads de desenvolvimento de desktop e jogos em C++. Para verificar se ele está instalado, basta verificar se um ou ambos os componentes estão verificados no instalador:
- Ferramentas de build do MSVC para x64/x86 (mais recente)
- Ferramentas de build do MSVC para ARM64/ARM64EC (mais recente)
Você também pode selecionar um dos componentes rotulados com o número de versão v14.51 para fixar sua instalação nesta versão.
![]()
O número de versão impresso por cl.exe e link.exe será pelo menos 14.51.36231.
A versão estável da v14.51 receberá 9 meses de correções de manutenção, conforme descrito em Novo ciclo de vida de suporte e cadência de versão para Microsoft C++ Build Tools.
Veja abaixo uma lista completa das novidades.
Conformidade com padrões do C++
A equipe de front-end continuou implementando recursos do C++23 e C++20 e corrigindo problemas de conformidade:
- Implementações do C++23: Consulte o suporte do C++23 na postagem de blog do MSVC Build Tools 14.51 para obter detalhes.
- Melhorias no consteval: várias correção no
constevaltratamento de funções, constexprnew/deleteem módulos, matrizes de backup de lista de inicializadores, comportamento/experimental:constevalVfuncVtableagora habilitado por padrão e melhor diagnóstico de erro para expressões constantes com falha.- Melhorias na corrotina: Refatoração global relacionada à corrotina e substituição de cabeçalhos de corrotina experimentais.
- Modernização do analisador: o analisador de descida recursiva agora manipula
[[attributes]], com melhorias contínuas na recuperação de erros e na remoção de acessadores de token herdados.- Melhorias na linguagem C: adicionado suporte de qualificador
_Atomic, diagnóstico incorreto removido para membros da matriz flexível C99 e suporte__typeof__adicionado para tipos de função.Geração de código
O otimizador de back-end recebeu um investimento significativo em várias áreas:
- Otimizações guiadas de perfil baseado em exemplo: Suporte para otimizações guiadas de perfil baseado em exemplo com ferramentas de suporte. Mais detalhes a seguir em uma futura postagem no blog.
- Melhorias de otimização da Atribuição Estática Única (SSA): Implementou dezenas de novos padrões para simplificação algébrica, incluindo padrões de operador ternário, padrões aritméticos e min/max.
- Eliminação de subexpressão comum (CSE): melhorar o CSE com cargas de
[x + C]através de junções if/else, armazenamentos redundantes e verificações melhoradas de alias multibyte.- Substituição escalar de agregados (SROA): desempacotamento mais agressivo de estruturas.
- Otimizações de loop: a substituição de teste de função linear (LOFT) corrige e contabiliza otimizações de loop quando a indução primária é usada após o loop.
- Inlining: expansão do inlining para locais de chamadas limitados e propagação aprimorada de informações sobre tipos de parâmetros durante o inlining.
- Propagação de cópias: Vários aprimoramentos na propagação de cópias para constantes inteiras e cópias sequenciais.
- Redução de força: implementada a redução de conversões como uma otimização de redução de força.
- Predicado e jump-threading: melhorias nas otimizações baseadas em predicados para eliminar verificações de limites, incluindo melhor uso de predicados de padrões mínimos.
- Layout da pilha: o compilador agora prefere empurrar os registros preservados pelo receptor para a pilha em vez de usar slots de sombra, reduzindo a sobrecarga de prólogo e epílogo de função.
- PGO: compensações de tamanho/velocidade melhoradas por função para mitigar perfis não representativos e ajustes na PGO.
- Restringir ponteiros: Adição de suporte para restringir a semântica de ponteiro e habilitar otimizações de aliasing adicionais.
- Otimizações de correspondência de padrões: Novos padrões para
MSUB/MADDgeração,ADC/SBBpara adição/subtração condicional eCMOVE/NEvariantes.- Intel APX: Visualizar o suporte do Intel APX (Extensões avançadas de desempenho) na cadeia de ferramentas do MSVC. Mais detalhes a seguir.
ARM64 &SVE
- Suporte a SVE (extensão de vetor escalonável): Novo recurso importante que traz o ARM SVE para MSVC, incluindo suporte de tipo de front-end para tipos escalares e agregados SVE, redução intrínseca, desenrolamento de registro salvo pelo receptor, passagem de parâmetro de função variádica, instalação de arquivo de cabeçalho e suporte a tryblock/funclet. Várias correções de ICE e de erro de preenchimento foram resolvidas.
- Shrink-wrapping: correção de vários problemas, incluindo informações de desenrolamento apenas do epílogo de fragmentos, erros de geração de código com chkstk interrompendo X15 e regiões de shrink-wrapping com múltiplas entradas.
- Qualidade do código: novos padrões para
CSEL pow2, 0 + ORR → CSET + ORR_SHIFT, otimização deNEON_DUPR, redundante removidoNEON_INSRapósNEON_DUPR, padrões ARM NEON para x264, melhorias na fusão de instruções, nova digitação de registros após globregs e ajuste de alinhamento de funções.- SDK do DIA: Suporte completo ao SVE na interface de depuração, incluindo
RtlpGetSveContextPointerseIDiaStackWalkHelper3.SIMD & Vetorização
- Vetor SLP: Melhorias na vetorização do SLP (Superword Level Parallelism):
- Vetorização de redução escalar
- Suporte à instrução de vetor genérico e superdimensionado
- Otimizações de permutações e suporte de seleção sobredimensionada
- Melhorias do Vetorizador: Elevação de verificações de sobreposição de ponteiro de loop interno vetorizado para loops pai, suporte para loop de contagem de caracteres, suporte para acesso de memória não contíguo para tipos de dados de 2 bytes e melhoria de heurísticas de baixa contagem de iterações no ARM64.
- AVX/SSE: AVX512
memcpy/memset, substituição do AVX2memcmp, AVX10.2 e padrões de máscara de bits vetorizados para x264.Linker &PDB
- DIA: segurança de thread de inicialização COM e suporte a SVE.
- Fuzzing de PDB: iniciou o fuzzing de PDB nas builds noturnas.
- SPGO: Otimizações guiadas por perfil baseado em amostra disponíveis para uso.
Biblioteca Padrão (STL)
Em GitHub, o repositório microsoft/STL controla seu status com um alto nível de detalhes; consulte o Changelog para Ferramentas de Build do MSVC 14.51. Recursos notáveis da biblioteca que estão disponíveis recentemente:
- P0429R9 -
<flat_map>- P1222R4 -
<flat_set>- P2255R2 - Características de tipo para detectar a ligação de referências a objetos temporários
- P2590R2 – Gerenciamento de Tempo de Vida Explícito
- P2674R1 -
is_implicit_lifetimeOutras alterações notáveis:
- Revisamos massivamente
<regex>para corrigir problemas persistentes de correção e desempenho que estavam presentes desde sua implementação inicial no VS 2008 SP1. Depois de quase duas décadas, os excedentes de pilha são finalmente resolvidos!- Continuamos a adicionar e melhorar os algoritmos STL vetorizados por SIMD, usando SSE4.2 e AVX2 para x64/x86 e (agora disponível nas ferramentas de compilação do MSVC 14.51) usando NEON para ARM64/ARM64EC.
- Implementamos 18 resoluções de problemas LWG.
- Removemos recursos não padrão preteridos há muito tempo, como TR1,
<hash_map>,<hash_set>,<experimental/filesystem>,stdext::checked_array_iteratorestdext::unchecked_array_iterator.Tudo isso foi possível graças aos nossos incríveis colaboradores de GitHub.
AddressSanitizer (ASan)
- Suporte a ARM64: Melhoria do ASan para suporte a ARM64 com empacotamento abrangente de biblioteca, correções de interceptação e soluções de falsos-positivos.
- SanitizerCoverage: correção de tratamento de listas de bloqueio, problemas de codegen e declarações de encaminhamento para garantir que os inicializadores de sancov sejam invocados.
- Desempenho: Heaps em cache para melhorias de desempenho durante operações de memória de sombra.
Módulos & IFC
- Atualização de versão do IFC: O front-end do MSVC gera arquivos IFC de acordo com a versão 0.44 da especificação IFC.
- Correção de simultaneidade: corrigida uma corrida de uso após a liberação na resolução simultânea do registro de depuração do IFC.
Análise estática
- Consolidação do EspX: EspX foi mesclado e suas extensões, como o CppCoreCheck, em uma única DLL, simplificando a implantação.
- Correções de Bugs: Correção de falsos positivos da desreferência de localização imprecisa e erros internos do compilador (ICE) em /analyze.
ARM64EC & ARM64X
- Suporte de corrotina: Correção de thunks de entrada ausentes para estruturas de tópicos de corrotina e funções de rampa.
- ICF: Aperfeiçoamento na otimização da junção idêntica COMDAT (ICF) em binários ARM64X.
- XMM volátil: Corrigida a atribuição de XMM volátil no ARM64EC.
Diagnóstico
- Correção de C4319 que não estava sendo emitido ao compilar código C.
- Removidos os diagnósticos incorretos para membros de arranjo flexível C99.
- O aviso C4789 melhorou para reduzir falsos positivos.
Informações de depuração
- Habilitada a remoção de informações de depuração para reduzir o tamanho dos arquivos PDB.
Tíquetes Corrigidos
Os seguintes problemas relatados pelo cliente foram corrigidos nesta versão:
- __builtin_bit_cast erro do compilador interno
- typeof não está funcionando com tipos de função
- Must_inspect_result falso positivo (C++)
- _statusfp agendado antes das operações de ponto flutuante
- "LINK: erro LNK2001: símbolo externo não resolvido" após a atualização para o VS 17.14.5
- "REX. B NOP" é interpretado como "XCHG EAX,R8d" pela CPU, mas o VS 2026 o desmonta como um NOP
- [/permissive-] e modelo implicam o erro C3688: sufixo literal inválido '_s'
- [17.14.15] [Comentários] A depuração dinâmica do C++ inicializa localidades estáticas incorretamente
- [ARM64] Subtração e comparação de ULONGLONGs usam registros W
- Expressão lógica ternária [C++] mínimo/máximo corrompida em combinação com promoções de tipos inteiros
- [Módulos C++20] Erro LNK2001 ao importar um membro de classe/struct estático de um módulo de uma DLL
- [Neg] [aceita inválido] Ponteiro para membro da classe base como argumento de modelo
- [Neg][std:c++20] A exclusão de um operador new específico de classe templated não é detectada por restrições
- [Neg][std:c++latest] É possível modificar uma captura em lambda não mutável via C++ deduindo isso
- [permissive-] Nenhum CopyElision foi executado ao inicializar por meio da lista de inicializadores
- [permissive-] std::enable_if erro de compilação após a atualização de 17.13 para 17.14
- [permissive-][Regressão] Problema em condições específicas com operador de módulo no modelo variádico com "/permissive-" após a versão 19.32.
- [permissive-][Regressão] erro msvc C1001: erro interno do compilador (arquivo do compilador 'msc1.cpp', linha 1589)
- [Permissive-][Regressão] Nenhum ADL no inicializador de membro padrão devido à função livre local
- [Regressão] FUNCSIG está vazio para um lambda automático atribuído a um std::function
- [Regressão] "aviso C5287: operandos são tipos de enumeração diferentes" mesmo com uma conversão explícita
- [Regressão] C2106 '=': o operando esquerdo deve ser l-value Visual Studio 2026 Insiders [11206.111]
- [Regressão] cl: erro interno do compilador em código relativamente simples de manipulação de bits
- [Regressão] Matriz literal composta vazia causa erro interno do compilador
- [regressão] erro C2593 causado pelo operador estático[] no modo C++23
- [Regressão] erro fatal C1001: Erro interno do compilador
- [Regressão] Geração de código incorreta para &= em 17.14
- [Regressão] Resultado matemático incorreto usando o teste boost::rational e google
- [Regressão] Erro interno do compilador no VS2022 17.10+
- [Regressão] Erro interno do compilador ao tentar compilar um programa C++ simples
- [regressão] a captura lambda não movível por referência não funciona desde MSVC 17.4
- [Regressão] msdia140.dll ver 14.50.35719.0 CDiaSymbol::get_virtual sempre retorna false
- [Regressão] MSVC 19.44.35207.1 C2352 ao chamar o método de classe base
- [Regressão] MSVC 19.51 compila incorretamente o ffmpeg para arm64
- [Regressão] A subtração de ponteiro no MSVC 2026 de membros consecutivos de um struct com o mesmo tipo leva a um valor inesperado
- [Regressão] O MSVC falha quando há pelo menos um parâmetro de modelo 65536 em um pacote de parâmetros no CTAD
- Problemas de [Regressão] com a atualização do Visual Stdio 2022 17.14.15 – LINK: erro fatal LNK1000
- [Regressão] otimizador v.19.50 x64 gera código incorreto com /O2 e /EHs
- [Regressão] O compilador do Visual Studio otimiza incorretamente o branch do código nos conjuntos de ferramentas v143 e v145
- [Regressão] O VS2026 gera código FP incorreto
- [[Regressão]Neg][std:c++latest] Lambda com dedução desse parâmetro de tipo não relacionado é incorretamente permitido
- [Regressão][Office] InitAll no VS2026 ao inicializar um ponteiro em um vetor
- [Regressão][std:c++20] A declaração antecipada de tipo não funciona durante a especialização de tipo se o nome de tipo declarado antecipadamente for ambíguo
- [Regressão][std:c++20] ICE no CTAD para modelo de alias com
std::array- [Regressão][std:c++20] Erro interno do compilador ao usar tipos copiados condicionalmente
- [Regressão][std:c++20] Rejeita um nome de tipo qualificado válido envolvendo lambda em decltype
- [Regressão][std:c++20] Geração de código inválida silenciosa: regressão no Lambda Capture Constant Folding (v143, v145)
- [Regressão] ERRO INTERNO DO COMPILADOR: MSVC V19.50.35615 para x64
- [ssa-patterns-vect] Bug de otimização do Arm64 para expf
- [std:c++17] Erro interno do compilador ao definir o membro de dados estáticos do C++17 do modelo e seu construtor usa determinados argumentos
- [std:c++20] "CL.exe" saiu com o código -529706956.
- [std:c++20] [Regressão] rejeita chamada de operador válida
- [std:c++20] O guia de dedução de modelo de alias não funciona no c++20
- [std:c++20] Um modelo de função amiga embutida não pode acessar os argumentos de modelo do modelo de classe (C2065)
- [std:c++20] Expressão de dobra esquerda binária no tipo de retorno leva a erro de compilação
- [std:c++20] A instanciação de modelo de variável explícita do C++ causa erro interno do compilador ao usar o cabeçalho pré-compilado
- [std:c++20] C++/CLI – o namespace embutido não funciona
- [std:c++20] C++/CLI: ::typeid não pode ser usado em tipos internos
- [std:c++20] O C++20 requer cláusula com parâmetro de modelo não tipo que gera inconsistentemente um erro estranho do compilador
- [std:c++20] C++20: falha na compilação do consteval
- [std:c++20] C7602 falso positivo, bug de restrição de parâmetro de modelo constante
- [std:c++20] Não é possível alocar memória de heap no tempo de compilação
- [std:c++20] Não é possível encaminhar a classe declare na partição do módulo interno (C++20)
- [std:c++20] Não é possível passar uma função consteval como um argumento para outra função consteval
- [std:c++20] Não é possível usar um ponteiro na função imediata dentro da expressão constante
- [std:c++20] Falha na dedução do argumento de modelo de classe para o modelo de alias
- [std:c++20] O código gerado pelo compilador para determinadas coroutinas C++ fornece avisos inesperados e se refere a números de linha negativos
- A expressão constante [std:c++20] não é considerada constante na função imediata
- [std:c++20] O código Consteval não é compilado no MSVC
- [std:c++20] O erro C2100 está incorreto para expressões lambda não genéricas
- [std:c++20] Erro C2514: o modelo de classe não pode ser construído
- [std:c++20] erro C7535 devido à referência rvalue quando um construtor delega a outro construtor
- [std:c++20] ICE ao indexar em uma matriz C multidimensional NTTP no MSVC 14.44.35207
- [std:c++20] Se constexpr e require não verificam a existência de membros corretamente
- [std:c++20] Incluir um cabeçalho com #pragma system_header de um diretório de inclusão externo trata toda a unidade de tradução como um cabeçalho externo
- [std:c++20] Erro interno do compilador (ICE) ao manipular com ponteiro para função imediata
- [std:c++20] Erro interno do compilador ao se especializar em floats
- [std:c++20] Fazer uma chamada na função retornada do consteval lambda leva ao erro C7595
- [std:c++20] O MSVC falha ao compilar o modelo lambda do C++20 com o especificador consteval
- [std:c++20] O MSVC elimina incorretamente a duplicação de dois ponteiros de membro diferentes (&Case01::a, &Case02::num) passados como parâmetros de modelo automático sem tipo
- [std:c++20] MSVC rejeita programa válido envolvendo herdar função de conversão de um tipo de fechamento sem captura
- [std:c++20] Nenhum aviso C4706 para atribuição a std::unqiue_ptr usado como condição
- [std:c++20] A remoção de tokens placemarker com /Zc:preprocessor remove incorretamente os espaços em branco ao redor
- [std:c++20] requer restrição em uma função de membro e trata uma chamada de base como uma chamada estática
- [std:c++20] Corrupção de pilha de runtime relatada com std::visit
- [std:c++20] source_location() retorna um valor incorreto.
- [std:c++20] std::is_constructible fornece resposta incorreta para matrizes em C++20
- [std:c++20] std::source_information::current() exibe uma localização diferente no contexto consteval
- [std:c++20] std::source_location::current().function_name() produz cadeia de caracteres vazia quando usado como valor de argumento padrão
- [std:c++20] Não é possível chamar uma função consteval de outra
- [std:c++20] Usar um nome qualificado dependente como um argumento padrão para um parâmetro de tipo de template com restrição causa falha no compilador MSVC
- [std:c++20] Quando _ASSERTE recebe uma expressão com '",resulta em erro interno do compilador
- [std:c++20] Erro incorreto C3640 ao obter um ponteiro em uma função virtual pura
- [std:c++20] Sobrecarga incorreta chamada devido à referência rvalue que leva a uma recursão
- [std:c++20][Neg] A dedução de argumentos de modelo de classe seleciona o construtor incorreto
- [[std:c++20]Neg][Regressão] Regressão, o acesso à matriz no resultado de um operador ternário retorna incorretamente um prvalue
- [std:c++20][Regressão] C++ 20 módulos C1001: Erro interno do compilador
- [std:c++20][Regressão] C++: a referência de array é calculada incorretamente, levando a uma violação de acesso ou a um endereço de memória incorreto sendo acessado
- [std:c++20][Regressão] Não é possível especializar parcialmente o modelo no módulo C++20
- [std:c++20][Regressão] Falha ao especializar o modelo de função para o tipo abstrato após a chamada de SFINAE no tipo
- [std:c++20][Regressão] Erro interno do compilador encontrado no MSVC 14.44.35207
- [std:c++20][Regressão] Erro interno do compilador ao usar um tipo de retorno incorreto em uma função de conversão definida pelo usuário de modelo
- [std:c++20][Regressão] Erro interno do compilador ao compilar código de corrotina C++20
- [std:c++20][Regressão] Operação Inválida: bug de otimização FP
- [std:c++20][Regressão] Erro C2102 incorreto ao inicializar membro constexpr estático em linha com lista parcial de inicializadores designados
- [std:c++20][Regressão] Verificações de proteção de STL (_MSVC_STL_HARDENING) não são otimizadas (2)
- [std:c++20][regressão] especialização da função template e discrepâncias do compilador em relação a decltype
- [std:c++20][Regressão] Regressão do Visual Studio 17.12, ICE com associações estruturadas e lambda na instanciação de template de variável constexpr
- [std:c++20][Regressão] Quando uma expressão de lançamento aparece em algum lugar em uma lista de captura lambda,
noexcept(<lambda expression>)fornece um resultado incorreto- [std:c++20][Regressão]REGRESSÃO VS2026: lambda não pode acessar constante local
- [[std:c++23preview]std:c++latest][Regressão] Erro espúrio do compilador C2872 ao compilar com C++23preview
- [std:c++23preview]C++/CLI &C++23 – matrizes gerenciadas multidimensionais não funcionam
- [std:c++latest] #pragma warning(disable) não está funcionando em cabeçalhos aninhados usados com unidades de cabeçalho
- [std:c++latest] Uniões anônimas em namespaces não nomeados são incorretamente obrigadas a usar estático
- [std:c++latest] Inicialização constante do buggy __declspec(selectany) em módulos C++
- [std:c++latest] Erro de compilação de módulos C++ ao usar uma declaração de 'using' de um módulo diferente
- [std:c++latest] C2355 é disparado incorretamente quando a classe local é definida em uma função de membro estático
- [std:c++latest] C4389 é disparado ao comparar um membro de campo de bits de um bit com um bool
- [std:c++latest] Não é possível inicializar a matriz com elementos consteval construídos
- [std:c++latest] O compilador falha com o erro C1001 ao usar CTAD em um tipo aninhado com noexcept dependente de modelo
- [std:c++latest] Erro do compilador com literais definidos pelo usuário constexpr em uma expressão obrigatória
- [std:c++latest] CTAD com inicializador designado não compila
- [std:c++latest] A função excluída desabilita o ADL no contexto imediato
- [std:c++latest] Nomes de enumeração importados publicamente para a declaração de classe com using-enum-declaration (usando enumeração) são perdidos nos limites de módulo
- [std:c++latest] erro C3535: você não pode deduzir o tipo para "auto" de "função sobrecarregada"
- [std:c++latest] erro C7595: chamar para função imediata não é uma expressão constante
- [std:c++latest] Erro ao analisar a declaração de função tomando um ponteiro de função e tendo uma lista de inicialização vazia como um argumento padrão
- [std:c++latest] Saída de linha em branco adicional com /E e #warning
- [std:c++latest] Aviso falso positivo C4305 ao usar um parâmetro de modelo não tipo padrão
- [std:c++latest] A expressão de dobra falha ao expandir o pacote completo no modelo aninhado após a correção do C7515
- [std:c++latest] A especialização de funções e os conceitos causam uma chamada ambígua à função sobrecarregada
- [std:c++latest] ICE usando Boost.PFR com módulos C++ (vs-17.14.0-preview1)
- [std:c++latest] ICE durante a compilação de mp-units
- [std:c++latest] ICE com módulos e if de consteval
- [std:c++latest] ICE com guia de dedução de modelo
- [std:c++latest] ICE: writer.cpp:542 o impossível aconteceu ao usar folly + módulos
- [std:c++latest] identificador não encontrado na expressão de dobra aninhada
- [std:c++latest] No msvc V145, o BUG é acionado ao usar membros de intraclasse em restrições em modelos dentro de classes
- [std:c++latest] A interação entre no_unique_address e has_unique_object_representations está incorreta
- [std:c++latest] Erro interno do compilador ao vincular o módulo c++20
- [std:c++latest] Erro interno do compilador ao usar módulos C++
- [std:c++latest] Erro interno do compilador. (arquivo do compilador 'D:\a_work\1\s\src\vctools\Compiler\CxxFE\sl\p1\c\trees.c', linha 19104)
- [std:c++latest] Erro de expressões de dobra do pacote mixins
- [std:c++latest] MSVC: a estrutura aninhada depende dos parâmetros de modelo de classe externa e falha como NTTP dentro do escopo da classe (C2993)
- [std:c++latest] O MSVC falha ao compilar o código (em funcionamento) envolvendo metaprogramação de modelo
- [std:c++latest] Lambdas aninhados causam erro no MSVC com vinculação estruturada rotulada
- [std:c++latest] Observe que o aviso C4477 é impreciso para size_t, redux
- [std:c++latest] Falha na resolução de sobrecarga para parâmetros de modelo que não são de tipo enumerado
- [std:c++latest] Pacote de parâmetros com referência ao problema da matriz C
- [std:c++latest] Não é possível deduzir o tipo de argumento para std::optional
- [std:c++latest] Uniões não são compatíveis com layout, apesar de conter membros de dados compatíveis com layout
- [std:c++latest] Falha universal do CL.exe com código de saída -1073741819 com std::filesystem::path aninhado no C++17+
- [std:c++latest][Neg] O destruidor é privado, mas o compilador permite criar um objeto na pilha.
- [std:c++latest][regressão] Bug aparente do analisador C++ – emite C2143 + C2451 (+ opcional C2530 + C3531) se a expressão range-for dentro de uma função de modelo contiver um lambda
- [std:c++latest][Regressão] C3520 ao expandir o pacote de parâmetros de modelo em um modelo de função de membro de um modelo de classe
- [std:c++latest][Regressão] Não é possível usar a instância de alias de modelo se o analisador primeiro vir a instanciação do alias em uma classe de modelo
- [std:c++latest][Regressão] Erro do compilador interno nas versões mais recentes do MSVC ao compilar expressão de dobra específica
- [std:c++latest][regressão] Erro interno do compilador envolvendo ponteiro de função membro, herança múltipla e função de passagem constexpr.
- [std:c++latest][Regressão] Erro interno do compilador com referência lambda e constexpr no Visual Studio 2026 ( CL.exe versão 19.50.35722 para x64 )
- [std:c++latest][Regressão] Lambda não pode acessar a constante local
- [std:c++latest][regressão] Erro do compilador interno MSVC 14.50.35503 [Insiders do Visual Studio 2026]
- [std:c++latest][Regressão] Falha na resolução de sobrecarga com uma especialização de modelo de classe
- [std:c++latest][Regressão] Regressão (Erro de Compilação) ao usar módulos e fmtlib
- [std:c++latest][Regressão]Resultado incorreto quando o struct contém um membro [[no_unique_address]]
- [std:c++latest][regressão]Usando uma lista de inicializadores como um argumento de modelo quando existe uma sobrecarga incompatível resulta no erro C2440
- [std:c++latest][Regressão]Aviso C4864 gerado incorretamente ao chamar funções de membro não modelo substituídas da classe de base de modelo
- [std:c++latest]O C++ IntelliSense e o compilador reclamam da variável errada ser const
- [std:c++latest]O operador ternário não propaga o operando temporário para a referência de rvalue resultante.
- [std:c++latest]Usar um especificador de tipo elaborado para se referir a um enum cujo tipo base não é int resulta em erros C3432 e C3433
- [std:c11] O MSVC avisa incorretamente que os membros da matriz flexível C99 são uma extensão não padrão (matrizes de tamanho zero)
- ARM64 /EHa - Movimento de código incorreto
- Problema do ARM64 com inicializadores e destruidores estáticos e /OPT:ICF
- ARM64EC: falha ao chamar a função C++ na DLL que contém pragmas OpenMP, do aplicativo C# por meio de DllImport
- A DLL de encaminhamento arm64x não oferece suporte a DATA
- ASAN_VCASAN_DEBUGGING está quebrado na versão prévia 1.0 17.14.3
- Os campos de bits com um tipo bool no início são interrompidos no modo C
- Falha do compilador C++ ao usar fabsf em um loop com otimização (/O2 /Ob /Ot) e /fp:precise
- Resultado incorreto da subtrução de ponteiro constexpr do C++
- Depuração dinâmica de literais de cadeia de caracteres nulos em C++
- C++/CLI C2668 Chamada ambígua nas versões do .NET 9 e posteriores
- C++/CLI relançando exceção .NET falha com o .NET Framework 4.8 em x64
- C1001: Erro interno do compilador com compilações otimizadas de 64 bits da versão recente do VIM usando o VS 17.14
- C1090: Falha na chamada à API do PDB, código de erro '3'
- C2034 (sobre campos de bits excessivamente largos) não deveria ser considerado um erro nos modos C++
- C4319 não emitido ao compilar código C
- Problemas relacionados ao C4756 no VS 2022
- locais/parâmetros co-localizados com vida útil sobreposta 14.40.33814 e versões posteriores
- CTime gera um erro em fusos horários atrás do Horário de Greenwich (GMT). As alterações no VS 15.8 produziram uma regressão
- CTime::CTime falha com o ano 1900
- Ponteiro solto no arquivo cpp atlmfc Visual Studio occsite.cpp
- Inicializadores de membro padrão para campos de bit não funcionam ao importar struct (ou classe) de um módulo
- Aviso incorreto C5061: o uso de um operador de vírgula como uma expressão subscrita foi descontinuado
- EXE compilado com ASAN (e as libs ASAN e DLLs às vezes travam durante a saída)
- Falha ao otimizar a sequência redundante DUP, SMOV (ARM64)
- Erro fatal C1001: erro interno do compilador
- O GC coleta durante a chamada de método na classe c++/cli ref
- Guarded_by_ em uma variável local estática relata um erro de sintaxe de anotação
- Código ilegal é aceito devido à referência rvalue que leva a uma recursão
- Concatenação inadequada de literais de cadeia de caracteres Unicode
- Campo de bits de gravação de código incorreto
- Inicialização incorreta de membro agregado aninhado com valor de membro não relacionado
- Instruções incorretas geradas no AVX2
- Geração incorreta da estrutura de caso de alternância no alvo arm64
- Dedução incorreta de argumento de modelo para função chamada com argumento this de uma função membro qualificada por referência fora de linha.
- Erro interno do compilador para expressão ternária com tipo não copiável e lançamento
- erro interno do compilador no msvc 14.50.35717
- Erro interno do compilador no type_traits e no operador bool na classe derivada
- Erro interno do compilador ao direcionar ARM64 com VS 2026 18.0 Insiders
- Erro interno do compilador ao habilitar Code Analysis (/analyze) com variadic templates + SAL
- Erro interno do compilador ao usar OpenMP e try/catch na mesma função com /clr habilitado
- Erro interno do compilador com o compilador de otimização C/C++ versão 19.50.35710 para ARM64
- Erro interno do compilador com o compilador de otimização C/C++ versão 19.50.35722 para ARM64
- Erro interno do compilador com parâmetros de modelo C++ e palavra-chave de modelo ausente
- Os drivers KASAN não conseguem vincular as funções de cadeia de caracteres largas de referência (wcscat, wcscpy, wcsncpy)
- Palavras-chave NÃO DEVEM ser traduzidas em erros, avisos ou sugestões.
- lambda-nested decltype de lambda aciona o erro C2011
- O vinculador não deve avisar para diferentes "thunks de push de icall" arm64EC que são equivalentes
- Cadeias de caracteres longas formatadas em octal causam DoS no computador do usuário e provocam o erro C1060
- MFC static lib relata perda de memória
- Microsoft.VCToolsVersion.v143.default.txt na versão 17.2 não é atualizado da versão 17.1
- Compilação incorreta de
svset_neonq(arm_neon_sve_bridge.h) com 19.50.35722 para ARM64- Erro de preenchimento do loop SVE do AArch64 (versão 19.50.35722 para ARM64)
- Chamada de destrutor ausente quando /Zc:nrvo está ativado (/O2 e /std:c++20)
- O uso incorreto do resultado do _BitScanForward pode levar a uma falha no compilador
- Módulos: vazamento de declarações de uso de funções exportadas
- O MSDIS está decodificando incorretamente algumas instruções xchg como nop
- O MSVC falha ao associar uma função noexcept ao modelo instanciado com uma assinatura noexcept
- O MSVC não consegue gerar INCP (e amigos) – versão 19.50.35722 para ARM64
- O MSVC falha ao gerar MLA/MAD (versão 19.50.35722 para ARM64)
- O MSVC falha ao otimizar o idioma LASTA (versão 19.50.35722 para ARM64)
- O MSVC gera um aviso C6001 incorreto
- MSVC x64: _mm_shuffle_ps erroneamente eliminado após vcvtpd2ps em /O1 ou /O2
- O novo recurso de Depuração Dinâmica do C++ ocasionalmente causa o erro de link 1136
- a dedução noexcept não está funcionando (CWG 2355)
- Elisão obrigatória de cópia não implementada no operador ternário
- Observando a saída não determinística ao construir o UCRT para compilações CHPE
- A otimização é perdida durante a negação segura da UB
- Regressão de desempenho no cálculo de hash com função de hash personalizada ao migrar para o MSVC 17.14.7
- Falha no runtime de instrumentação da PGO no ARM64
- O operador de posicionamento new[] em <vcruntime.h> deve ser marcado _MSVC_CONSTEXPR
- Geração de código x64 ruim para intervalo para loop na matriz de membros
- Literais de string brutas possuem um limite de ~16380 caracteres
- O analisador SAL2 não consegue lidar com bloqueios_compartilhados para a anotação Guarded_by
- Lista de bloqueio de cobertura do Sanitizer corrompida
- A cobertura do Sanitizer produz codegen inválido para binários C++
- Bug de otimização de código SIMD
- A especialização da função de modelo estático requer que a estática seja especificada; clang avisa que não deve
- O CSE da SSA confunde ponteiros diferentes
- Módulos da Biblioteca Padrão: máquina de números aleatórios emite erro inválido C2512
- A época estática do thread local tem deslocamento TLS incorreto ao usar /dynamicdeopt, resultando em falha
- std:c17 e matrizes não dimensionadas != LOVE
- A concatenação literal de cadeia de caracteres com prefixos de codificação diferentes falha
- função de modelo não encontrada
- Operador ternário desnecessariamente exige construtor de cópia
- Erro inesperado C7595 relatado
- Resultado inesperado ao compilar a função consteval
- Constante de tempo de compilação não utilizado no build de versão x64 causa violação de acesso no compilador durante o estágio de vinculação
- Utilizando o conjunto de ferramentas 17.14, um dos nossos projetos gera um erro de link LNK1120
- O compilador ARM64EC do VC++ 17.6 versão prévia 1 apresenta erros internos quando encontra a palavra-chave __vectorcall
- A cópia VisualCppTools.14.50.35724 PdbCopy.Exe Arm64 Pdb falha
- Supõe-se que a variável local volátil não seja alterada em x64
- Variável volátil não lida após a gravação
- VS 17.14.13 Codegen inadequado para registro x64 SIMD não configurado de forma correta
- VS18.0 Insiders MSVC ICE no mapa de mensagens MFC de uma classe com base virtual
- Erro de otimização no vs2022
- Aviso DO MSVC do VS2026 C4865 se refere à alteração de tipo subjacente com /Zc:enumTypes
- Windows SDK está ausente #include
<utility>em atlcom.h- Falha do compilador x64 ao compilar o arquivo de código-fonte Mesa com otimizações
- Falha do Emulador x64 quando um thread ARM64EC chama uma corrotina x64 que chama outra corrotina ARM64EC
Principais correções de bug
| Principais correções de bug | Da comunidade |
|---|---|
| Registro MCP não está usando a URL correta | ticket de feedback |
| GitHub Copilot executando comandos do PowerShell no terminal do Copilot termina em estado pendente | ticket de feedback |
De toda a nossa equipe, obrigado por escolher Visual Studio! Para obter as atualizações, recursos e notícias mais recentes, confira a Visual Studio Hub e mantenha contato.
Divirta-se programando!
A equipe Visual Studio
Observação
Essa atualização pode incluir novos softwares de Microsoft ou de terceiros licenciados separadamente, conforme definido nos Avisos de terceiros 3 ou em sua licença de acompanhamento.