Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Estamos entusiasmados por anunciar a disponibilidade da atualização de abril do Visual Studio 2026. Esta versão marca o início de uma nova era para o Visual Studio com uma integração profunda de IA na plataforma, fundamentos mais sólidos e desempenho melhorado.
Descarregue Visual Studio 2026 Insiders para desfrutar destas novas funcionalidades e melhorias.
Versão 11723.189
Lançado a 28 de abril de 2026
| Principais correções de bugs | Da comunidade |
|---|---|
| Erro ao usar Add-Migration na consola Nuget no Visual Studio Insiders | Ticket de feedback |
TypeScript 7 (Pré-visualização nativa) Problemas Conhecidos
TypeScript 7 traz melhorias significativas de desempenho à Visual Studio, e continuamos a refinar a experiência.
Eis no que estamos a trabalhar ativamente:
IntelliSense. Pode notar que as finalizações não aparecem em alguns casos. Em
.cshtmlficheiros, a lista de conclusão TypeScript pode não aparecer dentro de uma<script>etiqueta. Ao aceitar uma conclusão para o último argumento de uma função, os parênteses finais podem ser removidos. Pressionar Ctrl+Espaço pode contornar isto. Ações de Código e Refatoração. Soluções rápidas (Ctrl+.) ainda não estão disponíveis. Só podem aparecer sugestões baseadas em IA no Copilot. O comando Organize Imports (Ctrl+R, Ctrl+G) também não está disponível. Navegação e Pesquisa. Os menu de navegação no topo do editor não mostram símbolos de documentos. Encontrar Todas as Referências (Shift+F12) mostra uma lista plana sem agrupamento semântico (leitura/escrita/declaração), e as referências cruzadas podem estar incompletas. Os resultados da pesquisa por código podem mostrar títulos e descrições incompatíveis. CodeLens. Contagens de referências (por exemplo, "19 referências") não aparecem acima das declarações de interface e classe. Dicas de informação ao passar o rato. As dicas de ferramenta ao passar o cursor não têm o ícone do símbolo e têm uma coloração de texto diferente em comparação com o serviço de língua anterior. Trechos. Insert Snippet (Ctrl+K, Ctrl+X) não funciona em ficheiros JavaScript. JSDoc. Escrever/**acima de uma função com parâmetros não gera automaticamente o template JSDoc com@paramentradas. Formatação. Desmarcar "Formatar no bloco aberto {" nas Ferramentas > Opções > Editor de Texto > JavaScript/TypeScript > Formatação não tem efeito. Lista de tarefas. Se um ficheiro TypeScript contiver tanto um comentário TODO como uma variável chamada "TODO", a Lista de Tarefas pode mostrar incorretamente tarefas duplicadas. Renomeação de ficheiros e pastas. Renomear um ficheiro ou pasta num projeto TypeScript não atualiza consistentemente os caminhos de importação noutros ficheiros. Monitorização de ficheiros. Quando os ficheiros são modificados fora do Visual Studio, as alterações não são detetadas até que o ficheiro seja aberto e modificado dentro do IDE. Erros provenientes de edições externas não aparecerão na Lista de Erros.Agradecemos o seu feedback enquanto trabalhamos para a paridade total. Por favor, reporte quaisquer problemas através do Help > Enviar Feedback em Visual Studio.
Versão 11716.218
Lançado em 21 de abril de 2026
| Principais correções de bugs | Da comunidade |
|---|---|
| F# A correspondência de strings vazias em citações de código causa FS0452 | Ticket de feedback |
| A extensão do Github Copilot para Azure falha na ferramenta de Consulta do Azure Resource Graph | Ticket de feedback |
Caraterísticas
Lançado a 14 de abril de 2026.
IDE
Temas escuro/claro do sistema 📣
Muda automaticamente Visual Studio temas quando o teu sistema passa entre o modo Luz e o Escuro, mantendo o teu IDE sincronizado com o ambiente.
Pode preferir um tema mais claro e de maior contraste durante o dia e um tema mais escuro à noite. O Visual Studio alterna automaticamente entre os temas Claro e Escuro selecionados quando as definições do sistema mudam, mantendo o IDE sincronizado com o ambiente.
Como usá-lo
- Ferramentas Abertas → Opções → Ambiente → Experiência Visual
- Definir o tema de cor para utilizar as definições do sistema
- Selecione um tema System Light e um tema System Dark
O Visual Studio aplica automaticamente o tema correspondente quando o tema do Windows muda.
![]()
📣 Consulte o ticket de recurso para compartilhar seus comentários e continuar a conversa.
GitHub Copilot
Visualizar e gerir Competências de Agente
Navega, edita e localiza todas as tuas Skills do Agente do Copilot na janela do chat.
Agora pode visualizar todas as suas competências de agente num só local. Ao clicar no ícone de ferramentas no canto inferior direito da sua janela de chat, pode abrir um painel dedicado de competências que lista todas as competências descobertas no seu espaço de trabalho e perfil de utilizador, facilitando a visualização do que está disponível num instante.
A partir do painel, pode gerir as competências diretamente sem sair do Visual Studio:
- Editar uma habilidade - clique no menu de três pontos (⋯) em qualquer habilidade para abrir e editá-la diretamente no VS.
- Abrir a localização do ficheiro - usar o mesmo menu para aceder diretamente ao ficheiro de skill no disco.
- Pesquise uma competência – use a barra de pesquisa no topo para encontrar rapidamente uma habilidade específica por nome ou palavra-chave.
![]()
Isto baseia-se no suporte de Competências para Agentes introduzido anteriormente, dando-lhe uma forma mais fácil de usar para navegar e manter as suas competências. Experimenta e partilha o teu feedback!
Diferença do resumo multi-ficheiro para alterações do Copilot
Revise todas as alterações do Copilot em vários ficheiros numa única visão de resumo com controlos granulares de aceitação e anulação.
Quando o Copilot edita vários ficheiros, já não precisa de rever cada um separadamente. A nova visão geral de múltiplos ficheiros mostra todas as alterações num só local.
Clique no botão Abrir Resumo de Alterações no conjunto de trabalho Copilot Chat depois de Copilot terminar a edição. Vais ver um único separador com todos os ficheiros alterados e os seus diferenciais juntos.
![]()
Pode aceitar ou desfazer alterações em diferentes níveis:
- Em todos os ficheiros ao mesmo tempo
- Por ficheiro
- Por cada fragmento de diferença individual
Também pode abrir qualquer ficheiro separadamente para ver o seu contexto completo.
![]()
Use os controlos no canto superior esquerdo para:
- Colapse todo o conteúdo dos ficheiros para ver apenas os cabeçalhos dos ficheiros para uma visão geral rápida
- Navegue entre diferentes blocos usando os botões seguinte e anterior para saltar rapidamente pelas mudanças
Esta perspetiva facilita perceber o que o Copilot alterou na sua base de código e dá-lhe controlo preciso sobre quais edições manter.
Indicador de janela de contexto
Veja quanto contexto Copilot está a usar e otimize-o com um único clique.
Quando conversas com o Copilot, ele acompanha o teu histórico de conversas, ficheiros anexados e outro contexto para te dar respostas relevantes. Isto chama-se janela de contexto, e tem um limite. Uma vez que se encha, o Copilot pode perder o rasto das partes anteriores da sua conversa.
Agora pode ver exatamente quanto da janela de contexto já utilizou com o novo indicador.
Procure o ícone do anel no canto superior direito da caixa de prompt do Copilot Chat. Este mini quadro de donuts vai enchendo-se à medida que a conversa cresce, mostrando-lhe de relance o quanto de contexto consumiu.
Clique no indicador para ver:
- Percentagem exata de contexto utilizado
- Análise detalhada do que contribui para o contexto
- Botão Resumir conversa para compactar a sua conversa e libertar espaço
![]()
Quando a capacidade do seu contexto estiver a esgotar-se, clique em Resumir para comprimir partes anteriores da sua conversa. Isto permite-lhe continuar a conversar sem perder contexto importante ou iniciar uma nova conversa.
![]()
Planeie antes de construir com o modo Planeamento
Crie e itere nos planos de implementação antes de fazer qualquer alteração ao código.
Por vezes, deves pensar numa abordagem antes de mergulhar no código. O novo modo de chat Planning permite-lhe colaborar com Copilot num plano de implementação – sem fazer alterações à sua base de código.
Como funciona
![]()
Quando seleciona o modo Planeamento, Copilot segue um processo em dois passos:
- Explore e clarificar - Copilot usa ferramentas de leitura apenas para compreender o seu código-fonte e faz perguntas de esclarecimento. Para tarefas simples, elabora um plano imediatamente.
- Elaborar e refinar - O Copilot cria um plano de implementação detalhado que pode rever, discutir e refinar juntos.
![]()
Quando estiveres pronto, clica Implementar plano para passar para o modo Agente para execução.
![]()
Os planos são guardados como markdown
Copilot guarda todos os planos como ficheiro markdown no teu repositório em
.copilot/plans/plan-{title}.md. Este ficheiro é a única fonte de verdade. Podes editá-lo diretamente no teu editor ou refinar através do chat. O Copilot deteta as tuas alterações e mantém o plano sincronizado.Quando usar o modo Planeamento
- Grandes funcionalidades - Divida trabalhos complexos em passos claros antes de escrever código.
- Bases de código desconhecidas - Deixe-Copilot explorar e explicar antes de propor alterações.
- Colaboração em equipa - Partilhar planos como ficheiros de marcação para revisão antes da implementação
Ferramentas Git
Resumo diferencial de múltiplos ficheiros 📣
Veja as alterações de ficheiros num diferencial unificado para uma compreensão rápida.
O resumo multi-ficheiro apresenta todas as linhas alteradas de vários ficheiros numa única vista unificada, para que possa rapidamente compreender o âmbito de um commit ou pull request sem ter de saltar entre ficheiros.
![]()
Irá ver o botão Abrir resumo das alterações em vários locais:
- Alterações do Git
- Detalhes do Commit no Git → Ver Histórico da Ramificação
- Pull requests na Vista → janela do Repositório Git
A lista de pull requests está atualmente disponível apenas no Visual Studio Insiders com a funcionalidade de pré-visualização View pull requests para um repositório Git.
![]()
📣 Consulte o ticket de recurso para compartilhar seus comentários e continuar a conversa.
Adicionar commit no Copilot Chat
Anexar contexto de commit ao Copilot Chat diretamente da IDE.
Gostaria de rever um commit e contar com a ajuda do Copilot para compreendê-lo, detetar problemas ou basear novas edições nele? Em vez de procurar o ID do commit e colá-lo no Chat, agora pode clicar com o botão direito num commit e adicioná-lo diretamente como contexto no Copilot Chat.
Pode encontrar este comando nas seguintes superfícies:
- Histórico do Git (Git > Ver Histórico do Ramo)
- Histórico de Ficheiros (Clique com o botão direito num ficheiro em Explorador de Soluções, depois Git > Ver Histórico)
- Anotar (Blame) (Clicar com o botão direito no editor, depois Git > Anotar (Blame))
Também podes selecionar múltiplos commits para anexar vários ao chat ao mesmo tempo.
![]()
Copilot recebe o commit como contexto, por isso podes perguntar coisas como explica esta alteração, isto introduz algum problema, ou escreve uma alteração semelhante para este outro ficheiro.
![]()
Instruções da mensagem de commit movidas
Commit message customizadas agora utilizam o ficheiro de instruções do Copilot em vez da configuração do Visual Studio.
Se tens usado a introdução de texto Commit message custom instructions na definição GitHub → Copilot → Source Control Integration para adaptar as mensagens de commit geradas por Copilot, essa definição deixará de se aplicar. Daqui para a frente, as instruções para mensagens de commit serão geridas através do ficheiro de instruções personalizadas do Copilot.
Isto faz com que as instruções das mensagens de commit estejam alinhadas com a forma como outras instruções personalizadas do Copilot funcionam no seu repositório, mantendo tudo num só lugar.
Configurar instruções personalizadas
Adicione as instruções da sua mensagem de commit ao ficheiro de instruções do Copilot do seu repositório. Para detalhes completos da configuração, consulte instruções para adicionar repositório.
![]()
Revisar código com o agente Git no Copilot Chat
Inicia uma revisão de código a partir de Copilot Chat e vê resultados na experiência de revisão Visual Studio.
Agora podes rever o teu código através do agente Git no Copilot Chat. Muda para o agente Git e pede-lhe para rever as tuas alterações.
![]()
O agente analisa as tuas alterações não comprometidas usando o GitHub Copilot Code Review e apresenta comentários em linha no editor e na vista Git Changes. Pode então continuar a conversa no chat para discutir as conclusões, pedir explicações ou trabalhar nas sugestões de modificações.
![]()
Para saber mais sobre a experiência de revisão de código, consulte Reveja alterações locais com o Copilot Chat.
C++
MSVC Build Tools v14.51
Suporte melhorado a C++23, desempenho e muitas correções de bugs.
A versão 14.51 do Microsoft C++ (MSVC) Build Tools já está disponível e é instalada por defeito com as cargas de trabalho de desktop e jogos em C++. Para verificar se está instalado, basta certificar-se de que um ou ambos estes componentes estão verificados no instalador:
- Ferramentas de compilação MSVC para x64/x86 (mais recentes)
- Ferramentas de compilação MSVC para ARM64/ARM64EC (mais recente)
Também pode selecionar um dos componentes rotulados com o número de versão v14.51 para fixar a 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 Nova cadência de lançamentos e ciclo de vida de suporte para Microsoft C++ Build Tools.
Veja abaixo uma lista completa das novidades.
Conformidade com os Padrões C++
A equipa frontend continuou a implementar funcionalidades C++23 e C++20 e a corrigir problemas de conformidade:
- Implementações em C++23: Por favor, consulte o artigo do blogue de Suporte a C++23 no MSVC Build Tools 14.51 para mais detalhes.
- Melhorias do Consteval: Múltiplas correções no
constevalmanuseio de funções, constexprnew/deletenos módulos, listas de inicialização em arrays de suporte,/experimental:constevalVfuncVtablecomportamento ativado por padrão, e melhores diagnósticos de erros para expressões constantes falhadas.- Melhorias das Corrotinas: Refatoração global relacionada com corrotinas e depreciação de cabeçalhos experimentais de corrotinas.
- Modernização do Parser: O parser de descida recursiva agora gere
[[attributes]], com melhorias contínuas na recuperação de erros e a remoção de acessores de token legados.
Melhorias na Linguagem C: Adicionou suporte para qualificadores, removeu diagnósticos incorretos para membros flexíveis de array C99 e adicionou suporte para tipos de funções.Geração de código
O otimizador de backend recebeu um investimento significativo em várias áreas:
- Otimizações guiadas por perfis baseadas em amostra: Suporte para otimizações guiadas por perfis baseadas em amostras com ferramentas de apoio. Mais detalhes virão a seguir num futuro artigo do blogue.
- Melhorias na otimização da Atribuição Única Estática (SSA): Implementou dezenas de novos padrões de simplificação algébrica, incluindo padrões de operadores ternários, padrões aritméticos e min/max.
- Eliminação de Subexpressões Comuns (ECS): Melhorou o CSE com imensas
[x + C]junções através do if/else, armazenamentos redundantes e melhorou as verificações de aliasing multibyte.- Substituição escalar de agregados (SROA): Desempacotamento mais agressivo das estruturas.
- Otimizações de Loops: O Linear Function Test Replace (LFTR) corrige e otimiza o loop contado quando a indução primária é usada após o loop.
- Inlining: Inlining limitado e prolongado no local de chamada, e melhoria na propagação da informação do tipo de parâmetros durante o inlining.
- Propagação de Cópias: Múltiplas melhorias na propagação de cópias para constantes inteiras e cópias sequenciais.
- Redução de Força: Implementou a redução de conversões como uma otimização para redução de força.
- Predicate e Otimização de Saltos: Melhorias nas otimizações baseadas em predicados para eliminar verificações de limites, incluindo uma melhor utilização de predicados a partir de padrões mínimos.
- Disposição da Pilha: O compilador prefere agora empurrar registos guardados pelo callee para a pilha em vez de usar slots sombra, reduzindo a sobrecarga do prólogo/epílogo da função.
- PGO: Compensações melhoradas em tamanho/velocidade por função para mitigar perfis não representativos e melhorias na redução do PGO.
- Restringir Ponteiros: Foi adicionado suporte para restrição semântica de ponteiros para permitir otimizações adicionais de aliasing.
- 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: Suporte antecipado de Intel APX (Advanced Performance Extensions) no conjunto de ferramentas MSVC. Mais detalhes a seguir.
ARM64 & SVE
- Suporte para SVE (Extensão Vetorial Escalável): Funcionalidade nova importante que traz o ARM SVE para MSVC, incluindo suporte a tipos frontend para tipos escalares e agregados SVE, rebaixamento intrínseco, desenrolamento de registos guardados por callee, passagem variádica de parâmetros de funções, instalação de ficheiros de cabeçalho e suporte a tryblock/funclet. Foram corrigidos múltiplos problemas de ICE e má compilação.
- Embrulhamento por Diminuição: Corrigiram vários problemas, incluindo informações de desmontagem de fragmentos apenas em epílogo, bugs na geração de código com chkstk a terminar o X15, e regiões de redução com múltiplas entradas.
- Qualidade do Código: Novos padrões para
CSEL pow2, 0 + ORR → CSET + ORR_SHIFT, otimizaramNEON_DUPR, removeram redundantesNEON_INSRapósNEON_DUPR, padrões ARM NEON para x264, melhorias na fusão de instruções, redigitação de registos após globregs e ajuste de alinhamento de funções.- DIA SDK: Suporte total ao SVE na interface de depuração, incluindo
RtlpGetSveContextPointerseIDiaStackWalkHelper3.SIMD & Vetorização
- Vetorizador de SLP: Melhorias na vetorização do Paralelismo a Nível de Superpalavra (SLP):
- Vetorização de redução escalar
- Suporte genérico e sobredimensionado para instruções vetoriais
- Otimizações de permutação e suporte a seleção sobredimensionada
- Melhorias no Vetorizador: Elevação das verificações de sobreposição de ponteiros vetorizados dos loops internos para os loops pais, suporte a loops de contagem de caracteres, suporte de acesso à memória não contígua para tipos de dados de 2 bytes e heurísticas melhoradas para contagens baixas de iterações no ARM64.
- AVX/SSE: AVX512
memcpy/memset, AVX2 overridememcmp, AVX10.2 e padrões de mascaramento de bits vetorizados para x264.Linker e PDB
- DIA: Inicialização COM, segurança de threads e suporte a SVE.
- Fuzzing PDB: Desencadeou o efeito de PDB a partir das builds noturnas.
- SPGO: Otimizações guiadas por perfis baseadas em amostras disponíveis para uso.
Biblioteca Padrão (STL)
No GitHub, o repositório microsoft/STL acompanha o seu estado com um elevado nível de detalhe; veja o Changelog para as Ferramentas de Build MSVC 14.51. Funcionalidades notáveis da biblioteca que estão recentemente disponíveis:
- P0429R9 -
<flat_map>- P1222R4 -
<flat_set>- P2255R2 - Características de Tipo para Detetar Referências Ligadas a Temporários
- P2590R2 - Gestão Explícita de Ciclo de Vida
- P2674R1 -
is_implicit_lifetimeOutras alterações notáveis:
- Reformulámos de forma massiva
<regex>para corrigir problemas de correção e desempenho duradouros que existem desde a sua implementação inicial no VS 2008 SP1. Depois de quase duas décadas, os overflows de pilha foram finalmente corrigidos!- Continuámos a adicionar e melhorar algoritmos STL vetorizados por SIMD, usando SSE4.2 e AVX2 para x64/x86, e (recentemente lançados no MSVC Build Tools 14.51) usando NEON para ARM64/ARM64EC.
- Implementámos 18 resoluções de questões do LWG.
- Removemos funcionalidades não Standard, há muito obsoletas, como TR1,
<hash_map>,<hash_set>,<experimental/filesystem>,stdext::checked_array_iterator, , estdext::unchecked_array_iterator.Tudo isto foi possível graças aos nossos incríveis colaboradores do GitHub.
AddressSanitizer (ASan)
- Suporte ao ARM64: ASan melhorado para suporte ARM64 com embalagem abrangente de bibliotecas, correções de interceções e resolução de falsos positivos.
- SanitizerCoverage: Corrigida a manipulação da blocklist, problemas de geração de código e declarações antecipadas para garantir que os inicializadores sancov são invocados.
- Desempenho: Heaps caminhados em cache para melhorias de desempenho durante operações de memória sombra.
Módulos & IFC
- Atualização da Versão IFC: A interface MSVC gera ficheiros IFC de acordo com a versão 0.44 da especificação IFC.
- Correção de Concorrência: Corrigida uma corrida de uso-apos-libertação na resolução simultânea de ficheiro de registo de depuração IFC.
Análise Estática
- Consolidação da EspX: EspX e as suas extensões, como o CppCoreCheck, foram fundidos numa única DLL, simplificando o desdobramento.
- Correções de Bugs: Corrigidos falsos positivos devido à desreferência de localização inexata e vários erros internos do compilador (ICE) no contexto do /analyze.
ARM64EC & ARM64X
- Suporte de Corrotinas: Corrigiram os golpes de entrada em falta para contornos de corrotina e funções de rampa.
- ICF: Otimização da Dobragem Idêntica COMDAT (ICF) melhorada em binários ARM64X.
- XMM Volátil: Corrigida a atribuição volátil de XMM no ARM64EC.
Diagnóstico
- Corrigido C4319, que não era gerado ao compilar código C.
- Foram removidos diagnósticos incorretos para membros de matriz flexível C99.
- O aviso C4789 foi melhorado para reduzir falsos positivos.
Informações de depuração
- A poda das informações de depuração foi ativada para reduzir o tamanho dos PDBs.
Bilhetes Fixos
Os seguintes problemas reportados pelos clientes foram corrigidos nesta versão:
- __builtin_bit_cast Erro interno do compilador
- typeof não está a funcionar com tipos de funções
- Must_inspect_result falso positivo (C++)
- _statusfp programado antes das operações em ponto flutuante
- "LINK : erro LNK2001: símbolo externo não resolvido" após atualização para VS 17.14.5
- "REX. "B NOP" é interpretado como "XCHG EAX,R8d" pelo CPU, mas o VS 2026 desmonta-o como um NOP
- [/permissivo-] e o modelo implica erro C3688: sufixo literal inválido '_s'
- [17.14.15] [Feedback] A depuração dinâmica em C++ inicializa incorretamente locais estáticos
- [ARM64] Subtração e comparação de ULONGLONGs usa registos W
- [C++] expressão lógica ternária min/max quebrada em combinação com promoções de tipos inteiros
- [Módulos C++20] Erro LNK2001 ao importar uma classe/membro de struct estática de um módulo a partir de uma DLL
- [Negativo] [aceita ponteiro inválido] para membro da classe base como argumento de template
- [Neg][std:c++20] A eliminação do operator new específico da classe template não é detectada por constrangimentos
- [Neg][std:c++latest] Pode-se modificar uma captura em lambda não mutável via C++, deduzindo isto
- [permissivo-] Nenhuma CopyElision realizada ao inicializar através da lista de inicializadores
- [permissivo-] std::enable_if erro de compilação após a atualização da versão 17.13 para a 17.14
- [permissivo-][Regressão] Problema em condições específicas com operador módulo no template variádico com "/permissivo-" após a versão 19.32.
- [permissivo-][Regressão] erro msvc C1001: Erro interno do compilador (ficheiro compilador 'msc1.cpp', linha 1589)
- [Permissivo-][Regressão] ADL não presente no inicializador de membro por defeito devido à função definida localmente
- [Regressão] O FUNCSIG está vazio para um auto lambda atribuído a uma função std::function
- [Regressão] "aviso C5287: operandos são tipos de enum diferentes" mesmo com um cast explícito
- [Regressão] C2106 '=': o operando esquerdo deve ser de valor l 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] Array literal composto vazio causa erro interno do compilador
- [regressão] erro C2593 causado por operador estático[] em modo C++23
- [Regressão] erro fatal C1001: Erro interno do compilador
- [Regressão] Geração incorreta de código para &= na versão 17.14
- [Regressão] Resultado matemático incorreto usando boost::rational e google test
- [Regressão] Erro interno do compilador em VS2022 17.10+
- [Regressão] Erro interno do compilador ao tentar compilar um programa simples em C++
- [regressão] captura lambda não movimentável por referência não funciona desde o MSVC17.4
- [Regressão] msdia140.dll ver 14.50.35719.0 CDiaSymbol::get_virtual retorna sempre falso
- [Regressão] MSVC 19.44.35207.1 C2352 ao chamar o método da classe base
- [Regressão] MSVC 19.51 compila mal o ffmpeg para arm64
- [Regressão] A subtração de ponteiros de membros consecutivos de struct com o mesmo tipo no MSVC 2026 leva a um valor inesperado
- [Regressão] O MSVC crasha quando existem pelo menos 65536 parâmetros template num pacote de parâmetros no CTAD
- [Regressão] problemas com a atualização do Visual Studio 2022 17.14.15 - LINK: erro fatal LNK1000
- [Regressão] o otimizador v.19.50 x64 gera código incorreto com /O2 e /EHs
- [Regressão] O compilador do Visual Studio otimiza erroneamente o ramo no código nos conjuntos de ferramentas v143 e v145
- [Regressão] O VS2026 gera código FP incorreto
- [[Regression]Neg][std:c++latest] Lambda com a dedução deste parâmetro de tipo não relacionado é erroneamente permitida
- [c0>Regressão][Office] InitAll em VS2026 ao inicializar um ponteiro num vetor
- [Regressão][std:c++20] A declaração de tipo antecipada não funciona na especialização de tipo se o nome do 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 copiáveis condicionalmente
- [Regressão][std:c++20] Não aceita um nome de tipo qualificado válido que envolve lambda no decltype
- [Regressão][std:c++20] Mau CodeGen Silencioso: Regressão nas Dobras Constantes na Captação de Lambda (v143, v145)
- [Regressão] ERRO INTERNO DE COMPILAÇÃO: 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 um membro de dados estáticos C++17 do template e o seu construtor aceita certos argumentos
- [std:c++20] "CL.exe" saiu com código -529706956.
- [std:c++20] [Regressão] rejeita chamada válida de operador
- [std:c++20] guia de dedução de modelos de alias não funciona em c++20
- [std:c++20] Um template de função amiga inline não consegue aceder aos argumentos de template da classe (C2065)
- [std:c++20] A expressão binária de dobra à esquerda no tipo de retorno conduz a erro de compilação
- [std:c++20] A instanciação explícita de templates de variáveis em C++ causa erro interno do compilador ao usar cabeçalho pré-compilado
- [std:c++20] C++/CLI - namespace inline não funciona
- [std:c++20] C++/CLI: ::typeid não pode ser usado em tipos incorporados
- [std:c++20] O C++20 requires requires clause com parâmetro de template não-type gera de forma inconsistente um erro estranho no compilador
- [std:c++20] C++20: consteval falha em compilar
- [std:c++20] Falso positivo no C7602, erro de restrição do parâmetro constante do template
- [std:c++20] Não é possível alocar memória heap em tempo de compilação
- [std:c++20] Não é possível declarar a classe na partição interna do módulo (C++20)
- [std:c++20] Não é possível passar uma função consteval como argumento para outra função consteval
- [std:c++20] Não é possível usar um ponteiro numa função imediata dentro de expressão constante
- [std:c++20] Dedução de argumento de modelo de classe para modelo de alias falha
- [std:c++20] Código gerado pelo compilador para certas corrotinas em C++ emite avisos inesperados e faz referência a números de linha negativos
- [std:c++20] a expressão constante não é considerada constante na função imediata
- [std:c++20] O código de consteval não compila no MSVC
- [std:c++20] O erro C2100 está incorreto para expressões lambda não genéricas
- [std:c++20] Erro C2514: modelo de classe não pode ser construído
- [std:c++20] erro C7535 devido à referência a rvalue quando um construtor delega a outro construtor
- [std:c++20] ICE ao indexar em um c-array multidimensional NTTP no MSVC 14.44.35207
- [std:c++20] Se constexpr e requerer, não verifique corretamente a existência de membros
- [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 apontador para a função imediata
- [std:c++20] Erro do compilador interno ao especializar-se 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 em compilar o template lambda em C++20 com especificador consteval
- [std:c++20] O MSVC desduplica incorretamente dois ponteiros membros diferentes (&Case01::a, &Case02::num) passados como parâmetros automáticos de template não-tipo
- [std:c++20] MSVC rejeita um programa válido que envolve uma função de conversão herdada de um tipo de clausura sem captura
- [std:c++20] Sem aviso C4706 para atribuição a std::unqiue_ptr usado como condição
- [std:c++20] A remoção dos tokens placemarker remove incorretamente o espaço em branco circundante com /Zc:preprocessor
- [std:c++20] exige restrição numa função membro que trata uma chamada base como uma chamada estática
- [std:c++20] Corrupção da pilha em tempo de execução reportada com std::visit
- [std:c++20] source_location() devolve um valor errado.
- [std:c++20] std::is_constructible dá uma resposta incorreta para arrays em C++20
- [std:c++20] std::source_information::current() gera uma localização diferente em contexto de consteval
- [std:c++20] std::source_location::current().function_name() produz uma cadeia vazia quando usada como valor padrão do argumento
- [std:c++20] Impossível chamar uma função consteval de outra
- [std:c++20] Usar um nome qualificado dependente como argumento padrão para um parâmetro de tipo template de restrição quebra o compilador MSVC
- [std:c++20] Quando _ASSERTE recebe uma expressão com '"'', resulta em erro interno do compilador
- [std:c++20] Erro errado C3640 ao obter um ponteiro numa função puramente virtual
- [std:c++20] Sobrecarga errada chamada devido à referência rvalue, levando a uma recursão
- [std:c++20][Neg] Dedução dos argumentos do modelo de classe detecta construtor errado
- [[std:c++20]Neg][Regressão] Regressão, o acesso ao array no resultado em 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 do array é calculada incorretamente, levando a violação de acesso ou ao acesso a um endereço de memória errado
- [std:c++20][Regressão] Não é possível especializar parcialmente o template em todo o módulo C++20
- [std:c++20][Regressão] Falhou em especializar o modelo de função para o tipo abstrato após uma chamada SFINAE no tipo
- [std:c++20][Regressão] Erro Interno do Compilador encontrado em MSVC 14.44.35207
- [std:c++20][Regressão] Erro interno do compilador ao usar um tipo de retorno mau numa função de conversão definida pelo utilizador template
- [std:c++20][Regression] 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 Espúrio C2102 ao inicializar membro constexpr inline estático com lista designada parcial de inicialização
- [std:c++20][Regressão] As verificações de fortalecimento STL (_MSVC_STL_HARDENING) não são eliminadas na otimização (2)
- [std:c++20][regressão] Discrepâncias do compilador na especialização de funções template e em decltype
- [std:c++20][regressão] VS regressão 17.12, ICE com ligações estruturadas e lambda na instância de templates de variáveis constexpr
- [std:c++20][Regressão] Quando uma expressão de lançamento aparece algures numa lista de captura lambda,
noexcept(<lambda expression>)dá um resultado incorreto- [std:c++20][regressão]VS2026 regressão: lambda não consegue aceder à constante local
- [[std:c++23preview]std:c++latest][Regressão] Erro espurio do compilador C2872 ao compilar com C++23preview
- [std:c++23preview]C++/CLI & C++23 - arrays geridos multidimensionais não funcionam
- [std:c++latest] #pragma aviso (desabilitar) não funciona 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ática
- [std:c++latest] Inicialização de constantes __declspec(selectany) com erros em módulos C++
- [std:c++latest] Os módulos C++ cometem erro de compilação quando se utiliza uma declaração using de um módulo diferente
- [std:c++latest] O C2355 é disparado incorretamente quando uma classe local é definida numa função de membro estática
- [std:c++latest] C4389 é ativado ao comparar um membro de campo de bits de um bit com um bool
- [std:c++latest] Não é possível inicializar um array com elementos construídos de forma permanente
- [std:c++latest] O compilador falha com erro C1001 ao usar CTAD num tipo aninhado com noexcept dependente de template
- [std:c++latest] Erro do compilador com literais definidos pelo utilizador constexpr numa expressão de requisitos
- [std:c++latest] O CTAD com inicializador designado não compila
- [std:c++latest] Função excluída desativa a ADL no contexto imediato
- [std:c++latest] Nomes enum importados publicamente para a declaração de classe com using-enum-declaration (usando enum) são perdidos através dos limites dos módulos
- [std:c++latest] erro C3535: não é possível deduzir o tipo para "auto" a partir de "função sobrecarregada"
- [std:c++latest] erro C7595: chamada para função imediata não é uma expressão constante
- [std:c++latest] Erro ao analisar a declaração de uma função que aceita um ponteiro de função e tem uma lista de inicialização vazia como argumento padrão
- [std:c++latest] Saída extra de linha em branco com /E e #warning
- [std:c++latest] Aviso de falso positivo C4305 ao usar um parâmetro padrão que não é de tipo
- [std:c++latest] A expressão fold falha em expandir o pacote completo no template aninhado após a correção C7515
- [std:c++latest] Especialização de funções e conceitos causam uma chamada ambígua para função sobrecarregada
- [std:c++latest] ICE usando Boost.PFR com módulos C++ (vs-17.14.0-preview1)
- [std:c++latest] ICE ao compilar mp-units
- [std:c++latest] ICE com módulos e if consteval
- [std:c++latest] ICE com guia de dedução de templates
- [std:c++latest] ICE: writer.cpp:542 o impossível aconteceu ao utilizar folly + módulos
- [std:c++latest] identificador não encontrado na fold expression aninhada
- [std:c++latest] No msvc V145, o BUG era ativado ao usar membros intra-classe em restrições em templates dentro das 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 ligar módulo c++20
- [std:c++latest] Erro interno do compilador ao usar módulos C++
- [std:c++latest] Erro interno do compilador. (ficheiro 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 de pacotes Mixins
- [std:c++latest] MSVC : A estrutura aninhada dependendo dos parâmetros do modelo de classe exterior falha como NTTP dentro do âmbito da classe (C2993)
- [std:c++latest] O MSVC falha em compilar código (funcional) envolvendo metaprogramação de templates
- [std:c++latest] Lambdas aninhadas apresentam erros no msvc com vinculação estruturada etiquetada
- [std:c++latest] Note que o aviso C4477 que se segue não é preciso para size_t, redux
- [std:c++latest] Falhas de resolução de sobrecarga para parâmetros de template não-tipo enum
- [std:c++latest] Pacote de parâmetros com referência à questão do array C
- [std:c++latest] Não é possível deduzir o tipo de argumento para std::optional
- [std:c++latest] As uniões não são compatíveis em layout, apesar de conterem membros de dados que são compatíveis em layout
- [std:c++latest] Falha Universal do CL.exe (Código de Saída -1073741819) com std::filesystem::path aninhado em C++17+
- [std:c++latest][Neg] O destrutor é privado, mas o compilador permite a criação de um objeto na pilha.
- [std:c++latest][regressão] Bug aparente do parser C++ - emite C2143 + C2451 (+ opcional C2530 + C3531) se a expressão range-for dentro de uma função template contiver um lambda
- [std:c++latest][Regressão] C3520 ao expandir o pacote de parâmetros de modelo numa função membro de um modelo de classe
- [std:c++latest][Regressão] Não se pode usar uma instância de alias template se o parser vir primeiro a instância do alias numa classe template
- [std:c++latest][Regressão] Erro do compilador interno nas versões mais recentes do MSVC ao compilar expressões específicas de fold
- [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 em Visual Studio de 2026 (CL.exe Versão 19.50.35722 para x64 )
- [std:c++latest][Regressão] Lambda não consegue aceder à constante local
- [std:c++latest][regressão] MSVC 14.50.35503 Erro do compilador interno [Visual Studio 2026 Insiders]
- [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 um struct contém um membro [[no_unique_address]]
- [std:c++latest][regressão] Usar uma lista de inicializadores como argumento modelo quando existe uma sobrecarga incompatível resulta no erro C2440
- [std:c++latest][Regressão] Aviso C4864 levantado incorretamente ao chamar funções não-membro template sobrepostas da classe base template
- [std:c++latest] IntelliSense e o compilador C++ queixam-se de a variável errada ser const
- [std:c++latest]O operador ternário não propaga o operando temporário para a referência rvalue resultante.
- [std:c++latest]Usar um especificador de tipo elaborado para se referir a um enum cujo tipo subjacente não é int resulta nos erros C3432 e C3433
- [STD:C11] A MSVC alerta incorretamente que os membros de array flexível C99 são uma extensão não padrão (arrays de tamanho zero)
- Movimento incorreto do código ARM64 /EHa
- Problema no ARM64 com inicializadores e destrutores estáticos e /OPT:ICF
- ARM64EC: Crash ao chamar uma função C++ em DLL contendo pragmas OpenMP, da aplicação C# através do DllImport
- O DLL de encaminhamento arm64x não suporta dados
- ASAN_VCASAN_DEBUGGING não funciona em 17.14.3 Preview 1.0
- Campos de bits com um tipo bool no início não funcionam corretamente em C mode
- Crash do compilador C++ com fabsf em loop com otimização (/O2 /Ob /Ot) e /fp:precise
- C++ constexpr subtrução de ponteiros resultado incorreto
- Depuração Dinâmica de Cadeias Literais Nulas em C++
- C++/CLI erro C2668 chamada ambígua em .NET 9 e posteriores
C++/CLI ao relançar .NET exceções crasha com .NET Framework 4.8 em x64 - C1001: Erro interno do compilador com compilações otimizadas a 64 bits do VIM recente usando VS 17.14
- C1090: Chamada API PDB falhada, código de erro '3'
- C2034 (sobre campos de bits demasiado largos) não deve ser um erro em modos C++
- C4319 não é emitido ao compilar código C
- Problemas relacionados com o C4756 em VS 2022
- locais/parâmetros co-localizados com tempo de vida sobreposto 14.40.33814 e mais recentes
- CTime lança erro nos fusos horários atrás de GMT. Alterações no VS 15.8 produziram uma regressão
- CTime::CTime falha no ano 1900
- Ponteiro pendente no ficheiro cpp atlmfc Visual Studio occsite.cpp
- Inicializadores padrão de membros para campos de bits não funcionam ao importar uma struct (ou classe) de um módulo
- Aviso errado C5061: o uso de um operador de vírgula como expressão de subscrito foi descontinuado
- EXE compilado com ASAN (e as libs e DLLs ASAN por vezes bloqueiam durante a saída
- Falha na otimização de sequência redundante de DUP, SMOV (ARM64)
- Erro fatal C1001: Erro interno do compilador
- GC recolhe durante a chamada de método na c++/cli classe ref
- Guarded_by_ numa variável local estática reporta um erro de sintaxe de anotação
- Código ilegal é aceite devido à referência rvalue que leva a uma recursão
- Concatenação incorreta de literais de cadeia Unicode
- Bitfield de codificação incorreta
- Inicialização incorreta de um membro agregado aninhado com valor de membro não relacionado
- Instruções incorretas geradas no AVX2
- Geração incorreta de switch-case na plataforma arm64
- Dedução incorreta de argumentos de modelo para uma função chamada com o argumento 'this' a partir de uma função membro qualificada por referência, fora de linha.
- Erro interno do compilador para expressão ternária com tipo e throw não copiáveis
- Erro interno do compilador em MSVC 14.50.35717
- Erro interno do compilador em type_traits e operador bool na classe derivada
- Erro interno do compilador ao compilar para ARM64 com VS 2026 18.0 Insiders
- Erro interno do compilador ao ativar Code Analysis (/analyze) com templates variádicos + SAL
- Erro interno do compilador ao usar OpenMP e try/catch na mesma função com /clr ativado
- 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 otimizador C/C++ versão 19.50.35722 para ARM64
- Erro do compilador interno com parâmetros do modelo C++ e palavra-chave do modelo em falta
- Os drivers KASAN falham em ligar a referência a funções de strings largas (wcscat, wcscpy, wcsncpy)
- As palavras-chave NÃO DEVEM ser traduzidas em erros, avisos ou sugestões.
- Decltipo aninhado lambda dos desencadeadores C2011
- O linker não deve emitir um aviso para 'icall push thunks' diferentes do Arm64EC que sejam equivalentes
- Longas cadeias formatadas em octal fazem o DoS da máquina do utilizador e causam o C1060
- MFC static lib reporta fuga de memória
- Microsoft.VCToolsVersion.v143.default.txt na versão 17.2 não é atualizada a partir da 17.1
- Compilação errada de
svset_neonq(arm_neon_sve_bridge.h) com 19.50.35722 para ARM64- Compilação errada do loop SVE 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 de _BitScanForward resultado pode fazer o compilador crashar
- Módulos: declarações using vazam de funções exportadas
- O MSDIS está a decodificar incorretamente algumas instruções xchg como nop
- O MSVC falha em associar uma função de noexcept ao template instanciado com uma assinatura de noexcept
- MSVC falha em gerar INCP (e amigos) - Versão 19.50.35722 para ARM64
- O MSVC falha em gerar MLA/MAD (Versão 19.50.35722 para ARM64)
- MSVC falha em otimizar o idioma LASTA (Versão 19.50.35722 para ARM64)
- A MSVC gera um aviso C6001 incorreto
- MSVC x64: _mm_shuffle_ps incorretamente otimizado e removido após vcvtpd2ps em /O1 ou /O2
- A nova funcionalidade de Depuração Dinâmica em C++ ocasionalmente causa o erro de ligação 1136
- a dedução de noexcept não funciona (CWG 2355)
- Não foi implementada a elisão obrigatória de cópias no operador ternário
- Observando saída não determinística ao construir UCRT para compilações de CHPE
- A otimização é ignorada durante a negação segura de UB
- Regressão de desempenho no cálculo de hash com função de hash personalizada ao mudar para msvc 17.14.7
- Erro de execução da instrumentação PGO em ARM64
- O operador de colocação novo[] em <vcruntime.h> deve ser marcado _MSVC_CONSTEXPR
- Fraca geração de código x64 para loop de intervalo em array de membro
- Os literais de string brutos têm um limite de ~16380 caracteres
- O analisador SAL2 falha em lidar com shared_locks na anotação Guarded_by
- Lista de Bloqueio de Cobertura de Sanitizantes Quebrada
- Cobertura de Sanitizadores Produz Código Deficiente para binários C++
- Bug de otimização do código SIMD
- a especialização da função de modelo estático requer que a função estática seja especificada; Clang avisa que não deve
- O SSA CSE combina diferentes ponteiros
- Módulos de Biblioteca Padrão: Máquinas de números aleatórios emitem erro falso C2512
- A época estática do thread local tem um deslocamento TLS incorreto quando se utiliza a opção /dynamicdeopt, resultando numa falha
- std:c17 e arrays sem tamanho definido != LOVE
- A concatenação de literais de cadeias de caracteres com prefixos de codificação diferentes não funciona
- Função do modelo não encontrada
- Operador ternário requer desnecessariamente o construtor de cópia
- Erro inesperado C7595 reportado
- Resultado inesperado ao compilar a função consteval
- Constante de tempo de compilação não utilizada na versão x64 causa violação de acesso no compilador durante a fase de ligação
- Usando o conjunto de ferramentas 17.14, um dos nossos projetos gera um erro de ligação LNK1120
- VC++ 17.6 preview 1 ARM64EC compilador ICEs quando encontra a palavra-chave __vectorcall
- VisualCppTools.14.50.35724 PdbCopy.Exe Arm64 Copia de Pdb Falha
- Assume-se que a variável local volátil não muda em x64
- Variável volátil não lida após a escrita
- VS 17.14.13 Problema na geração de código para registo SIMD x64 não configurado corretamente
- VS18.0 Insiders MSVC ICE no mapa de mensagens MFC de uma classe com base virtual
- vs2022 Erro de otimização
- Aviso MSVC C4865 VS2026 apresenta incorretamente a alteração de tipo subjacente com /Zc:enumTypes
- O SDK Windows não possui #include em atlcom.h
- Crash do compilador x64 durante a compilação do ficheiro fonte Mesa com otimizações
- Crash do emulador x64 quando um thread ARM64EC chama uma coroutine x64 que chama outra coroutine ARM64EC
Principais correções de bugs
| Principais correções de bugs | Da comunidade |
|---|---|
| Registo MCP Não Usa o URL Correto | Ticket de feedback |
| O GitHub Copilot executa comandos PowerShell no terminal do Copilot e fica no estado pendente | Ticket de feedback |
De toda a nossa equipa, obrigado por escolherem o Visual Studio! Para as últimas atualizações, recursos e notícias, consulte o Visual Studio Hub e mantenha-se em contacto.
Feliz codificação!
A equipa Visual Studio
Observação
Esta atualização pode incluir novo software Microsoft ou de terceiros licenciado separadamente, conforme estabelecido nos Avisos terceiros ou na licença correspondente.