Notas sobre a versão do Visual Studio 2022 versão 17.0
Dica
Assista às gravações do evento de lançamento do Visual Studio 2022 para saber mais sobre as novidades, ouvir dicas e truques e baixar ofertas digitais gratuitas.
Developer Community | Roteiro do Visual Studio 2022 | Requisitos do sistema | Compatibilidade | Código distribuível | Histórico do versões | Termos de licença | Blogs | Problemas conhecidos da versão mais recente | O que há de novo no Visual Studio Docs
Visual Studio 2022 versão 17.0
O suporte para o Visual Studio 2022 versão 17.0 terminou em julho de 2023, o que significa que não haverá mais atualizações de segurança para esta versão. Os assinantes corporativos e profissionais que estão usando o canal LTSC do Visual Studio 2022 17.0 devem adotar o canal atual ou a versão LTSC mais recente.
Leia sobre versões e datas de suporte do Visual Studio 2022.
Saiba mais sobre o ciclo de vida e a manutenção do produto do Visual Studio.
Visite o site do Visual Studio para acessar links para as versões mais atuais dos produtos do Visual Studio 2022. Para conferir as instruções sobre como instalar e atualizar o Visual Studio 2022, consulte Atualizar o Visual Studio 2022 para a versão mais recente. A Guia do Administrador do Visual Studio contém diretrizes sobre como implantar o Visual Studio em sua organização.
Versões do Visual Studio 2022 versão 17.0
- 11 de julho de 2023 – Visual Studio 2022 versão 17.0.23
- 13 de junho de 2023 – Visual Studio 2022 versão 17.0.22
- 11 de abril de 2023 – Visual Studio 2022 versão 17.0.21
- 14 de março de 2023 – Visual Studio 2022 versão 17.0.20
- 14 de fevereiro de 2023 – Visual Studio 2022 versão 17.0.19
- 10 de janeiro de 2023 – Visual Studio 2022 versão 17.0.18
- 13 de dezembro de 2022 — Visual Studio 2022 versão 17.0.17
- 8 de novembro de 2022 – Visual Studio 2022 versão 17.0.16
- 11 de outubro de 2022 – Visual Studio 2022 versão 17.0.15
- 13 de setembro de 2022 – Visual Studio 2022 versão 17.0.14
- 9 de agosto de 2022 – Visual Studio 2022 versão 17.0.13
- 12 de julho de 2022 – Visual Studio 2022 versão 17.0.12
- 14 de junho de 2022 — Visual Studio 2022 versão 17.0.11
- 10 de maio de 2022 — Visual Studio 2022 versão 17.0.10
- 19 de abril de 2022 – Visual Studio 2022 versão 17.0.9
- 12 de abril de 2022 — Visual Studio 2022 versão 17.0.8
- 8 de março de 2022 — Visual Studio 2022 versão 17.0.7
- 8 de fevereiro de 2022 – Visual Studio 2022 versão 17.0.6
- 13 de janeiro de 2022 — Visual Studio 2022 versão 17.0.5
- 16 de dezembro de 2021 — Visual Studio 2022 versão 17.0.4
- 14 de dezembro de 2021 – Visual Studio 2022 versão 17.0.3
- 30 de novembro de 2021 — Visual Studio 2022 versão 17.0.2
- 16 de novembro de 2021 — Visual Studio 2022 versão 17.0.1
- 08 de novembro de 2021 — Visual Studio 2022 versão 17.0.0
Blog do Visual Studio 2022
O Blog do Visual Studio 2022 é a fonte oficial de insights do produto da equipe de engenharia do Visual Studio. É possível encontrar informações detalhadas sobre as versões do Visual Studio 2022 nas seguintes postagens:
Visual Studio 2022 versão 17.0.23
lançado em 11 de julho de 2023
Problemas resolvidos nesta versão da versão 17.0.23
- A Microsoft está ciente de uma vulnerabilidade em que há uma possibilidade de injeção de endereço SMTP que pode acontecer na classe SmtpClient. Isso corresponde ao CVE-2022-26893 (não a uma CVE publicada, pois a vulnerabilidade é avaliada como média).
Resolução de avisos de segurança
- CVE-2023-33127 Vulnerabilidade de Execução Remota de Código no .NET Existe uma vulnerabilidade em aplicativos .NET, em que o servidor de diagnóstico pode ser explorado para obter a EoP (elevação de privilégio) entre sessões/usuários e execução de código.
- CVE-2023-33170 Vulnerabilidade de desvio de recurso de segurança do .NET Existe uma vulnerabilidade em aplicativos ASP.NET Core, em que o máximo de tentativas com falha no bloqueio da conta pode não ser atualizado imediatamente, permitindo que um invasor tente mais senhas.
Visual Studio 2022 versão 17.0.22
lançado em 13 de junho de 2023
Problemas resolvidos nesta versão da versão 17.0.22
- A Microsoft está ciente de uma vulnerabilidade em que há uma possibilidade de injeção de endereço SMTP que pode acontecer na classe SmtpClient. Isso corresponde ao CVE-2022-26893 (não a uma CVE publicada, pois a vulnerabilidade é avaliada como média).
Resolução de avisos de segurança
- CVE-2023-24897 Vulnerabilidade de Execução de Código Remoto do Visual Studio Essa atualização de segurança aborda uma vulnerabilidade no SDK do MSDIA, em que os PDBs corrompidos podem causar estouro de heap, levando a uma falha ou execução remota de código.
- CVE-2023-25652 Vulnerabilidade de Execução Remota de Código do Visual Studio Essa atualização de segurança aborda uma vulnerabilidade, em que a entrada especialmente criada para o git apply –reject, pode levar a gravações de conteúdo controladas em locais arbitrários.
- CVE-2023-25815 Vulnerabilidade de Falsificação do Visual Studio Essa atualização de segurança aborda uma vulnerabilidade, em que as mensagens de localização do Github se referem a um caminho codificado, em vez de respeitar o prefixo de runtime que leva a falhas e gravações de memória fora do limite.
- CVE-2023-29007 Vulnerabilidade de Execução Remota de Código do Visual Studio Esta atualização de segurança aborda uma vulnerabilidade, em que um arquivo de configuração contendo um erro lógico resulta em injeção arbitrária de configuração.
- CVE-2023-29011 Vulnerabilidade de Execução Remota de Código no Visual Studio Esta atualização de segurança aborda uma vulnerabilidade, em que o executável do Git para Windows responsável pela implementação de um proxy SOCKS5, é suscetível de detectar uma configuração não confiável em computadores com vários usuários.
- CVE-2023-29012 Vulnerabilidade de Execução Remota de Código no Visual Studio Essa atualização de segurança aborda uma vulnerabilidade, em que o programa do Git CMD do Git para Windows pesquisa incorretamente um programa na inicialização, levando à execução silenciosa de código arbitrário.
- CVE-2023-27909 Vulnerabilidade de Execução Remota de Código no Visual Studio Essa atualização de segurança aborda uma vulnerabilidade de gravação fora dos limites no SDK do FBX® do Autodesk®, em que a versão 2020 ou anterior pode levar à execução de código por meio de arquivos FBX mal-intencionados ou divulgação de informações confidenciais.
- CVE-2023-27910Vulnerabilidade de Divulgação de Informações Confidenciais do Visual Studio Essa atualização de segurança aborda uma vulnerabilidade, em que um usuário pode ser enganado para abrir um arquivo FBX mal-intencionado que pode explorar uma vulnerabilidade de estouro de buffer de pilha no SDK do FBX® do Autodesk® 2020 ou anterior, o que pode levar à execução remota de código.
- CVE-2023-27911 Vulnerabilidade de Execução Remota de Código no Visual Studio Essa atualização de segurança aborda uma vulnerabilidade, em que um usuário pode ser enganado para abrir um arquivo FBX mal-intencionado que pode explorar uma vulnerabilidade de estouro de buffer de heap no SDK do FBX® do Autodesk® 2020 ou anterior, o que pode levar à execução remota de código.
- CVE-2023-33139 Vulnerabilidade de divulgação de informações confidenciais do Visual Studio Essa atualização de segurança revolve uma vulnerabilidade OOB, em que o analisador de arquivos OOB no Visual Studio leva à divulgação de informações confidenciais.
- CVE-2023-29331 Vulnerabilidade de Negação de Serviço do .NET e do Visual StudioEssa atualização de segurança aborda uma vulnerabilidade, em que o processo de busca do AIA para certificados de cliente pode levar à negação de serviço.
- CVE-2023-24895Vulnerabilidade de Execução Remota de Código no .NET e no Visual Studio Essa atualização de segurança aborda uma vulnerabilidade no analisador XAML do WPF, em que um analisador não esandboxado pode levar à execução remota de código.
- CVE-2023-24936 Vulnerabilidade de Elevação de Privilégio do .NET e do Visual Studio Essa atualização de segurança aborda uma vulnerabilidade em restrições de bypass ao desserializar um DataSet ou DataTable do XML, levando a uma elevação de privilégio.
- CVE-2023-32032 Vulnerabilidade de Elevação de Privilégio do .NET Existe uma vulnerabilidade no .NET, ao usar a extração do conteúdo de um arquivo Tar, que pode resultar na elevação de privilégios.
- CVE-2023-33126Vulnerabilidade de Execução Remota de Código no .NET Existe uma vulnerabilidade em .NET durante os cenários de rastreamento de pilha e falha, que podem levar ao carregamento de compartimento arbitrário
- CVE-2023-33128Vulnerabilidade de Execução Remota de Código no .NET Existe uma vulnerabilidade no gerador de origem do .NET para P/Invokes, que pode levar à liberação de memória não inicializada gerada e à falha.
- CVE-2023-33135Vulnerabilidade de Execução Remota de Código no .NET Existe uma vulnerabilidade no SDK do .NET durante a restauração da ferramenta, que pode levar a uma elevação de privilégio.
Visual Studio 2022 versão 17.0.21
lançado em 11 de abril de 2023
Problemas resolvidos nesta versão da versão 17.0.21
- Corrige uma falha quando a entrada inválida é enviada para o driver usado durante o treinamento PGO para drivers de modo kernel.
- Correção de um problema no IIS Express que poderia causar uma falha ao atualizar dados de telemetria.
- A Microsoft está ciente de uma vulnerabilidade em que há uma possibilidade de injeção de endereço SMTP que pode acontecer na classe SmtpClient. Isso corresponde ao CVE-2022-26893 (não a uma CVE publicada, pois a vulnerabilidade é avaliada como média).
Comunidade de Desenvolvedores
Resolução de avisos de segurança
- CVE-2023-28260 Vulnerabilidade de execução de código remoto do .NET Há uma vulnerabilidade no .NET em execução no Windows, em que uma DLL de runtime pode ser carregada de um local inesperado, resultando na execução de código remoto.
- CVE-2023-28296 Vulnerabilidade de execução de código remoto do Visual Studio
- CVE-2023-28299 Vulnerabilidade de falsificação do Visual Studio
- CVE-2023-28262 Vulnerabilidade de elevação de privilégio do Visual Studio
- CVE-2023-28263 Vulnerabilidade de divulgação de informações confidenciais do Visual Studio
Visual Studio 2022 versão 17.0.20
lançado em 14 de março de 2023
Problemas resolvidos nesta versão da versão 17.0.20
- A Microsoft está ciente de uma vulnerabilidade em que há uma possibilidade de injeção de endereço SMTP que pode acontecer na classe SmtpClient. Isso corresponde ao CVE-2022-26893 (não a uma CVE publicada, pois a vulnerabilidade é avaliada como média).
- O Git 2.39 renomeou o valor para credential.helper de "manager-core" para "manager". Consulte https://aka.ms/gcm/rename para obter mais informações.
- Atualizações do pacote do mingit e do Git para Windows para v2.39.2, que aborda a CVE-2023-22490
Resolução de avisos de segurança
- CVE-2023-22490 Vulnerabilidade de execução de código remoto do mingit
- CVE-2023-22743 Vulnerabilidade de elevação de privilégio do Git para Windows Installer
- CVE-2023-23618 Vulnerabilidade de execução de código remoto do Git para Windows
- CVE-2023-23946 Vulnerabilidade de execução de código remoto do mingit
Visual Studio 2022 versão 17.0.19
lançado em 14 de fevereiro de 2023
Problemas resolvidos nesta versão da versão 17.0.19
- Interpretador do CPython atualizado para a versão 3.9.13.
- Atualizações do mingit e do pacote do Git para Windows para v2.39.1.1, que aborda a CVE-2022-41903
Resolução de avisos de segurança
CVE-2023-21566 Vulnerabilidade de Elevação de Privilégio do Instalador do Visual Studio
CVE-2023-21567 Vulnerabilidade de Negação de Serviço do Visual Studio
CVE-2023-21808 Vulnerabilidade de Execução Remota de Código do .NET e do Visual Studio
CVE-2023-21815 Vulnerabilidade de Execução Remota de Código do Visual Studio
CVE-2023-23381 Vulnerabilidade de Execução Remota de Visual Studio Code
CVE-2022-23521 estouro de inteiro por análise de gitattributes
CVE-2022-41953 Vulnerabilidade de Execução Remota de Código da GUI do Git
Visual Studio 2022 versão 17.0.18
lançado em 10 de janeiro de 2023
Resolução de avisos de segurança
- CVE-2023-21538 Vulnerabilidade de Negação de Serviço do .NET Existe uma vulnerabilidade de negação de serviço no .NET 6.0 em que um cliente mal-intencionado pode causar um excedente de pilha que pode resultar em um ataque de negação de serviço quando um invasor envia uma solicitação inválida para um ponto de extremidade exposto.
Visual Studio 2022 versão 17.0.17
lançado em 13 de dezembro de 2022
Resolução de avisos de segurança
- CVE-2022-41089 Execução Remota de Código Existe uma vulnerabilidade de execução remota de código no .NET Core 3.1, .NET 6.0 e .NET 7.0, em que um ator mal-intencionado pode fazer com que um usuário execute código arbitrário como resultado da análise de arquivos xps criados com códigos maliciosos.
Visual Studio 2022 versão 17.0.16
lançado em 8 de novembro de 2022
Problemas resolvidos nesta versão da versão 17.0.16
Resolução de avisos de segurança
- CVE-2022-41119 Execução Remota de Código Vulnerabilidade de Estouro de Heap no Visual Studio
- CVE-2022-39253 Divulgação de informações Confidenciais A otimização de clone local desreferencia links simbólicos por padrão
Visual Studio 2022 versão 17.0.15
lançado em 11 de outubro de 2022
Problemas resolvidos nesta versão da versão 17.0.15
- Os administradores poderão atualizar o instalador do VS em um computador cliente offline de um layout sem atualizar o VS.
Resolução de avisos de segurança
- CVE-2022-41032 Vulnerabilidade de Elevação de Privilégio do .NET Existe uma vulnerabilidade nos clientes .NET 7.0.0-rc.1, .NET 6.0, .NET Core 3.1 e NuGet (NuGet.exe, NuGet.Commands, NuGet.CommandLine, NuGet.Protocol) em que um ator mal-intencionado pode fazer com que um usuário execute um código arbitrário.
Visual Studio 2022 versão 17.0.14
lançado em 13 de setembro de 2022
Problemas resolvidos nesta versão da versão 17.0.14
Resolução de avisos de segurança
CVE-2022-38013 Vulnerabilidade de Negação de Serviço do .NET Existe uma vulnerabilidade de negação de serviço no ASP.NET Core 3.1 e no .NET 6.0 em que um cliente mal-intencionado pode causar um excedente de pilha que pode resultar em um ataque de negação de serviço quando um invasor envia um conteúdo personalizado que é analisado durante o model binding.
Visual Studio 2022 versão 17.0.13
lançado em 9 de agosto de 2022
Problemas resolvidos nesta versão da versão 17.0.13
- Aborda o Erro do Git após a atualização 17.1.4 – Comentários do Visual Studio que fornecem a opção de marcar um repositório git como seguro por meio do Visual Studio.
- Atualiza o MinGit para a versão 2.37.1.1 para abordar o CVE – CVE-2022-29187 (mitre.org), que expôs os usuários a uma vulnerabilidade em que navegar para um repositório que eles possuem, mas que outro usuário pode gravar pode ser explorado para executar código mal-intencionado.
- Atualiza o Git para Windows para v2.37.1.1 que trata do CVE-2022-31012.
Resolução de avisos de segurança
- CVE-2022-34716 Vulnerabilidade de divulgação de informações confidenciais do .NET Existe uma vulnerabilidade de divulgação não autorizada de informações no .NET 6.0 e no .NET Core 3.1 que pode levar ao acesso não autorizado de informações privilegiadas.
- CVE-2022-31012 Execução Remota de Código O instalador do Git para Windows pode ser enganado para executar um binário não confiável
- CVE-2022-29187 Elevação de Privilégio Usuários mal-intencionados podem criar um diretório .git em uma pasta que pertence a um superusuário
- CVE-2022-35777 Execução Remota de Código Vulnerabilidade de estouro de heap do analisador de arquivos Fbx do Visual Studio 2022 (versão prévia)
- CVE-2022-35825 Execução Remota de Código Vulnerabilidade de OOBW do analisador de arquivo Fbx do Visual Studio 2022 (versão prévia)
- CVE-2022-35826 Execução Remota de Código Vulnerabilidade de estouro de heap do analisador de arquivos Fbx do Visual Studio 2022 (versão prévia)
- CVE-2022-35827 Execução Remota de Código Vulnerabilidade de OOBW de heap do analisador de arquivo Fbx do Visual Studio 2022 (versão prévia)
Visual Studio 2022 versão 17.0.12
lançado em 12 de julho de 2022
Problemas resolvidos nesta versão da versão 17.0.12
- LibraryManager atualizado para acomodar alterações na API cdnjs
- Corrigido o bug em que o editor de texto estaria em branco ao abrir um documento ou falhar ao digitar.
Resolução de avisos de segurança
- CVE-2022-24513 Vulnerabilidade de elevação de privilégio Uma vulnerabilidade potencial de elevação de privilégio existe quando o serviço atualizador do Microsoft Visual Studio analisa incorretamente os dados de configuração local.
Visual Studio 2022 versão 17.0.11
lançado em 14 de junho de 2022
Problemas resolvidos nesta versão da versão 17.0.11
- Atualizado o Conjunto de Ferramentas do Dev 16.11 C++ lado a lado para a versão 14.29.30145.00. A versão mais recente do Conjunto de Ferramentas do C++ do Dev 16.11 contém correções de bugs importantes, incluindo a correção de todos os relatórios de defeito restantes do C++20. Consulte as notas de versão 16.11.14 para obter mais informações.
Da Developer Community
Resolução de avisos de segurança
- CVE-2022-30184 Vulnerabilidade de Divulgação de Informações Confidenciais do .NET Existe uma vulnerabilidade no .NET 6.0 e no .NET Core 3.1 no NuGet, onde pode ocorrer um vazamento de credencial.
- CVE-2022-24513 Vulnerabilidade de elevação de privilégio Uma vulnerabilidade potencial de elevação de privilégio existe quando o serviço atualizador do Microsoft Visual Studio analisa incorretamente os dados de configuração local.
Visual Studio 2022 versão 17.0.10
lançado em 10 de maio de 2022
Problemas resolvidos nesta versão da versão 17.0.10
- Versão do Git para Windows consumida pelo Visual Studio e componente opcional instalável atualizada para 2.36.0.1
- Correção de um problema com a integração do git, em que, se os branches de pull/sincronização divergirem, a janela de saída não mostraria uma dica localizada sobre como resolvê-la.
- Corrigido um problema em que, ao abrir um repositório Git no Visual Studio, a janela de saída mostra "Ocorreu um ou mais erros" em vez do motivo pelo qual a falha está acontecendo e como resolvê-la.
- Atualização da linha de base webview2 em Daytona
Da Developer Community
Resolução de avisos de segurança
CVE-2022-29117 Vulnerabilidade de Negação de Serviço do .NET Existe uma vulnerabilidade no .NET 6.0, .NET 5.0 e .NET Core 3.1 em que um cliente mal-intencionado pode manipular cookies e causar uma negação de serviço.
CVE-2022-23267 Vulnerabilidade de Negação de Serviço do .NET Core Uma vulnerabilidade existe no .NET 6.0, .NET 5.0 e .NET Core 3.1, em que um cliente mal-intencionado pode causar uma negação de serviço por meio de alocações de memória em excesso por meio do HttpClient.
CVE-2022-29145 Vulnerabilidade de Negação de Serviço do .NET Existe uma vulnerabilidade no .NET 6.0, .NET 5.0 e .NET Core 3.1 em que um cliente mal-intencionado pode causar uma negação de serviço quando formulários HTML são analisados.
CVE-2022-24513 Vulnerabilidade de elevação de privilégio Uma vulnerabilidade potencial de elevação de privilégio existe quando o serviço atualizador do Microsoft Visual Studio analisa incorretamente os dados de configuração local.
Visual Studio 2022 versão 17.0.9
lançado em 19 abril de 2022
Problemas resolvidos nesta versão da versão 17.0.9
- Correção da regressão vctip.exe de 17.0.8
- Correção de um bug que impedia que alguns aplicativos criados com o ASAN (Address Sanitizer) carregassem no Windows 11.
- Correção de outro problema de ASAN em que aplicativos com vários threads com contenção de heap podem experimentar deadlocks, relatórios falsos de "ponteiro selvagem liberado" ou um deadlock durante a saída do processo.
- Corrigido o problema "Não é possível instalar nenhuma extensão (vsix) para Visual Studio em um computador offline".
Visual Studio 2022 versão 17.0.8
lançado em 12 de abril de 2022
Problemas resolvidos nesta versão da versão 17.0.8
- Corrigido um problema que fazia com que algumas animações para execução de teste fossem executadas em segundo plano mesmo quando as execuções de teste associadas fossem concluídas. Isso causa lentidão que foram especialmente perceptíveis em monitores de alta taxa de atualização. A correção deve melhorar a experiência de uso do VS em monitores de alta taxa de atualização.
- Resolvido um problema em que o Visual Studio travava/congelava ao usar o TFVC por um longo período de tempo (mais de uma hora).
- Adição da linha de comando do instalador para remover um canal não utilizado.
Da Developer Community
Resolução de avisos de segurança
CVE-2022-24765 Vulnerabilidade de elevação de privilégio Existe uma vulnerabilidade potencial de elevação de privilégio no Git para Windows, na qual as operações do Git podem ser executadas fora de um repositório durante a busca de um diretório Git. O Git para Windows agora é atualizado para a versão 2.35.2.1.
CVE-2022-24767 Vulnerabilidade de sequestro da DLL Existe uma vulnerabilidade potencial de sequestro de DLL no instalador do Git para Windows, ao executar o desinstalador na conta de usuário SYSTEM. O Git para Windows agora é atualizado para a versão 2.35.2.1.
CVE-2022-24513 Vulnerabilidade de elevação de privilégio Uma vulnerabilidade potencial de elevação de privilégio existe quando o serviço atualizador do Microsoft Visual Studio analisa incorretamente os dados de configuração local.
Visual Studio 2022 versão 17.0.7
lançado em 8 de março de 2022
Problemas resolvidos nesta versão da versão 17.0.7
- Melhor desempenho em monitores de alta taxa de atualização.
- Correção de um travamento durante a inicialização do Visual Studio para usuários de SKU da Comunidade.
Da Developer Community
A Developer Community tem uma lista completa de correções disponíveis na versão 17.0.
- Desaceleração maciça e reproduzível da interface do usuário do VS com taxa de atualização de monitor de 300hz
- VSSDK: VS 17.1.0 Versão prévia 5.0 trava após IVsObjectManager.UnregisterLibMgr()
Resolução de avisos de segurança
CVE-2020-8927 Vulnerabilidade Uma vulnerabilidade de execução remota de código existe no .NET 5.0 e no .NET Core 3.1, onde existe um estouro de buffer nas versões da biblioteca Brotli antes da 1.0.8.
CVE-2022-24464 Vulnerabilidade Existe uma vulnerabilidade de negação de serviço no .NET 6.0, .NET 5.0 e .NET CORE 3.1 ao analisar determinados tipos de solicitações de formulário http.
CVE-2022-24512 Vulnerabilidade Uma vulnerabilidade de execução remota de código existe no .NET 6.0, .NET 5.0 e .NET Core 3.1, em que ocorre uma buffer de pilha na rotina de Análise Dupla do .NET.
CVE-2021-3711 Vulnerabilidade de estouro de buffer do OpenSSL Existe uma possível vulnerabilidade de estouro de buffer no OpenSSL, que é consumido pelo Git para Windows. O Git para Windows agora é atualizado para a versão 2.35.1.2, o que resolve esse problema.
Visual Studio 2022 versão 17.0.6
lançado em 8 de fevereiro de 2022
Problemas resolvidos nesta versão da versão 17.0.6
- Atualizou o instalador do Visual Studio para gravar corretamente os metadados do canal.
- Liberou boletins no Instalador do Visual Studio para uma instalação ou atualização.
- Adicionadas informações sobre datas de expiração do canal LTSC à caixa de diálogo Configurações de atualização.
- Foi adicionada a capacidade de alterar programaticamente o local de origem das atualizações independentemente de realmente executar a atualização. Isso permite que os administradores de TI alterem programaticamente o canal de atualização.
- Atualizado o GitHub adicionar experiência de conta para melhorar sua taxa de sucesso.
Resolução de avisos de segurança
CVE-2022-21986 Vulnerabilidade Existe uma vulnerabilidade de Negação de Serviço no .NET 5.0 e no .NET 6.0 quando o servidor Web Kestrel processa determinadas solicitações HTTP/2 e HTTP/3
Visual Studio 2022 versão 17.0.5
lançado em 13 de janeiro de 2022
Problemas resolvidos nesta versão da versão 17.0.5
- Instância ocasional abordada em que o VSInstr não sairia ao instrumentar um binário com metadados voláteis, fazendo com que a Criação de Perfil de Instrumentação falhasse.
- Correção dos problemas em que link.exe ocasionalmente falha ou trava ao produzir PDB junto com binário.
- Correção de um bug em C++ Concurrency::p arallel_for_each que estava falhando no processo de chamada devido ao estouro de inteiro.
- Correção de um bug nas comparações de CString da ATL em modos de linguagem C++20 e C++Latest.
- Correção de uma falha durante a execução de um binário com PGI no arm64 e arm64ec quando um grande número de investigações de pogo foi usado.
- Correção de um problema em que a otimização de funções muito grandes poderia gerar código incorreto.
Visual Studio 2022 versão 17.0.4
lançado em 16 de dezembro de 2021
Problemas resolvidos nesta versão da versão 17.0.4
- Adiciona suporte ao Xcode 13.2.
Visual Studio 2022 versão 17.0.3
lançado em 14 de dezembro de 2021
Problemas resolvidos nesta versão da versão 17.0.3
Renderização de caracteres de controle de texto bidirecional
Para evitar uma exploração potencialmente mal-intencionada que permita que o código seja deturpado, o editor do Visual Studio não permitirá mais que caracteres de controle de texto bidirecional manipulem a ordem dos caracteres na superfície de edição. Uma nova opção fará com que esses caracteres de controle de texto bidirecional sejam mostrados com espaços reservados. Os caracteres de controle de texto bidirecional ainda estarão presentes no código, pois esse comportamento afeta apenas o que é renderizado no editor de código.
Essa funcionalidade é controlada em Ferramentas\Opções. Na página Editor de Texto\Geral, há uma opção para "Mostrar caracteres de controle de texto bidirecional", que será marcada por padrão. Quando marcada, todos os caracteres de controle de texto bidirecional serão renderizados como espaços reservados. Desmarcar a opção será revertido para o comportamento anterior em que esses caracteres não são renderizados.
Um caractere Unicode será considerado um caractere de controle de texto bidirecional se ele se enquadrar em qualquer um dos seguintes intervalos: U+061c, U+200e-U+200f, U+202a-U+202e, U+2066-U+2069.
- Correção de uma falha no Web Forms Designer
- Corrigido um problema em que a conclusão do CSS para !important inseriria texto no local errado em arquivos HTML ou Razor.
- Correção de uma regressão com a Recarga Dinâmica de XAML do Xamarin.Forms conflitante com bibliotecas que compartilhavam dependências semelhantes, como o SignalR. A Recarga Dinâmica de XAML do Xamarin.Forms agora deve ser capaz de interoperar, independentemente do que seja carregado em seu aplicativo.
- Correção de um problema em que páginas de visão geral do projeto, Ferramentas de Diagnóstico ou janelas do Criador de Perfil de Desempenho às vezes ficavam em branco.
- Correção de um problema na edição de arquivo razor em que o cursor às vezes saltava para um local diferente no meio da digitação.
Da Developer Community
A Developer Community tem uma lista completa de correções disponíveis na versão 17.0.
- Bug no Visual Studio 2022 + Xamarin + SignalR (método não encontrado)
- HtmlLanguageClient: HtmlLanguageClient não foi inicializado. Versão prévia do Microsoft Visual Studio Community 2022 (64 bits) versão 17.0.0 Versão prévia 5.0
- Coisas estranhas acontecem na edição css em um arquivo .razor (Blazor)
- Em uma página blazor (*.razor) adicionando ponto e vírgula à linha de código c# faz com que o cursor pule
Resolução de avisos de segurança
CVE-2021-43877Vulnerabilidade do .NET Existe uma vulnerabilidade de elevação de privilégio no ANCM que pode permitir a elevação de privilégio quando aplicativos .NET core, .NET 5 e .NET 6 são hospedados no IIS.
CVE-2021-42574 Vulnerabilidade de texto bidirecional Os caracteres de controle de texto bidirecional podem ser usados para fazer com que o código seja renderizado no editor de forma diferente do que está contido no disco.
Visual Studio 2022 versão 17.0.2
lançado em 30 de novembro de 2021
Problemas resolvidos nesta versão da versão 17.0.2
- Correção para codegen silencioso-ruim com operações semelhantes a memmove com dados sobrepostos
- Adição de mensagens na janela de saída que aparece ao usar módulos C++ ou unidades de cabeçalho. Isso contém problemas conhecidos no momento usando módulos ou unidades de cabeçalho com o IntelliSense.
- Corrija o problema com as Páginas de Visão Geral do CMake e o editor do CMakeSettings presos em "Aguardando que o IntelliSense conclua a inicialização..."
- Corrigido um problema em que um destruidor modelo envolvido em uma hierarquia de classe com inicializadores de membros de dados pode ser instanciado muito cedo, potencialmente levando a diagnósticos incorretos sobre usos de tipos indefinidos ou outros erros.
- O Python 3.9.7 foi adicionado à carga de trabalho do Python. O Python 3.7.8 foi removido devido a uma vulnerabilidade de segurança.
- Correção de um problema em que o Find Next (F3) e o Find Next Selected (Ctrl+F3) às vezes saltavam para a primeira ocorrência no arquivo em vez da próxima ocorrência.
- Resolva o problema em que as datas nas interfaces do usuário de controle de versão não respeitavam a localidade do sistema operacional do cliente.
- Resolva um problema no Windows 11 em que os clientes definem o Terminal do Windows como padrão e o depurador não pode parar de depurar um aplicativo de console corretamente e impedir inícios futuros.
Da Developer Community
A Developer Community tem uma lista completa de correções disponíveis na versão 17.0.
- É impossível pesquisar na seleção se parte de uma única linha estiver selecionada no Visual Studio 2022
- A conclusão do Blazor C# pode ocasionalmente mostrar informações erradas
- PackageId:AndroidImage_x86_API25_Private;PackageAction:Install;ReturnCode:3;
- Ctrl-F3 às vezes pula para cima do documento
- Ctrl-f3 alterou o comportamento do Visual Studio 2019 para o Visual Studio 2022
- Gerenciador de Testes do Visual Studio 2022 sempre mostrando o teste como "Não Executar"
- Intellisense em componentes razor blazor
- O Visual Studio 2022 mostra ícones de adição/exclusão incorretos na árvore de controle do código-fonte
- O IntelliSense do VS 2022 está demorando um pouco ou não aparece em alguns cenários.
- O Intellisense em arquivos Razor (.cshtml) ainda não está funcionando no VS 2022
Visual Studio 2022 versão 17.0.1
lançado em 16 de novembro de 2021
Problemas resolvidos nesta versão da versão 17.0.1
- Correção de uma falha ao usar builds em lote.
- Correção de uma falha ao iniciar projetos do Xamarin.Forms com o Recarga Dinâmica de XAML habilitado.
Da Developer Community
A Developer Community tem uma lista completa de correções disponíveis na versão 17.0.
- O criador de perfil do Visual Studio 2022 não fornece nenhuma informação sobre código com perfil
- Exibição .diagsession do Criador de Perfil de Desempenho congela no redimensionamento do painel
Visual Studio 2022 versão 17.0.0
lançado em 08 de novembro de 2021
Resumo das novidades desta versão do Visual Studio 2022 versão 17.0.0
64 bits
- devenv.exe agora é somente de 64 bits
Serviços de Nuvem do Azure
- Não há suporte para novos projetos do Serviço de Nuvem do Azure (clássico) devido à preterida no Azure para novos clientes. Os projetos do Serviço de Nuvem do Azure (suporte estendido) são a substituição recomendada.
- Os projetos existentes do Serviço de Nuvem do Azure (clássico) podem ser abertos e têm suporte total.
- As ferramentas de build v143 agora estão disponíveis por meio do instalador do Visual Studio, bem como das ferramentas de build autônomas.
- A nova experiência de Recarga Dinâmica agora está disponível para aplicativos C++ nativos durante a execução no depurador. Ele dá suporte a projetos MSBuild e CMake. Para obter mais informações, consulte nossa seção Recarga Dinâmica abaixo.
- Agora você pode compilar e depurar nativamente no WSL2 sem estabelecer uma conexão SSH. Há suporte para projetos CMake multiplataforma e projetos Linux baseados em MSBuild.
- O Visual Studio agora dá suporte à opção
buildPresets.targets
em CMakePresets.json. Isso permite que você crie um subconjunto de destinos em seu projeto do CMake. - O menu Projeto em projetos do CMake foi simplificado e expõe as opções "Excluir Cache e Reconfigurar" e "Exibir Cache".
- As Páginas de Visão Geral do CMake foram atualizadas para dar suporte a CMakePresets.json.
- Sinalizador implementado
/scanDependencies
para gerar dependências de módulo C++20 para projetos do CMake, conforme descrito em P1689r4. Esta é uma etapa para dar suporte à criação de projetos baseados em módulos com o CMake e estamos trabalhando para concluir esse suporte em versões posteriores. - Agora você pode depurar processos em execução em sistemas remotos do Visual Studio com LLDB.
- Atualizamos a versão do CMake enviada com o Visual Studio para a versão 3.21. Consulte as notas de versão do CMake 3.21 para obter detalhes sobre o que está disponível.
- As ferramentas LLVM enviadas com o Visual Studio foram atualizadas para a LLVM 12. Para obter detalhes, confira Notas sobre a versão do LLVM.
- O conjunto de ferramentas MSVC agora usa o padrão de hash de origem SHA-256 em registros de depuração. Anteriormente, o conjunto de ferramentas usava MD5 para hash de origem por padrão.
- O Desenvolvimento de jogos com carga de trabalho C++ agora instala o Mecanismo Unreal mais recente com suporte para Visual Studio 2022.
- Melhorias feitas no C++ IntelliSense ao fornecer realce de navegação e sintaxe para tipos de módulos importados e unidades de cabeçalho.
- Melhor desempenho do IntelliSense do C++ otimizando o uso de cabeçalho armazenado em cache e o acesso ao banco de dados de símbolos, fornecendo tempos de carga aprimorados para entrar em seu código.
- O Linter de Código do IntelliSense para C++ agora está ativado por padrão, fornecendo sugestões instantâneas conforme o tipo e sugestões de correção para defeitos de código comuns.
- Suporte para libfuzzer sob a opção
-fsanitize=fuzzer
. Confira a documentação do para obter mais detalhes. - Melhoramos a detecção de desreferência de ponteiro nulo em nossas ferramentas de análise de código.
- A análise de código agora impõe que os valores retornados de funções anotadas com
_Check_return_
ou_Must_inspect_result_
que precisa ser verificados. - Suporte adicionado para
gsl::not_null
para análise de código. - Atualizado para o NDK r21 LTS na carga de trabalho de Desenvolvimento Móvel do C++.
- Cabeçalhos C++ AMP foram preteridos. A inclusão <de amp.h> em um projeto C++ gerará erros de build. Para silenciar os erros, defina
_SILENCE_AMP_DEPRECATION_WARNINGS
. Consulte nossos links de substituição AMP para obter mais detalhes.
- Anexar a melhorias da caixa de diálogo do processo
- Melhorias do auxiliar de exceção
- Forçar Execução até Clicar
- Análise de diagnóstico de despejo de memória
- Lançamos um novo tipo de ponto de interrupção chamado Ponto de Interrupção Dependente, que permite que você configure um ponto de interrupção para ser habilitado somente se outro ponto de interrupção for atingido pela primeira vez.
- Adicionamos mais atualizações ao nó Fontes Extrenal, agora você pode ver o módulo no sub nó "Módulos sem Fontes" e carregar o próprio gerenciador de soluções de formulário de símbolos.
- Melhorias na Sarjeta de Ponto de Interrupção
- Ponto de interrupção temporário
- Arrastar e soltar ponto de interrupção
- Nó de Fontes Externas no Gerenciador de Soluções
- Anexar a melhorias da caixa de diálogo do processo
Personalização
- Adição de guias de cor para guias verticais e horizontais
- Adicionado o Pacote de Temas e trabalhou com autores de temas do VS Code para iniciar a coleção de temas personalizados
- Conversor de tema criado para converter temas de código VS para trabalhar no Visual Studio 2022
- Funcionalidade adicionada para sincronizar o tema do Visual Studio com o tema do Windows
- Foram adicionados novos recursos de gerenciamento de documentos que inclduding personalizando a largura da guia, o documento ativo em negrito e o botão de fechamento adicional no docwell.
- Navegação de sub-palavra adicionada
- O salvamento automático agora está disponível como uma versão prévia do recurso
- Experiência de cópia/colagem de vários cursos
- APIs removidas dos assemblies Microsoft.VisualStudio.Language.Client
- O SDK do VS contém várias alterações interruptivas e as extensões do Visual Studio 2019 não funcionarão em 2022. Consulte a documentação do VSSDK para obter mais informações.
- Os assemblies de referência do SDK do VS não estão mais instalados na pasta
VSSDK\VisualStudioIntegration\Common\Assemblies
. Se o build estava contando com esses assemblies, migre seu projeto para usar pacotes NuGet. Para cenários offline:- Mantenha um feed nuget na organização do qual restaurar os pacotes nuget.
- Faça check-in dos binários.
- Adição de correções de alteração da falha de ILanguageClient
Serviços de Nuvem
- O Azurite será usado para emulação local do Armazenamento do Microsoft Azure em vez do Emulador de Armazenamento do Azure mais antigo e não mais desenvolvido ativamente.
Ferramentas do Git
- Suporte a vários repositórios em um sinalizador de visualização para qualquer solução que abrange repositórios diferentes (ou seja, soluções com projetos hospedados em repositórios Git diferentes)
- A publicação no Azure DevOps agora tem suporte total na experiência de criação do repositório git
- Aprimoramentos da barra de status, incluindo uma nova capacidade de exibir e abrir repositórios de um VS vazio e exibir uma contagem de confirmações nãopuladas
- O menu de estouro na janela Alterações do Git agora está disponível para repositórios locais somente com operações adicionais do Git
- Barra de ferramentas do Unified Diff que contém o número de linhas adicionadas/excluídas e opções de configuração detectáveis
- Confirmar aprimoramentos de detalhes, incluindo uma interface do usuário mais responsiva e amigável
Menu Ajuda
- Durante a 17.0, remodelamos o Menu de Ajuda com material de Introdução e dicas/truques úteis.
- Fornece mais colaboração com nossa equipe de desenvolvimento adicionando itens como acesso à Developer Community, Notas de Versão, o Roteiro do produto do Visual Studio e nossas páginas de Mídia Social.
Experiência de Recarga Dinâmica
- A Recarga Dinâmica agora está disponível para desenvolvedores do .NET por meio do depurador do Visual Studio e sem o depurador para muitos tipos de aplicativo .NET 6
- A Recarga Dinâmica agora está disponível para desenvolvedores do C++ ao usar o Depurador do Visual Studio
Para obter mais detalhes, consulte o link acima
IntelliCode
- Conclusões de linha inteira prevêem sua próxima parte do código C# com base no contexto atual e a apresentam como uma sugestão embutida à direita do cursor.
- As conclusões de linha inteira agora são compatíveis com os builds mais recentes do JetBrains ReSharper. Observe que não há suporte para atualizar o contexto de conclusão de linha com base na seleção de item de lista de conclusões personalizadas do ReSharpers - se necessário, os usuários do ReSharper poderão optar por usar o IntelliSense nativo do Visual Studio, conforme documentado aqui
JavaScript/TypeScript
- Lançamos um novo tipo de projeto JavaScript/TypeScript que cria projetos JavaScript/TypeScript autônomos com ferramentas adicionais. Você poderá criar projetos Angular e React no Visual Studio usando a versão da estrutura instalada em seu computador.
- O teste de JavaScript e TypeScript agora está disponível no Gerenciador de Testes do Visual Studio
- NPM GUI disponível, portanto, agora você pode baixar módulos NPM da mesma maneira que você baixa pacotes Nuget
SDK do .NET 6
- O SDK do .NET 6 está incluído no Visual Studio 2022
- Introduzir a refatoração de parâmetro pode mover um novo parâmetro da implementação do método para seus chamadores.
- Controlar a fonte de valor para análise de fluxo de dados
- Opção para sublinhar variáveis que são atribuídas novamente
- Opção de pesquisa adicionada na caixa de diálogo Gerar Substituições
- Informações rápidas para marcas de <código> XML agora preservam blocos de espaço em branco e CDATA
- A janela Localizar Todas as Referências agora agrupará projetos de vários destinos
- Refatoração para remover tipos repetitivos no Visual Basic
- Ir para Implementação não navegará mais para membros com declarações abstratas que também são substituídas.
- Sincronizar namespaces para corresponder à estrutura de pastas do Gerenciador de Soluções
- Configurar a análise de código em segundo plano do Gerenciador de Soluções
- Os tipos de referência que permitem valor nulo agora estão habilitados por padrão para novos projetos do .NET
- Refatoração de namespace com escopo de arquivo do C# 10.0
- A navegação para fontes descompiladas agora está ativada por padrão
- Refatoração para preferir verificação nula em vez de verificação de tipo
- Os comentários XML agora gerarão automaticamente uma marca
<exception>
quando um método gerar explicitamente exceções - A Margem de Herança agora está habilitada por padrão
- C#10
- Redução dos congelamentos de interface do usuário e melhor desempenho na inicialização da solução
- Colorização semântica mais rápida até 2x em algumas soluções
- Suporte a F7 (código de exibição) em arquivos Razor
- Suporte a snippet em arquivos Razor que concluirão uma sessão de snippet com uma única guia em vez de pressionar tab-tab
- Melhor formatação em @code blocos quando há componentes HTML e Razor aninhados
- Suporte à Recarga Dinâmica em arquivos Razor
- Aprimoramentos de desempenho
- Aprimoramentos de formatação e recuo
- Novas cores do editor Razor
- Os TagHelpers agora estão coloridos e têm dicas de ferramentas de suporte de classificação de informações rápidas e de conclusão
- Realce de chave angular e navegação para constructos do Razor
- Os comentários agora têm preenchimento automático, recuo inteligente, inclusão automática de continuações de comentários e navegação de comentários em bloco
- Versão prévia experimental muito inicial da habilitação de testes em execução em ambientes remotos, como contêineres linux, WSL e conexões SSH.
Suporte a ferramentas de teste
- Mostrar no Gerenciador de Testes
- Novas versões da plataforma de teste a partir da 17.0 não poderão executar testes genéricos e testes ordenados. Esses recursos específicos são fornecidos apenas como parte de uma versão inicial do MSTestv1 e não estão incluídos no MSTestv2. Vemos que o uso muito baixo desses recursos e testes ordenados agora é considerado contrário às práticas recomendadas de teste.
- Algumas experiências de teste não estarão disponíveis na versão 17.0, incluindo a criação de novos arquivos TestSettings e o editor TestSettings. As execuções de teste ainda poderão usar arquivos TestSettings, no entanto, TestSettings foi substituído por RunSettings e incentivamos os usuários a migrar melhor desempenho e funcionalidade. Leia mais.
- O Teste de Carga da Web e o Teste de IU Codificado dão suporte a atualizações. Testes de interface do usuário codificados e [Testes de Carga da Web](Fim da vida útil do serviço de teste de carga baseado em nuvem | O Blog do Azure DevOps (microsoft.com) foi oficialmente preterido em 2019. Para minimizar o impacto aos usuários, há suporte mínimo para esses recursos no Visual Studio 2022. Incentivamos fortemente os usuários a sair do Teste de IU Codificado e do Teste de Carga da Web.
População de caixas de ferramentas para SDKs de Extensão UWP
- Os SDKs de Extensão UWP agora são necessários para declarar explicitamente os tipos que desejam aparecer na Caixa de Ferramentas listando-os em seu arquivo SdkManifest.xml. O comportamento das versões mais antigas do Visual Studio é inalterado; eles ignorarão a lista de controles no manifesto e, em vez disso, enumerarão dinamicamente os tipos de controle nos assemblies do SDK.
- Renovamos a funcionalidade "Configurações de Confiança" e agora podemos mostrar um aviso sempre que o código não confiável (por exemplo, arquivos, projetos ou pastas) estiver prestes a ser aberto dentro do IDE.
- As verificações de confiança agora são feitas no nível da pasta da solução
- Os projetos criados pelo usuário são adicionados automaticamente à lista confiável
- Os usuários podem ignorar verificações de confiança em locais temporários criados pelo Visual Studio
Atualizações, LTSC e Implantação
- Com o Visual Studio 2022, haverá várias linhas de base de manutenção com suporte simultanouemente que serão lançadas no outono e na primavera. Para obter mais detalhes, consulte a documentação do Visual Studio Release Rhythm e o Ciclo de Vida do Produto do Visual Studio 2022.
- O novo instalador que vem com o Visual Studio 2022 agora tem a capacidade de configurar de onde o produto do Visual Studio deve obter suas atualizações. Isso permite que você escolha atualizações de um LTSC diferente ou, se estiver em um ambiente corporativo gerenciado, poderá configurar o cliente para obter suas atualizações de um layout. A capacidade de configurar a origem para atualizações é uma nova funcionalidade que vem com o Instalador do Visual Studio e, portanto, o comportamento é aplicável a versões de nível inferior do Visual Studio também, como o Visual Studio 2019. Para obter informações adicionais sobre como configurar o canal de atualização, consulte a documentação do Atualizar o Visual Studio. Para obter informações adicionais sobre como fazer isso funcionar para layouts de rede, consulte o Guia de administradores do Visual Studio.
- Os administradores de TI agora podem relatar problemas sem ter o Visual Studio instalado.
- Os ícones padrão foram atualizados e atualizados.
Ferramentas da Web
- A página Publicar resumo agora tem ações para iniciar/parar a depuração remota e a criação de perfil em '...' menu no canto superior direito da seção 'Hosting'
- A página Serviços Conectados agora tem uma ação para iniciar o Gerenciador de Armazenamento
- O modelo "ASP.NET Core Empty" que vem com o .NET 6 está usando o novo paradigma de "APIs mínimas" para o qual começamos a adicionar suporte
- O Azurite será usado para emulação local do Armazenamento do Microsoft Azure em vez do Emulador de Armazenamento do Azure mais antigo e não mais desenvolvido ativamente.
- Você pode adicionar autenticação ao aplicativo ASP.NET Core usando a plataforma de identidade da Microsoft por meio da experiência de Serviços Conectados no Visual Studio.
Designer XAML do WPF para .NET Framework
- O Designer XAML do WPF atual para .NET Framework é substituído por um novo Designer XAML do WPF para .NET Framework, com base na mesma arquitetura usada para o Designer XAML do WPF para .NET (.NET Core). A experiência do Visual Studio terá a mesma aparência, mas os fornecedores de controle de terceiros precisam dar suporte ao novo modelo de extensibilidade, já que o modelo anterior se baseou
.design.dll
eMicrosoft.Windows.Design.Extensibility
foi preterido. Se você já tiver criado uma extensão.designtools.dll
para .NET (.NET Core), essa mesma extensão funcionará para o novo Designer XAML do WPF para .NET Framework. Consulte o documento de migração abaixo para obter mais informações sobre como migrar para o novo modelo de extensibilidade.
- Alterações de Recarga Dinâmica de XAML – pequenas alterações na barra de ferramentas e configurações no aplicativo
- O XAML Live Preview agora está disponível para desenvolvedores do WPF, UWP, WinUI e Xamarin.Forms executando seus aplicativos no Android Emulator ou como um aplicativo da área de trabalho UWP. O Live Preview captura uma interface do usuário de aplicativos em execução e a coloca em uma janela encaixada no Visual Studio. Isso facilita o uso da Recarga Dinâmica de XAML para alterar o aplicativo enquanto vê essas alterações dentro do próprio Visual Studio, sem a necessidade de fazer uma guia entre o aplicativo em execução e o Visual Studio enquanto faz alterações de código XAML ao vivo.
Para obter mais informações, clique no link acima.
Dados de exemplo XAML
- Os dados de exemplo de tempo de design agora serão adicionados por padrão ao criar controles DataGrid, ListBox e ListView da caixa de ferramentas em aplicativos WPF. Para desabilitar esse comportamento, desmarque "Adicionar automaticamente dados de exemplo na criação de elementos" em Ferramentas –> Opções –> Designer XAML.".
- Para saber mais sobre dados de exemplo, visite a documentação dados de exemplo.
Experiência de associação XAML aprimorada
- Fizemos várias melhorias para tornar a associação de dados rápida e fácil, como acesso rápido à caixa de diálogo Associação de Dados do Inspetor de Propriedades, capacidade de definir a associação de Ações Rápidas, capacidade de escolher a propriedade a ser associada dentro da caixa de diálogo Associação de Dados.
Para obter mais informações, clique no link acima.
Problemas conhecidos
Desenvolvimento para dispositivos móveis com .NET
- Falha na implantação do Xamarin iOS após a atualização do iOS 15
- Android Designer Exception in thread "main" java.lang.NullPointerException
- Falha na implantação do iOS no VS 2022
- O Gerenciador de Dispositivos Android não tem nenhum dispositivo base disponível
- Aplicativo iOS "Falha ao instalar" no simulador remoto
- As páginas de propriedades tradicionais do Projeto do iOS não conseguem abrir "Exceção de referência nula de objeto"
- Falha ao criar um arquivo morto para o Xamarin iOS
- Falha ao implantar em um iPhone, Erro MT1001: Não foi possível localizar um aplicativo no diretório especificado
Ferramentas do Python
- Falha ao iniciar o Python Profiler porque o recurso ainda não foi adicionado
- Escolher "Python (Mais Recente)" ao criar um ambiente Conda exibe "Python Versão 0.0"
- O formatador errou com 'black' e 'autopep8' com "Modo de patch inválido '' em: Nenhuma nova linha no final do arquivo". Uma solução rápida é adicionar uma nova linha ao final do arquivo e 'black e 'autopep8' serão formatados corretamente
- Comandos do projeto Web do Django (migrar, criar, verificar etc.) no momento
- Conclusões do Django em arquivos HTML não funcionando
- O modo interativo IPython não funciona no Python 3.9
- Mesmo que um módulo seja instalado com êxito, um aviso ainda será exibido na saída. Uma solução rápida é fechar e reabrir a solução VS
C++ IntelliSense
Detalhes das novidades desta versão do Visual Studio 2022 versão 17.0.0
Depuração e diagnóstico
- Anexar a melhorias da caixa de diálogo do processo
- Nova exibição de lista de processos pai/filho por meio de alternância na parte inferior da janela
- A seleção do modo de exibição deve ser mantida.
- A tecla esquerda no teclado navega para o processo pai no modo de exibição pai/filho.
- Todas as colunas devem ser classificadas como a exibição original.
- A coluna Nova Linha de Comando está disponível em ambos os modos de exibição.
- O nome do pool de aplicativos é mostrado na "coluna Título" para processos w3wp
! [Anexar ao processo] (media/17.0/17.0_P2_attach_to _process_3.png)
- Adicionado um Auxiliar de Exceção no bloco catch. Isso exibirá o auxiliar de exceção com as informações de exceção relevantes quando uma etapa gerenciada fizer com que uma exceção seja lançada e a etapa for concluída em um bloco catch.
- Um novo botão "continuar": mostrando o auxiliar de exceção em exceções "capturadas".
- Adicionamos uma opção para forçar a execução para clicar que executará o depurador até que a posição do cursor selecionada seja alcançada, ignorando todos os pontos de interrupção no meio.
- Você pode executar isso clicando em "Forçar Executar para Clicar" no menu de clique com o botão direito do mouse na linha de código desejada.
- Quando o aplicativo está no modo de depuração, você também pode executar o "Force Run to Click" clicando no glifo verde que aparece ao lado de uma linha de código quando o mouse passa o mouse ao segurar a tecla SHIFT.
- Análise de diagnóstico de despejo de memória
- Melhoramos o mecanismo do analisador para encontrar mais problemas de sincronização sobre assíncrona em despejos de memória ASP.NET Principais.
- Localize quais partes do código estão consumindo mais recursos de CPU examinando os cinco principais threads por tempo de CPU.
- Examine todo o heap gerenciado em busca de sinais de pressão de memória na Geração 0, 1, 2 e no Heap de Objetos Grandes.
- Se você tiver um despejo de memória, poderá encontrar a segunda exceção de chance e o thread que causaram a falha do aplicativo.
- Lutando para formar uma hipótese de diagnóstico? Quando a causa exata de uma falha ou travamento não é bem conhecida, você pode usar o analisador de exceção para localizar e revisar rapidamente todas as exceções no heap.
- Para aqueles momentos em que a análise de memória é importante, melhoramos a heurística do analisador de filas do Finalizador. Agora nos concentramos em seu código e excluímos objetos gerenciados pela estrutura do .NET.
Ponto de interrupção dependente
Esse é um novo ponto de interrupção que permite que o usuário configure um ponto de interrupção para ser habilitado somente se outro ponto de interrupção for atingido pela primeira vez. Ao depurar, o depurador do Visual Studio só pausará o aplicativo no ponto de interrupção Dependente se o ponto de interrupção de pré-requisito for atingido. Você pode converter qualquer ponto de interrupção em ponto de interrupção dependente habilitando a caixa de seleção "Habilitar somente quando o ponto de interrupção de acompanhamento for atingido" na janela de configurações e selecionando o ponto de interrupção de pré-requisito na lista suspensa na qual você deseja configurar o ponto de interrupção Dependente.
Melhorias na Sarjeta de Ponto de Interrupção
Adicionamos um novo glifo de ponto de interrupção para indicar o local em que o usuário pode definir um ponto de interrupção.
O clique com o botão direito do mouse nesse glifo de ponto de interrupção fornecerá um novo menu de contexto com opções; que fornece uma maneira rápida de criar pontos de interrupção avançados (ponto de interrupção condicional, tracepoint e ponto de interrupção temporário) em menos cliques.
Ponto de interrupção temporário
Esse é um novo ponto de interrupção que permite que o usuário interrompa o código apenas uma vez. Ao depurar, o depurador do Visual Studio só pausará o runtime do aplicativo uma vez para esse ponto de interrupção e o removerá imediatamente após ele ter sido atingido. Você pode converter qualquer ponto de interrupção em um ponto de interrupção temporário habilitando a caixa de seleção "Remover ponto de interrupção após a ocorrência" da janela de configurações. Como alternativa, você pode usar o novo menu de contexto de clique com o botão direito do mouse na sarjeta do ponto de interrupção para definir esse ponto de interrupção.
Arrastar e soltar ponto de interrupção
Adicionamos o gesto de arrastar e soltar para os pontos de interrupção. Agora você pode manter o ponto de interrupção e liberado na linha de código desejada para mover o ponto de interrupção de um local para outro. Ele funciona para nosso ponto de interrupção avançado, desde que as variáveis de ações/condição estejam dentro do contexto.
Nó de Fontes Externas no Gerenciador de Soluções
Adicionamos um novo nó "Fontes Externas" no Gerenciador de Soluções. No momento, isso só será exibido durante a depuração e mostrará fontes para módulos gerenciados com símbolos carregados que contêm informações do Servidor de Origem ou do Source Link. Durante a depuração, qualquer arquivo de símbolo gerenciado carregado (.pdb) que tenha informações do Servidor de Origem presentes aparecerá nesse nó. Você pode procurar arquivos como qualquer outra pasta do Gerenciador de Soluções ou clicar duas vezes em um item para baixar o arquivo do Servidor de Origem e abri-lo no Editor do VS.
Anexar a melhorias da caixa de diálogo de processo
Adicionamos uma nova caixa de seleção de atualização automática na caixa de diálogo anexar ao processo, que ao verificar atualiza a lista de processos automaticamente com os processos disponíveis. A nova opção "Selecionar qualquer janela da área de trabalho" na caixa de diálogo anexar ao processo, permite que o usuário escolha qualquer janela em execução na área de trabalho e anexe ao processo associado para depuração.
Análise de diagnóstico de despejo de memória
Localizar os quadros de chamada raiz quando ocorre uma Exceção de Stack Overflow pode ser difícil e demorado. Nossos analisadores mais recentes apresentam uma exibição conveniente da Pilha de Chamadas e remove quadros repetitivos e barulhentos para uma análise de problema mais rápida.
Personalização
Converter temas do VS Code em temas do Visual Studio
Criamos uma ferramenta de Conversor de Tema que pode converter temas do VS Code para funcionar no Visual Studio. Experimente aqui.
Novo Pacote de Temas do Visual Studio
Os temas padrão do VS Code agora estão disponíveis como um Pacote de Temas do Visual Studio. Dê uma olhada no pacote de temas aqui.
Sincronizar tema com o sistema operacional Windows
Adicionamos a capacidade de sincronizar seu tema do Visual Studio com o tema do Windows, para que seu tema possa se ajustar com base na quantidade de luz ambiente disponível. Para habilitar isso, navegue até o Tema > de Ferramentas > Usar Configuração do Sistema.
Guias de cor
Para habilitar as guias coloridas, navegue até Ferramentas > Opções > Guias e Janelas e habilite Colorir Guias.
Editor
Navegação de sub palavras
Ctrl+Alt+Seta para a esquerda e Ctrl+Alt+Seta para a direita agora navegarão por sub palavra. Por exemplo, a cadeia de caracteres "HelloWorld" identifica "Hello" e "World" como sub-palavras. Habilitar a Navegação de sub palavras em Ferramentas > Opções > Editor de texto > Geral fará com que comandos relacionados ao word (por exemplo, TransposeWord) interajam com sub palavras.
Salvamento automático
Em Ferramentas > Opções > Ambiente > Recursos , o salvamento automático agora está disponível. Se habilitado, quando o aplicativo do Visual Studio perde o foco (por exemplo, outra janela obtém o foco), todos os documentos sujos serão salvos no disco, se possível. Se qualquer arquivo não puder ser salvo, ele permanecerá sujo até que o usuário o salve explicitamente (com os comandos Salvar ou Salvar como... ).
Experiência de cópia\colagem de vários cuidados
Melhoramos a experiência de copiar e colar com vários cuidados. Anteriormente, a colagem de várias linhas em vários conjuntos gera a duplicação de toda a área de transferência em cada conjunto. Agora, colar várias linhas no mesmo número de conjuntos insere cada linha em um respectivo conjunto. Para usar várias teclas, pressione o Alt+Shift+clique do mouse ou Alt+Shift+. E use a Ctrl+Shift+tecla de direção para expandir as seleções. Em seguida, pressione Ctrl+C para copiar o texto em várias seleções. Use o Alt+Shift+clique do mouse para criar vários conjuntos de caracteres para cada linha que você gostaria de colar em locais desejados. Por fim, pressione Ctrl+V para colar cada linha em seu próprio cursor.
Além disso, você pode usar Alt+Shift+tecla de direção cima ou baixo ou Alt+Shift+arraste de mouse para selecionar com várias carets. Anteriormente, esses gestos criavam a seleção de caixa. Agora, a seleção de caixa se transforma em várias carets. Esse método é mais fácil e rápido do que clicar em locais precisos para inserir sinais individuais. Se você preferir continuar usando a seleção de caixa com Alt+Shift+teclas de direção e Alt+Shift+arraste de mouse ao expandir a seleção de vários cursos, vá para Ferramentas > Opções > Editor de texto >Avançado e selecione Usar seleção de caixa.
Extensibilidade
O Microsoft.VisualStudio.LanguageServer.Client está introduzindo uma nova maneira de personalizar notificações quando um cliente de idioma não é inicializado.
A tarefa de inicialização agora será controlada pelo Central de Status de Tarefas (TSC). Se a tarefa de inicialização falhar, os usuários poderão acessar o TSC para obter mais informações sobre o que deu errado. Os clientes de idioma agora poderão personalizar a mensagem mostrada ao usuário fornecendo informações sobre o que essa falha representa para eles e possíveis ações a serem tomadas para corrigi-la. Para fazer isso, estamos introduzindo um novo conjunto de APIs na interface ILanguageClient. Essas novas APIs causariam uma alteração significativa na interface ILanguageClient, portanto, as extensões de linguagem precisarão referenciar o novo pacote para funcionar no Visual Studio 2022.
Veja a seguir as novas APIs:
- Propriedade ShowNotificationOnInitializeFailed – propriedade booliana que determinará se o servidor de idiomas deseja que mostremos uma bolha para notificar o usuário sobre a falha desta maneira:
A recomendação é definir essa propriedade como true somente se a falha afetar drasticamente a experiência do usuário para o projeto em que ele está trabalhando no momento.
- Método OnServerInitializedFailedAsync – esse método será invocado quando a inicialização do cliente de idioma falhar. Forneceremos um objeto LanguageClientInitializationInfoBase com informações sobre como a falha ocorreu para que o cliente de idioma possa notificar o usuário sobre a falha por conta própria ou fornecer uma mensagem personalizada com o contexto da falha. Se a mensagem for fornecida, ela será mostrada na janela Saída do Visual Studio.
JavaScript/TypeScript
Agora há suporte para um novo tipo de projeto JavaScript/TypeScript que permite criar projetos autônomos do Angular, React e Vue no Visual Studio. Os projetos serão criados usando as ferramentas da CLI da estrutura instaladas no computador local. Isso também significa que a versão do modelo é baseada nas versões da CLI que você tem em seu computador local.
Nesses novos projetos, você poderá executar testes de unidade e integrá-los a projetos de API do ASP.NET Core. A documentação pode ser encontrada aqui
- Lançamos um novo tipo de projeto JavaScript/TypeScript que cria projetos JavaScript/TypeScript autônomos com ferramentas adicionais. Leia mais sobre isso aqui
- NPM GUI disponível, portanto, agora você pode baixar módulos NPM da mesma maneira que você baixa pacotes Nuget nos novos projetos JavaScript/TypeScript
Experiência de Recarga Dinâmica para desenvolvedores do .NET e C++
No início deste ano , anunciamos a Recarga Dinâmica do .NET, um projeto ambicioso para levar a Recarga Dinâmica para o maior número possível de desenvolvedores do .NET. Começamos esse percurso com uma primeira versão prévia disponível no Visual Studio 2019 e prometemos muito mais para vir no Visual Studio 2022, onde a experiência completa seria enviada. Hoje estou animado para compartilhar os detalhes do que concluímos na versão GA do Visual Studio 2022.
Para qualquer pessoa nova na Recarga Dinâmica, aqui está uma rápida introdução. A experiência de Recarga Dinâmica no Visual Studio funciona para aplicativos .NET e C++ nativos gerenciados. Independentemente do tipo de aplicativo no qual você está trabalhando, nosso objetivo com a Recarga Dinâmica é salvar o máximo possível de reinicializações de aplicativo entre edições, tornando-o mais produtivo, reduzindo o tempo gasto aguardando que os aplicativos sejam recompilados, reiniciados, navegue novamente até o local anterior em que você estava no próprio aplicativo, etc.
Fazemos isso possibilitando que você edite os arquivos de código de seus aplicativos e aplique essas alterações de código imediatamente ao aplicativo em execução, também conhecido como "Recarga Dinâmica". Depois que essas alterações forem aplicadas, basta executar novamente o código executando uma ação no próprio aplicativo (ou por meio de algum tipo de temporizador, etc.) e ver as alterações imediatamente, sem interrupção do aplicativo por meio de pontos de interrupção necessários!
Se quiser ver algumas demonstrações ao vivo desse recurso, confira um destes vídeos:
- ASP.NET Community Standup (June 8, 2021)
- Standup da Comunidade da Área de Trabalho do .NET (23 de setembro de 2021)
Experiência do usuário de Recarga Dinâmica no Visual Studio
A experiência de Recarga Dinâmica para desenvolvedores do .NET e do C++ no Visual Studio 2022 também passou por grandes melhorias. A barra de ferramentas agora tem a implementação de destino do botão "Recarga Dinâmica" com aparência aprimorada e mais funcionalidade.
A primeira coisa que você observará é o novo botão de estilo suspenso com um novo ícone. O comando é renomeado de "aplicar alterações de código" (de visualizações iniciais) para "Recarga Dinâmica".
A expansão dos botões revela acesso rápido a recursos como reiniciar a execução de aplicativos, uma alternância de aceitação para Recarga Dinâmica no salvamento e acesso rápido ao novo painel de configurações.
Veja mais detalhes sobre cada um dos novos recursos:
- Reinicie aplicativos facilmente: agora você pode reiniciar facilmente seu aplicativo em execução se uma edição rude precisar ser aplicada por meio de uma recompilação, independentemente de você ter iniciado seu aplicativo usando o depurador ou se você o iniciou sem o depurador (NEW para aplicativos .NET 6!).
- Recarga Dinâmica em Salvar: em versões prévias anteriores, você só podia aplicar alterações de Recarga Dinâmica ao salvar em projetos ASP.NET, para todos os outros projetos que você tinha que clicar explicitamente no botão Recarga Dinâmica. Na versão final, agora é possível fazer Recarga Dinâmica usando a chave de salvamento para qualquer tipo de projeto. Essa opção é aceita, mas uma vez habilitada, ela se aplicará a todas as suas sessões futuras do Visual Studio, a menos que você a desative.
- Acesso de Configurações Fáceis: adicionamos um painel de opções de recarga frequente para fornecer mais controle quando o Recarga Dinâmica estiver habilitado/desabilitado. Você pode acessar essas configurações no Visual Studio "Opções > .NET/Recarga Dinâmica do C++" ou no menu suspenso Botões de Recarga Dinâmica clicando em Configurações.
Também adicionamos uma caixa de diálogo de edição rude aprimorada que está disponível ao executar seu aplicativo .NET sem o depurador.
Esta nova caixa de diálogo tem várias melhorias, como:
- Uma opção de aceitação em toda a sessão do Visual Studio para recompilar e aplicar alterações em cada edição rude do Recarga Dinâmica. Depois de verificado, isso se aplica a todas as edições rudes futuras até que o Visual Studio seja reiniciado
- Um comando recompilar e aplicar as alterações de código que podem ser realizadas com um único clique, em vez de várias etapas manuais
- E acesso fácil às configurações
A caixa de diálogo também permite que você continue editando se não quiser executar nenhuma ação automatizada como era possível anteriormente.
Há uma limitação conhecida, essa nova caixa de diálogo não estará disponível na versão GA ao usar o depurador, mas o trabalho para disponibilizá-lo nesse cenário será concluído em uma atualização futura.
Suporte para aplicativos C++
Ao usar o Visual Studio 2022 e iniciar seu aplicativo com o depurador, agora é possível fazer Recarga Dinâmica de um aplicativo C++ nativo ao ser executado sob o depurador (F5) usando o botão "Recarga Dinâmica". A Recarga Dinâmica também é compatível com os aplicativos criados usando projetos CMake e OpenFolder.
Essa experiência é alimentada por Edição e Continuação nativas, para edições com suporte, consulte nossa documentação.
Estruturas e cenários de aplicativos .NET com suporte
Desde que anunciamos a Recarga Dinâmica em maio de 2021, uma pergunta muito comum dos desenvolvedores do .NET foi "o Hot Reload funcionará com minha combinação de estrutura/versão de aplicativos do .NET?". Fizemos grandes progressos para fazer a resposta SIM na maioria das situações, aqui estão os destaques.
- Ao usar o Visual Studio 2022 e iniciar seu aplicativo com o depurador, a experiência básica de Recarga Dinâmica funciona com a maioria dos tipos de aplicativos .NET e versões da estrutura, isso inclui .NET Framework, .NET Core e .NET 5+ (para C# e VB.NET conforme aplicável). O tipo de aplicativos com suporte inclui Web (alterações code-behind), desktop, móvel, nuvem e outros tipos de projeto. A regra de chave aqui é se você estiver usando o depurador pressupõe que a Recarga Dinâmica está disponível para você e tente!
- Ao usar o Visual Studio 2022, mas não usar o depurador (por exemplo, usando CTRL-F5 para iniciar o aplicativo), a Recarga Dinâmica agora está disponível mesmo sem o depurador ao direcionar a maioria dos tipos de aplicativos .NET 6. Isso significa que os aplicativos que não são direcionados ao .NET 6 (.NET 5 ou inferior) não dão suporte ao cenário "sem depurador" e devem usar o depurador para obter suporte ao Recarga Dinâmica.
- Ao usar o Visual Studio 2022 com um aplicativo .NET 6, há suporte para a maioria dos tipos de cenários. Isso não se limita à nova menção de recurso "sem depurador" acima. Também inclui outros novos recursos, como suporte para Recarga Dinâmica de projetos Blazor e, em geral, edição de arquivos Razor em qualquer aplicativo do ASP.NET Core e Recarga Dinâmica do CSS. Usar o Visual Studio 2022 e aplicativos direcionados ao .NET 6 juntos definitivamente lhe dará a experiência mais poderosa de Recarga Dinâmica e esperamos que você tente.
Abaixo, expandiremos o resumo acima e nos aprofundaremos em mais detalhes.
Visual Studio 2022 com um aplicativo .NET ao usar o depurador
Ao usar o Visual Studio 2022 e iniciar o aplicativo com o depurador, a Recarga Dinâmica funciona com a maioria das estruturas de aplicativos, incluindo tipos de aplicativos típicos, como Console, Windows Forms (WinForms), WPF, UWP, WinUI 3* e a maioria dos tipos de projetos Web ASP.NET (para edições code-behind), incluindo ASP.NET MVC, API Web e projetos ainda mais antigos do Web Forms. Essa lista também é apenas um exemplo. A resposta real é que, em qualquer lugar que você tenha .NET e esteja usando o depurador gerenciado pelo Visual Studio, você deverá obter suporte básico à Recarga Dinâmica.
Isso significa que mesmo projetos como o Azure Functions funcionarão muito bem nesse cenário. Recomendamos que você experimente sua combinação e informe-nos se encontrar algum problema.
*O WinUI 3 por padrão usa a depuração de modo misto que não dá suporte à Recarga Dinâmica. Você pode modificar isso nas configurações do projeto habilitando o Depurador Gerenciado, o que permitirá que a Recarga Dinâmica funcione corretamente.
Ao usar o Visual Studio 2022 com um aplicativo .NET, mas não usando o depurador
A Recarga Dinâmica agora está disponível sem o depurador ao direcionar a maioria dos tipos de aplicativos .NET 6, incluindo tipos de projeto como Console, WPF, Windows Forms (WinForms), ASP.NET Core MVC, API Web e Blazor. Sabemos que alguns desenvolvedores têm um bom motivo ou preferência para iniciar seus aplicativos sem o depurador e esperamos que esse recurso extra lhes dê valor por pouco ou nenhum impacto no tempo de inicialização.
Esse recurso é exclusivo do .NET 6+ e esses aplicativos que não têm como destino o .NET 6 (.NET 5 ou inferior) não dão suporte ao cenário "nenhum depurador" e devem usar o depurador para obter acesso à funcionalidade de Recarga Dinâmica.
Lembre-se também de que nem todos os tipos de projeto terão suporte para o cenário "sem depurador" em nossa primeira versão. Especificamente:
- Aplicativos UWP não têm suporte para Recarga Dinâmica sem o depurador, isso é por design e não há planos atuais para melhorar isso.
- Os aplicativos Xamarin.Forms voltados para iOS e Android não dão suporte para Recarga Dinâmica do .NET (independentemente de você estar iniciando o aplicativo com ou sem o depurador), mas continuarão a oferecer suporte para Recarga Dinâmica do XAML
- Os aplicativos MAUI do .NET no futuro imediato não darão suporte ao cenário sem depurador, mas darão suporte à Recarga Dinâmica do .NET por meio do depurador
Ao usar o Visual Studio 2022 com um aplicativo .NET 6, há suporte para a maioria dos tipos de cenários
Os desenvolvedores que puderem usar o Visual Studio 2022 e trabalhar em aplicativos direcionados ao .NET 6 obterão os benefícios da experiência de Recarga Dinâmica mais polida e capaz.
Destaques do que tem suporte:
- Aplicativos Blazor (Server e WebAssembly*)
- Edição de arquivo Razor em sites Blazor e regulares do ASP.NET Core
- Recarga Dinâmica do CSS
- Capacidade de obter suporte à Recarga Dinâmica ao executar aplicativos sem o depurador (conforme descrito acima com mais detalhes)
Os desenvolvedores direcionados ao .NET 6 continuarão a obter mais melhorias nas atualizações futuras do Visual Studio 2022 e na banda de recursos do .NET e nas principais versões. Estamos apenas começando!
*No Visual Studio 2022 GA versão Recarga Dinâmica suporte para Blazor WebAssembly ao usar o depurador do Visual Studio ainda não está habilitado. Você ainda poderá obter a Recarga Dinâmica se iniciar seu aplicativo por meio do Visual Studio sem o depurador e estamos trabalhando para resolver isso em uma atualização futura do Visual Studio.
Cenários com suporte do ASP.NET Core
A experiência básica de Recarga Dinâmica agora é amplamente suportada para muitos cenários de ASP.NET. O recurso mais amplamente disponível é a capacidade de alterar o code-behind e outros arquivos de classe do .NET para a maioria dos tipos de aplicativos Web. Esse recurso funciona ao usar o depurador do Visual Studio e está presente em qualquer lugar em que a opção Editar e Continuar já estava disponível.
Para os desenvolvedores do ASP.NET Core que estão direcionando o .NET 6, há recursos adicionais não disponíveis para versões inferiores do .NET, isso inclui melhorias como:
- CSHTML: a edição de um arquivo CSHTML Razor agora dá suporte a muitos tipos de edições.
- Atualização do navegador: a edição de um arquivo Razor agora atualizará automaticamente as alterações no navegador da Web durante a depuração. Isso só estava disponível anteriormente ao iniciar o aplicativo sem o depurador.
- Recarga Dinâmica do CSS: agora é possível alterar arquivos CSS enquanto o aplicativo está em execução e as alterações serão aplicadas imediatamente ao aplicativo em execução conforme você digitar.
- Sem Depurador: agora você receberá suporte à Recarga Dinâmica ao usar o Visual Studio para iniciar seu aplicativo Web sem o depurador (CTRL-F5).
Observação: ao trabalhar em um aplicativo Blazor Wasm e usar o Visual Studio 2022 (17.0), a Recarga Dinâmica para páginas Razor só funciona ao iniciar aplicativos sem o depurador. Adicionaremos suporte ao depurador em uma atualização futura.
Edições do .NET com suporte
A experiência de Recarga Dinâmica do .NET é alimentada pelo mecanismo Editar e Continuar e fizemos melhorias para dar suporte a tipos adicionais de edições que vão além do que era originalmente possível em versões anteriores. Os aprimoramentos incluem:
- Adicionando, atualizando ou excluindo atributos personalizados
- Adicionar ou atualizar structs de Registro
- Adicionar ou atualizar diretivas #line
- Editar expressões Switch
- Editar arquivos com diretivas #line, incluindo alterações na própria diretiva
- Editar instruções de nível superior
- Editando código que usa qualquer um dos novos recursos do C# 10, como diretivas de uso global, namespaces com escopo de arquivo, lambdas aprimoradas e construtores de struct sem parâmetro
- Renomear parâmetros Lambda
- Renomear parâmetros de métodos existentes
As melhorias acima estão disponíveis para o Recarga Dinâmica e as experiências Editar e Continuar.
Atualizações adicionais
- Recarregar e editar e continuar com vários processos: agora é possível usar de forma confiável as experiências de Recarga Dinâmica e Edição e Continuar quando anexadas a vários processos. Anteriormente, essa funcionalidade não tinha suporte total e nem sempre funcionava corretamente, agora ela foi corrigida.
- Mensagens de erro/aviso atualizadas: atualizamos muitas mensagens de erro/aviso para ficar mais claro quando as mensagens se aplicam ao EnC e ao Recarga Dinâmica. Fizemos isso tornando as mensagens mais genéricas para que a terminologia de edição e continuação não seja usada durante operações de Recarga Dinâmica
- Teste de unidade mais rápido de aplicativos .NET: a tecnologia de Recarga Dinâmica agora pode ser usada como um recurso experimental para acelerar o teste de unidade ao direcionar o .NET 6. Para obter mais informações, consulte a seção de teste dessas notas de versão
Cenários do .NET sem suporte
Mesmo na versão final, ainda haverá alguns cenários sem suporte que você deve estar ciente:
- Os aplicativos do Xamarin.Forms não são compatíveis com a Recarga Dinâmica do .NET em cenários do iOS e Android. Você obterá algum Recarga Dinâmica ao direcionar um aplicativo UWP. Isso ocorre por design e mais melhorias não são esperadas. (Observação: a Recarga Dinâmica de XAML continuará disponível e terá suporte para clientes do Xamarin.Forms no SDK mais recente)
- Não há suporte para aplicativos MAUI do .NET nesta versão, para trabalhar com o .NET MAUI e a Recarga Dinâmica, consulte as notas de versão do Visual Studio 2022 Atualização 1 Versão Prévia 1 para obter detalhes.
- Os aplicativos criados usando F# ou aqueles direcionados ao .NET Native não darão suporte ao Recarga Dinâmica.
Produtividade do .NET
A refatoração de namespaces de sincronização agora está disponível no menu (clique com o botão direito do mouse) de um projeto ou pasta no Gerenciador de Soluções, permitindo que você sincronize facilmente namespaces para corresponder à sua estrutura de pastas.
A configuração de análise de código em segundo plano agora está disponível no menu Gerenciador de Soluções (clique com o botão direito do mouse). Clique com o botão direito do mouse no nó da solução no Gerenciador de Soluções e selecione Analisar e Limpeza de código. Em seguida, selecione Definir Escopo de Análise para configurar o escopo para análise de código em segundo plano.
- Agora há uma refatoração que introduz um parâmetro que moverá uma expressão de uma implementação de método para seus chamadores adicionando um novo parâmetro. Coloque o cursor na linha que contém a expressão ou realce a expressão. Pressione (Ctrl+.) para disparar o menu Ações Rápidas e Refatorações. Selecione Introduzir parâmetro para {0} ou Introduzir parâmetro para todas as ocorrências de {0}. Ambas as opções terão três opções de submenu para (1) inserir a expressão atualizada em todos os sites de chamadas, (2) extrair e criar um novo método que retorna a expressão e adiciona um argumento nos sites de chamada ou (3) criar uma sobrecarga do método que contém a expressão e chamadas no método original.
- Há um novo comando chamado Rastrear Fonte de Valor que permite que você execute a análise do fluxo de dados para determinar como determinados valores podem ter passado em um determinado ponto e para onde ele pode ser passado. Clique com o botão direito do mouse em qualquer membro determinado e selecione Rastrear Fonte de Valor no menu de clique com o botão direito do mouse.
- A janela Controle de Valor será aberta permitindo que você analise os resultados:
- Adicionamos uma opção para sublinhar variáveis reatribuídas. Isso está desativado por padrão, portanto, você precisará habilitá-lo em Ferramentas > Opções > Editor de Texto > C# ou Básico > Avançado e selecionar variáveis reatribuídas de Sublinhado.
- Adicionamos uma opção de pesquisa na caixa de diálogo Gerar Substituições, permitindo que você pesquise rapidamente e selecione membros para substituir.
- Informações rápidas para marcas de <código> XML agora preservam o espaço em branco e blocos CDATA. passe o cursor sobre o elemento. As Informações Rápidas exibirão os estilos compatíveis dos comentários XML acima do código.
- A janela Localizar todas as Referências agora agrupará projetos de vários destinos ajudando a reduzir o ruído visual.
- Agora há uma refatoração que remove tipos repetitivos no Visual Basic.
- Ir para Implementação não navegará mais para membros com declarações abstratas que também são substituídas.
Ferramentas de Linguagem C#
No C# 8.0, introduzimos tipos de referência anuláveis que permitem que você declare se nulo é esperado. Para usar tipos de referência anuláveis, você precisa adicionar o elemento <Nullable>
habilitar</Nullable>
ao arquivo de projeto ou adicionar o pragma #nullable enable a cada arquivo de origem em seu projeto. Para ajudar a simplificar esse processo, agora incluímos automaticamente a <Nullable>
habilitar</Nullable>
para novos projetos do .NET.
No C# 10.0, estamos introduzindo o namespace com escopo de arquivo, oferecendo a opção de não aninhar definições de classe em um namespace. Agora temos uma refatoração para converter um namespace em um namespace com escopo de arquivo. Para usar o namespace com escopo de arquivo, primeiro você precisará adicionar o elemento de <LangVersion>
visualização</LangVersion>
ao arquivo de projeto. Em seguida, coloque o cursor em um namespace. Pressione (Ctrl+.) para acionar o menu Ações Rápidas e Refatorações. Selecione Converter em namespace com escopo de arquivo.
Agora há uma refatoração a ser preferida is not null
em vez de is object
quando aplicada a tipos de valor. Para usar essa nova refatoração, coloque o cursor em uma verificação de tipo. Pressione (Ctrl+.) para acionar o menu Ações Rápidas e Refatorações. Selecione Preferir verificação nula sobre a verificação de tipo.
Navegar até fontes descompiladas
Navegue até Fontes Descompiladas agora em diante, permitindo que você navegue até declarações de tipos de biblioteca. Navegue até fontes descompiladas quando você invoca Ir para Definição em um símbolo de biblioteca no código-fonte e em fontes descompiladas.
Aprimoramentos do editor
Os comentários XML agora gerarão automaticamente uma <exception>
marca dentro de uma <summary>
marca, permitindo que você adicione uma descrição quando um método gera explicitamente exceções.
No Visual Studio 2019, lançamos a Margem de Herança que adiciona ícones às margens que representam as implementações e substituições do código. Clicar nos ícones de margem de herança exibirá as opções de herança que você pode selecionar para navegar. Nesta versão, a Margem de Herança está habilitada por padrão. Para desativar a Margem de Herança, vá para Ferramentas>Opções>Editor de texto> C# ou Básico>Avançado e desmarque Ativar Margem de Herança.
Linguagens de programação
- Registrar structs e
with
expressões em structs (record struct Point(int X, int Y);
,var newPoint = point with { X = 100 };
). - Diretivas de uso global:
global using
as diretivas evitam repetir as mesmasusing
diretivas em muitos arquivos em seu programa. - Atribuição definida aprimorada: a atribuição definitiva e a análise de nulidade lidam melhor com padrões comuns, como
dictionary?.TryGetValue(key, out value) == true
. - Cadeias de caracteres interpoladas constantes: cadeias de caracteres interpoladas compostas por constantes são constantes.
- Padrões de propriedade estendidos: os padrões de propriedade permitem acessar membros aninhados (
if (e is MethodCallExpression { Method.Name: "MethodName" })
). - Registro lacrado ToString: um registro pode herdar um registro base com um
ToString
. - Geradores de origem incremental: aprimore a experiência de geração de origem em projetos grandes, dividindo o pipeline de geração de origem e armazenando em cache resultados intermediários.
- Desconstruções mistas: desconstrução-atribuições e declarações de desconstrução podem ser combinadas (
(existingLocal, var declaredLocal) = expression
). - AsyncMethodBuilderno nível do método: o AsyncMethodBuilder usado para compilar um método
async
pode ser substituído localmente. - #line diretivade intervalo: permitir geradores de origem como o controle refinado Razor do mapeamento de linha com
#line
diretivas que especificam o intervalo de destino (#line (startLine, startChar) - (endLine, endChar) charOffset "fileName"
). - Melhorias lambda: atributos e tipos de retorno são permitidos em lambdas; lambdas e grupos de métodos têm um tipo delegado natural (
var f = short () => 1;
). - Manipuladores de cadeia de caracteres interpolados: tipos de manipulador de cadeia de caracteres interpolados permitem formatação eficiente de cadeias de caracteres interpoladas em atribuições e invocações.
- Namespaces com escopo de arquivo: arquivos com um único namespace não precisam de chaves extras ou recuo (
namespace X.Y.Z;
). - Construtores de struct sem parâmetros: dão suporte a construtores sem parâmetros e inicializadores de campo de instância para tipos de struct.
- CallerArgumentExpression: esse atributo permite capturar as expressões passadas para um método como cadeias de caracteres.
Consulte o status do recurso de linguagem C# e alterações recentes para obter mais detalhes.
Editor Razor (ASP.NET Core)
- Agora há suporte à Recarga Dinâmica em arquivos Razor.
Fizemos melhorias significativas no desempenho do Editor Razor.
Aprimoramos a formatação e o recuo tornando-o mais confiável e significativamente mais rápido.
Adicionamos novas cores Razor! Você pode personalizar essas cores em Ferramentas > Opções > Ambiente > Fontes e Cores.
Os TagHelpers agora são coloridos e têm suporte de classificação nas dicas de ferramentas de conclusão do IntelliSense e informações rápidas.
Aprimoramos o realce do branch angular e a navegação para construções Razor.
Os comentários agora têm preenchimento automático, recuo inteligente, inclusão automática de continuações de comentários e navegação de comentários em bloco.
Versão prévia experimental inicial do teste remoto
Temos uma versão prévia experimental muito inicial da habilitação da execução de testes em ambientes remotos, como contêineres linux, WSL e conexões SSH! Embora essa seja uma funcionalidade muito valiosa, pedimos sua paciência, pois esse recurso ainda está em um estado experimental muito inicial à medida que coletamos comentários. Talvez você não experimente a suavidade que normalmente obtém, pois pode imaginar que há muitos cenários de canto em como podemos nos comunicar e gerenciar um ambiente conectado do Visual Studio. Aqui estão alguns requisitos para usar esta versão experimental do teste remoto:
- Você precisa instalar as dependências necessárias em seu ambiente de destino. Isso significa que, se você quiser que seus testes direcionados ao .NET 3.1 executem em um contêiner linux, será necessário verificar se o contêiner tem o .NET 3.1 instalado por meio do Dockerfile. Um dia adoraríamos criar uma experiência de instalação que permita a aquisição suave de qualquer uma de suas dependências de teste, mas por enquanto estamos deixando a maior parte do provisionamento do ambiente até a especificação do usuário.
- Planeje monitorar o status da conexão com o ambiente remoto por meio do painel Testes de>Saída. Por exemplo, se o contêiner tiver sido interrompido, uma mensagem será exibida no painel Testes de>Saída. Podemos não detectar todos os cenários, portanto, planeje verificar sua saída se parece que a conexão foi perdida. Especialmente se o painel Saída não estiver definido como "Teste", talvez você não veja a mensagem imediatamente. Ainda estamos experimentando o melhor modelo de notificação quando as conexões são perdidas, então os comentários são muito bem-vindos! Se ele parecer que a conexão foi perdida, você poderá usar a lista suspensa do ambiente de teste remoto no Gerenciador de Testes para definir a conexão de volta para seu ambiente local e, em seguida, selecionar o ambiente remoto novamente para reinicializar a conexão.
- A versão prévia experimental tem como escopo apenas testes do .NET por enquanto. Estamos cientes do interesse em oferecer suporte a experiências de teste remoto em C++ e esperamos fornecer isso também eventualmente.
Como posso experimentar testes remotos?
- Os documentos oficiais chegarão após o período experimental. Por enquanto, aqui está o que você precisa para começar a testá-lo.
- Ambientes são especificados usando
testenvironments.json
na raiz da sua solução. A estrutura do arquivo json segue o esquema abaixo:
{
"version": "1", // value must be 1
"environments": [
{ "name": "<unique name>", ... },
...
]
}
- Conexões de contêiner local
- Para se conectar a um contêiner em execução localmente, você deve ter o Docker Desktop em seu computador local. Opcionalmente, habilite a integração do WSL2 para melhorar o desempenho.
- Para um Dockerfile, o ambiente pode ser especificado em
testEnvironments.json
na raiz da sua solução:
Por exemplo:{ "name": "<name>", "localRoot": "<path to local environment>", // optional "type": "docker", "dockerImage": "<docker image tag>", }
{ "version": "1", "environments": [ { "name": "linux dotnet-core-sdk-3.1", "type": "docker", "dockerImage": "testenv" } ] }
- Aqui está um exemplo de um Dockerfile para executar testes direcionados ao .NET 3.1.
FROM mcr.microsoft.com/dotnet/core/sdk:3.1
- Crie seu contêiner usando o seguinte comando (incluindo o "". no final):
docker build -t <docker image name> -f <path to Dockerfile> .
- Conexões WSL2 locais
- Você deve habilitar a integração do WSL2 em seu computador local.
- O ambiente pode ser especificado em
testEnvironments.json
na raiz da sua solução seguindo este esquema:{ "version": "1", "environments": [ { "name": "WSL-Ubuntu", "type": "wsl", "wslDistribution": "Ubuntu" } ] }
- Conexões SSH
- Vá para Ferramentas > Opções > Multiplataforma > Gerenciador de Conexões para adicionar ou remover conexões SSH. A seleção de "Adicionar" permitirá que você insira o nome do host, a porta e as credenciais necessárias.
- O ambiente pode ser especificado em
testEnvironments.json
na raiz da solução com o seguinte:{ "version": "1", "environments": [ { "name": "ssh-remote", "type": "ssh", "remoteUri": "ssh://user@hostname:22" } ] }
- O ambiente ativo é selecionado por meio de uma lista suspensa na barra de ferramentas do Gerenciador de Testes. Atualmente, apenas um ambiente de teste pode estar ativo por vez.
- Depois que um ambiente é selecionado, os testes são descobertos e executados no novo ambiente.
Agora você pode executar e depurar seus testes dentro do ambiente remoto!
O Gerenciador de Testes pode solicitar que você instale alguns pré-requisitos de ambiente ausentes e tente instalá-los, mas, em última análise, estamos deixando a maior parte do provisionamento do ambiente remoto até a especificação do usuário.
Recarga Dinâmica no Gerenciador de Testes [experimental]: agora é possível experimentar um novo recurso experimental que acelera sua experiência de teste usando a tecnologia de Recarga Dinâmica nos bastidores. O que isso significa é que após sua primeira execução de teste em que um build completo ainda é necessário, você pode fazer pequenas alterações, executar seus testes e todas essas atualizações serão refletidas sem precisar fazer uma compilação completa novamente. Para começar e saber mais, confira os detalhes abaixo:
- Essa experiência só está disponível para projetos direcionados ao .NET 6 e você deve aceitar acessando 'Ferramentas > Opções > Teste'
Quando essa opção está habilitada, seus testes estão sendo atualizados mesmo com alterações não salvas no editor. Não estamos criando, portanto, os binários em seu disco na pasta bin estão obsoletos. Isso significa que você pode ver discrepâncias entre o que está em disco e os resultados do teste no Visual Studio. Para resolvê-los e antes de fazer check-in, certifique-se de fazer um build completo com (Ctrl+Shift+B). Qualquer build explícito substituirá os resultados do teste de Recarga Dinâmica pelos resultados regulares do teste de build completo.
Há certos tipos de edições que a Recarga Dinâmica não pode captar e, nesses casos, ele retornará ao comportamento antigo de fazer um build completo. Observe também que apenas as alterações no Visual Studio estão sendo controladas, casos opacos no editor, como alterar destinos, podem voltar a exigir um build completo.
Determinadas alterações grandes (como renomear mais de 1.000 nomes de método) podem levar mais tempo para fazer a Recarga Dinâmica do que simplesmente compilar novamente. Nesses casos, uma mensagem será impressa na saída, solicitando que os usuários façam uma recompilação completa em vez de aguardar a Recarga Dinâmica.
Os rastreamentos de pilha ainda não estão disponíveis com Recarga Dinâmica no Gerenciador de Testes. Se você precisar usar o rastreamento de pilha, recomendamos que você faça uma compilação completa.
Ferramentas de teste
Mostrar no Gerenciador de Testes (Ctrl+E,S): mostrar no Gerenciador de Testes é a capacidade de saltar de onde o cursor está em um método de teste no editor para onde o teste está no Gerenciador de Testes. Isso pode lembrá-lo de um recurso semelhante chamado Sincronização com Documento Ativo que mantém o documento em que você está trabalhando realçado no Gerenciador de Soluções. Este foi um dos itens mais votados na comunidade de Desenvolvedor, então obrigado a todos que votaram e nos ajudaram a priorizar esse recurso! Mostrar no Gerenciador de Testes também está disponível no menu de clique com o botão direito do mouse no editor, no glifo de teste do CodeLens e no clique com o botão direito do mouse no Gerenciador de Soluções.
Teste de carga da Web e atualização de suporte de teste de interface do usuário codificada: o gravador de teste de carga da Web está disponível no Visual Studio 2022. O gravador de teste de interface do usuário codificado não será incluído no Visual Studio 2022. Você ainda poderá executar testes de interface do usuário codificados e criar novos testes escrevendo código no Visual Studio 2022, mas o gravador depende de dependências de 32bits que não são viáveis para portar. Você ainda pode instalar o Visual Studio 2019 lado a lado para usar o gravador de interface do usuário codificado. Como lembrete, o Teste de Carga da Web e o Teste de IU Codificado foram preteridos em 2019 e planejamos removê-los do produto quando pudermos minimizar o impacto para os usuários. Encorajamos os usuários interessados em testes de interface do usuário da Web a adotar a nova estrutura de teste da Web de plataforma cruzada e código aberto Playwright. Além de dar suporte a todos os principais navegadores e ao tratamento muito melhor do código assíncrono, o Playwright também tem a funcionalidade de gravação de teste interna.
Locais Confiáveis
- Como parte da renovação de "Configurações de Confiança", removemos a verificação "Marca da Web" e adicionamos uma caixa de diálogo de aviso exibida ao tentar abrir código (por exemplo, arquivos, projetos ou pastas) que não era confiável anteriormente
- O código agora pode ser confiável na pasta atual ou no local da pasta pai
- Os projetos criados pelo usuário são adicionados automaticamente à lista de locais confiáveis do usuário
- Você pode ignorar verificações de confiança para locais temporários criados pela funcionalidade do Visual Studio
Antes que o conteúdo (por exemplo, solução, projeto, arquivo ou pasta) seja aberto dentro do IDE, verificaremos se o local da pasta foi anteriormente confiável.
Se o código não confiável for detectado, mostraremos uma caixa de diálogo de aviso alertando você sobre as implicações de segurança e solicitando que você confie no código antes da operação normal do IDE.
Observação: embora esse recurso esteja desativado por padrão, ele pode ser habilitado por meio de Opções > Confiança de Configurações> recoplicar uma decisão de confiança antes de abrir o conteúdo
Atualizações do nó de fontes externas
O nó de Fontes Externas no Gerenciador de Soluções agora também tem suporte para C++. Além disso, adicionamos um novo sub nó que fornece todos os módulos com símbolos ainda não carregados.
Você também pode usar o menu de contexto de clique com o botão direito do mouse para carregar os símbolos diretamente do gerenciador de soluções para que os módulos possam aparecer nos nós de origem externos. Os arquivos que o nó de Fontes Externas também são classificados em ordem alfabética agora.
Iconografia atualizada e atualizada
- Como parte de nossa meta de atualizar a interface do usuário para o Visual Studio 2022, você encontrará ícones atualizados e atualizados recentemente em todo o IDE com base na consistência, legibilidade e familiaridade.
Recarga Dinâmica de XAML
Atualizamos as configurações de Recarga Dinâmica de XAML e as barras de ferramentas no aplicativo para fornecer clareza de que as configurações e as experiências do aplicativo estão relacionadas ao Recarregamento Frequente XAML e não à Recarga Dinâmica do .NET.
Também simplificamos o painel de configurações para organizar melhor as opções comuns em conjunto.
Visualização dinâmica de XAML
O XAML Live Preview agora está disponível para desenvolvedores do WPF, UWP, WinUI e Xamarin.Forms executando seus aplicativos no Android Emulator ou como um aplicativo da área de trabalho UWP. O Live Preview captura uma interface do usuário de aplicativos em execução e a coloca em uma janela encaixada no Visual Studio. Isso facilita o uso da Recarga Dinâmica de XAML para alterar o aplicativo enquanto vê essas alterações dentro do próprio Visual Studio, sem a necessidade de fazer uma guia entre o aplicativo em execução e o Visual Studio enquanto faz alterações de código XAML ao vivo.
Para começar:
- Iniciar um aplicativo com suporte usando o depurador
- Ative o XAML Live Preview, por meio da pesquisa rápida digitando "Visualização ao Vivo XAML" ou usando o botão "Mostrar no XAML Live Preview" nas barras de ferramentas no aplicativo
Depois que a experiência for iniciada, os seguintes recursos estarão disponíveis:
- Rolagem e zoom: você pode fazer a panorâmica e ampliar a janela que captura a interface do usuário dos aplicativos, o que permite que você ajuste às suas necessidades para mostrar o aplicativo completo ou apenas as partes que você está tentando editar. O movimento panorâmico e a rolagem funcionam com um touch pad (rolagem com dois dedos), roda de rolagem do mouse ou CTRL + Clique para arrastar o conteúdo.
- Réguas: você pode adicionar uma ou mais réguas horizontais/verticais para sobrepor seu aplicativo em execução. Essas linhas podem ser movidas para a posição usando o mouse ou o teclado. Ao mover réguas com teclado, use teclas de direção para posicionamento preciso e Ctrl + tecla de direção para posicionamento rápido. Você também pode excluir réguas selecionando-as (clicando nelas) e pressionando a chave de exclusão.
- Seleção de elementos e dicas de informações: com a seleção de elementos, você pode selecionar o elemento XAML que deseja editar usando o mesmo recurso com o qual está acostumado na Árvore Visual Dinâmica ou na barra de ferramentas no aplicativo. Depois de selecionado, você também pode habilitar o novo recurso "dicas de informações" para obter informações adicionais sobre o elemento selecionado, como fontes, cores, informações de margem/preenchimento e muito mais. Ao usar a Seleção de Elementos, considere habilitar o Item Selecionado de Visualização – por meio do botão de barra de ferramentas árvore visual ao vivo ou Depurar > Opções > configurações de Recarga Dinâmica - para ir para o XAML de origem.
- Comutação do Windows: você pode controlar quais janelas do aplicativo são capturadas.
Experiência de associação XAML aprimorada
- Ícones de associação de dados aprimorados no Inspetor de Propriedades. Agora você pode acessar rapidamente a caixa de diálogo Associação de Dados clicando em um ícone de "cilindro" ao lado de uma propriedade e desmarcando a associação clicando no ícone "x".
- Adição da guia Associação em Ações Rápidas para que você possa criar associações com apenas alguns cliques do designer XAML.
- A caixa de combinação Propriedade de Destino foi adicionada à caixa de diálogo Associação de Dados para selecionar a propriedade em qualquer lugar.
Principais problemas votados pela Developer Community
Confira nossa lista completa de correções da Visual Studio Developer Community nesta versão.
- Formatação C++ incorreta quando
Place 'else' on a new line
está desabilitada. - Caixa de diálogo Congelada em Editar e Continuar Verificando se há atualizações de código
- Problema de inicialização do simulador do VS Android no Win 11 – hipervisor
- Caixa de diálogo Congelada em Editar e Continuar Verificando se há atualizações de código
- Problema de inicialização do simulador do VS Android no Win 11 – hipervisor
- Falha ao implantar em um iPhone, Erro MT1001: Não foi possível localizar um aplicativo no diretório especificado
- Não é possível depurar várias dotnet 5 do Azure Functions
- O Visual Studio fica sem resposta ao depurar o aplicativo UWP
- Blazor WebAssembly: a execução de Recarga Dinâmica quando o navegador é fechado resulta em uma exceção inútil
- Falha do Visual Studio sem motivo
- A coloração da sintaxe do C++ não funciona ao usar std:c++lastest no Conjunto de Ferramentas da Plataforma 143
- Localizar no arquivo não funciona no vs2022 versão prévia 3
- O Visual Studio não recarrega todos os arquivos de projeto alterados após a alteração da ramificação
- Erro ao ativar o servidor de idiomas
- Clicar com o botão direito do mouse em qualquer item no Gerenciador de Soluções e escolher 'Check-In' fornece uma mensagem incomum. Não é possível verificar as alterações.
- A interface do usuário do Visual Studio não responde quando há muita saída de log de build durante a compilação (por exemplo: verbosidade de diagnóstico)
- Desenvolvimento do Linux com C++ – A vinculação estática está errada
- Modelos T4 no VS2022 exigem usos incompatíveis
- Os módulos C++20 não conseguem selecionar especialização/sobrecargas de modelo provenientes de um módulo diferente
- Salvar o arquivo em uma sessão "Live Share" abre a caixa de diálogo "salvar como" em vez de salvar o arquivo diretamente
- O Projeto C++ não pode recarregar um arquivo externo ao projeto na inicialização
- Regressão incorreta com ponteiros de função
- Diagnóstico incorreto de chamada de operador ambíguo (C2593) com /permissive- e amigo
- A Recarga Dinâmica não está funcionando para UWP/IOS do Xamarin.Forms após a atualização para 16.10
- Erro ao carregar o modelo Entitlements.plist
- Erro do Intellisense para o construtor padrão dllimport constexpr
- O sistema não consegue localizar o arquivo especificado(Ao navegar clicando duas vezes na mensagem de erro de build. )
- O projeto C++ não é mais compilado no VS2022: não foi possível localizar o assembly 'mscorlib.dll'
- O Editor Razor no VS2022 Preview 2.1 está lento
- O Intellisense falha para C++20 e
- PackageId:Microsoft.WebView2.arm64;PackageAction:Install;ReturnCode:-2147219199
- Avisos de bloqueio incorretos pelo analisador C26110
- A atualização 16.10 interrompe MSTest DataSourceAttribute com testrunconfig
- A otimização global do programa no MSVC resulta em uma saída incorreta
- IDE Congela, as guias piscam em condições desconhecidas
- Adicionar suporte para instrumentar dlls com retornos de chamada TLS (instrumentados via vsinstr.exe)
- VS2019 16.10 ASP.NET WEBFORM中不能选择事件
- Falha catastrófica (exceção de HRESULT: 0x8000FFFF (E_UNEXPECTED)) no projeto de documento único do MFC
- Modelo primário escolhido em vez de especialização leva a erro de compilação
- Não é possível atualizar da Versão Prévia 1.1 para a Versão Prévia 2.0. Um ciclo foi detectado no grafo de dependência: Microsoft.VisualStudio.ComponentGroup.UWP.VC
- Falha ao instalar o Visual Studio 2022 Preview no Windows Server 2022.
- O Visual Studio 2022 Preview 1 falha no IDE ao usar o Build All.
- A depuração do Xamarin Android com o Android Emulator falha e reinicia o Visual Studio 2022.
- Não é possível instalar nenhuma versão anterior do VS. O download falha porque na assinatura inválida
- Análise de código/prEfast avisos C26404, C26406, regressão de desempenho C26407 em CppCoreCheck::P ointerSafetyXtension::SearchSmartPtrsAndReferences
- Erro interno do compilador com std::to_array quando a variável é global e do tipo char const
- Compila erros para cabeçalhos externos
- C3493 com /std:c++latest usando associação estruturada no lambda
- O botão Enviar Comentários não funciona no VS 2022 quando as ferramentas do Python são instaladas
- Arquivos Aspx interrompidos após a atualização 16.10
- O compilador C++ gera um código inválido para o método constexpr
- Nenhum aviso para variável não usada quando declarado const
- Colisão de nome de módulos do C++
- O GC coleta durante a chamada de método na classe c++/cli ref
- A publicação do Django do Python com o projeto WebDeploy falha desde a atualização do Visual Studio para 16.9
- ICE: otimização do ARM64 para /std:c++latest
- Código-fonte do aplicativo Blazor Server do VS 16.3.0 .NET Core 3.0 esmaece e perde o IntelliSense após a implantação
- Chave de assinatura de código do iOS 'Distribuição do iPhone: Microframe Corp
(xxxxx)'
não encontrado no conjunto de chaves - A janela ferramentas de diagnóstico carrega em miniatura e não é redimensionar corretamente.
- Há um erro do compilador 2694 tentando chamar make_shared na classe com o destruidor de lançamento no MSVC 16.9 Versão Prévia 2.
- Ocorreu um erro ao processar o instantâneo que não pôde processar o heap gerenciado.
- O MSVC permite int const inicializado padrão na nova expressão.
- Recebeu um aviso C5219 no cabeçalho STL "complexo".
- A Dica de Ferramenta está bloqueando os resultados da pesquisa.
- O Visual Studio deu uma exceção estranha.
- O Compilador do Intel C++, ICL, tem falha de compilação porque o uso de conceitos no arquivo de cabeçalho não é protegido com ifdef __cpp_lib_concepts.
- Há um erro interno do compilador ao expandir __pragma(optimize) com /Zc:preprocessor.
- Tipo incorreto de "func" dentro de lambdas no contexto não avaliado.
- O Instalador do Visual Studio falha ao fornecer vsconfig
- Obtendo um projeto de dll MFC de modelo padrão de erro de build depois de adicionar uma nova classe de diálogo por assistente.
- A instalação offline do Visual Studio para desenvolvimento de Área de Trabalho Nativa C++ não funciona de forma corretante.
- Conectar-se ao projeto VSTS do Azure por meio do Visual Studio faz com que a interface do usuário pare de responder.
- As caixas de texto em Opções não podem ser lidas se estiverem usando uma fonte maior.
- O Visual Studio adiciona um novo item em uma pasta para de responder.
- Exceções de nulareferência constante durante a edição de arquivos js/cshtml.
- Erro ao ativar o servidor de idioma remoto, C#/Visual Basic Language Server Client.
- Há um erro interno quando /E é usado com /experimental:preprocessor e __pragma.
Problemas conhecidos
Veja todos os problemas abertos e soluções alternativas disponíveis no Visual Studio 2022 seguindo o link abaixo.
Comentários e sugestões
Adoraríamos ouvir o que você tem para nos dizer! Você poderá Relatar um problema ou Sugerir um recurso usando o ícone Enviar comentários no canto superior direito do instalador ou do IDE do Visual Studio ou em Ajuda > Enviar comentários. Você pode acompanhar seus problemas usando a Visual Studio Developer Community, em que você adiciona comentários ou encontra soluções. Você também pode obter ajuda gratuita com a instalação por meio de nosso suporte via chat ao vivo.
Blogs
Aproveite as informações e recomendações disponíveis no site Blogs de Ferramentas de Desenvolvedor para ficar em dia com as novas versões e conferir postagens detalhadas sobre uma grande variedade de recursos.