Partilhar via


RCLogo Notas de versão do Visual Studio 2019 versão 16.7


Observação

Esta versão do Visual Studio 2019 não é mais suportada. A última versão suportada é 16.11. Atualize sua instalação ou atualize para a versão mais recente do Visual Studio para permanecer com suporte.

Para obter uma lista de todas as notas de versão do Visual Studio 2019, consulte a página de histórico de versões.

Importante

Esta não é a versão mais recente do Visual Studio. Para baixar a versão mais recente, visite https://visualstudio.microsoft.com/downloads/ e consulte as notas de versão do Visual Studio 2022.


Lançamentos do Visual Studio 2019 versão 16.7

Visual Studio Blog

O Blog do Visual Studio é a fonte oficial de informações sobre o produto da Equipe de Engenharia do Visual Studio. Você pode encontrar informações detalhadas sobre as versões do Visual Studio nas seguintes postagens:


Ícone de Notas de Lançamento do Visual Studio 2019 versão 16.7.28

lançado em 19 de abril de 2022

Neste lançamento do Visual Studio 2019 versão 16.7.28

  • Corrigida regressão vctip.exe na versão 16.7.27

Ícone das notas de versão Visual Studio 2019 versão 16.7.27

lançado em 12 de abril de 2022

Nesta versão do Visual Studio 2019 versão 16.7.27

Aviso de Aviso 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 enquanto fazem uma busca por um diretório do Git. O Git para Windows agora é atualizado para a versão 2.35.2.1.

CVE-2022-24767 Vulnerabilidade de sequestro de DLL Existe uma potencial vulnerabilidade de sequestro de DLL no instalador do Git para Windows, ao executar o desinstalador na conta de utilizador 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 Existe uma vulnerabilidade potencial de elevação de privilégio quando o serviço de atualização do Microsoft Visual Studio analisa incorretamente os dados de configuração local.


Ícone de Notas de Lançamento Visual Studio 2019 versão 16.7.26

lançado em 8 de março de 2022

Neste lançamento da versão 16.7.26 do Visual Studio 2019

Aviso de Aviso de Segurança

CVE-2020-8927 Vulnerabilidade Existe uma vulnerabilidade de execução remota de código no .NET 5.0 e no .NET Core 3.1 onde existe um estouro de buffer nas versões da biblioteca Brotli anteriores à 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.

Vulnerabilidade de CVE-2022-24512 Existe uma vulnerabilidade de Execução Remota de Código no .NET 6.0, .NET 5.0 e .NET Core 3.1 em que ocorre uma saturação de buffer de pilha na rotina de Análise Dupla do .NET.

CVE-2021-3711 Vulnerabilidade de estouro de buffer do OpenSSL Existe uma potencial 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, que resolve esse problema.


Ícone de Notas de Lançamento Visual Studio 2019 versão 16.7.25

lançado em 8 de fevereiro de 2022

Nesta versão 16.7.25 do Visual Studio 2019

Aviso de Aviso de Segurança

CVE-2022-21871 Vulnerabilidade de elevação de privilégio do Coletor Padrão do Hub de Diagnóstico Existe uma vulnerabilidade de elevação de privilégio se o Coletor Padrão do Hub de Diagnóstico manipular incorretamente operações de dados.


Ícone de Notas de Lançamento Visual Studio 2019 versão 16.7.24

lançado em 11 de janeiro de 2022

Nesta edição do Visual Studio 2019, versão 16.7.24

  • Corrigido um problema com a incapacidade de depurar aplicativos várias vezes quando o Terminal do Windows é usado como o terminal padrão.
  • Correção de configuração para desbloquear clientes em configurações restritas
  • Corrigido um problema que impedia um cliente de atualizar um bootstrapper mais atual. Quando o cliente estiver a utilizar o bootstrapper e o instalador lançados em janeiro de 2022 ou posteriormente, todas as atualizações feitas com bootstrappers subsequentes deverão funcionar durante o ciclo de vida do produto.

Da comunidade de desenvolvedores


Ícone das Notas de Lançamento Visual Studio 2019 versão 16.7.23

lançado em 14 de dezembro de 2021

Nesta versão do Visual Studio 2019 versão 16.7.23

  • Foi adicionado o Python 3.9.7 à carga de trabalho do Python. Python 3.7.8 removido devido a uma vulnerabilidade de segurança.

Aviso de Aviso de Segurança

Vulnerabilidade CVE-2021-43877 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.


Ícone de Notas de Lançamento do Visual Studio 2019 versão 16.7.22

lançado em 16 de novembro de 2021

Nesta edição do Visual Studio 2019 versão 16.7.22

  • Os bootstrappers agora respeitam o parâmetro --useLatestInstaller, o que resulta na integração do instalador mais recente ao layout. Este instalador mais recente, que acompanha o Visual Studio 2022, permite o cenário em que as empresas desejam fazer a transição de seus clientes de um local de layout para outro. Para obter mais informações, consulte o [Visual Studio Administrators Guide](* Os bootstrappers agora respeitam o parâmetro --useLatestInstaller, que faz com que o instalador mais recente seja integrado ao layout. Este instalador mais recente, que acompanha o Visual Studio 2022, permite o cenário em que as empresas desejam fazer a transição de seus clientes de um local de layout para outro. Para obter mais informações, consulte o Guia de administradores do Visual Studio.).

Ícone de notas de lançamento Visual Studio 2019 versão 16.7.21

lançado em 09 de novembro de 2021

Nesta versão do Visual Studio 2019 versão 16.7.21

  • Corrigido um bug que fazia com que um link de atalho do menu Iniciar desaparecesse. O bug só acontecia ao atualizar várias instâncias de SKUs de produtos diferentes na mesma máquina.

Aviso de Aviso de Segurança

CVE-2021-42319 Vulnerabilidade de elevação de privilégio existe uma vulnerabilidade de elevação de privilégio no provedor WMI incluído no instalador do Visual Studio.

CVE-2021-42277 Vulnerabilidade de elevação de privilégio no Diagnostics Hub Standard Collector Service Existe uma vulnerabilidade de elevação de privilégio quando o Diagnostics Hub Standard Collector Service manipula incorretamente operações de ficheiro.


Ícone de notas de lançamento Visual Studio 2019 versão 16.7.20

lançado em 12 de outubro de 2021

Nesta versão do Visual Studio 2019 versão 16.7.20

Aviso de Aviso de Segurança

CVE-2021-41355 Vulnerabilidade de divulgação no .NET 5.0 Existe uma vulnerabilidade de divulgação não autorizada de informações no .NET em que System.DirectoryServices.Protocols.LdapConnection envia credenciais em texto simples no Linux.

CVE-2020-1971 Vulnerabilidade de negação de serviço do OpenSSL Existe uma potencial vulnerabilidade de negação de serviço na biblioteca OpenSSL, que é consumida pelo Git.

CVE-2021-3449 Vulnerabilidade de negação de serviço do OpenSSL Existe uma potencial vulnerabilidade de negação de serviço na biblioteca OpenSSL, que é consumida pelo Git.

CVE-2021-3450 Vulnerabilidade de negação de serviço do OpenSSL Existe um possível desvio de sinalizador na biblioteca OpenSSL, que é consumida pelo Git.


Ícone de Notas de Lançamento Visual Studio 2019 versão 16.7.19

lançado em 14 de setembro de 2021

Neste lançamento do Visual Studio 2019 versão 16.7.19

Aviso de Aviso de Segurança

CVE-2021-26434 Vulnerabilidade de escalonamento de privilégios devido à atribuição incorreta de permissão no Visual Studio Existe uma vulnerabilidade de atribuição de permissão no Visual Studio após a instalação do desenvolvimento de jogos com C++ e a seleção da carga de trabalho para o instalador do Unreal Engine. O sistema é vulnerável ao LPE durante a instalação, ele cria um diretório com acesso de gravação para todos os usuários.

CVE-2021-36952 Vulnerabilidade de execução remota de código do Visual Studio Existe uma vulnerabilidade de execução remota de código no Visual Studio quando ele manipula incorretamente objetos na memória. Um intruso que conseguisse explorar a vulnerabilidade poderia executar código arbitrário no contexto do utilizador atual.


Ícone de Notas de Versão Visual Studio 2019 versão 16.7.18

lançado em 10 de agosto de 2021

Neste lançamento do Visual Studio 2019 versão 16.7.18

  • Corrigido um problema que afetava a execução do comando update pela linha de comando. Se a atualização falhar na primeira vez, uma emissão subsequente do comando update fará com que a atualização retome a operação anterior de onde parou.

Aviso de Aviso de Segurança

CVE-2021-26423 Vulnerabilidade de negação de serviço do .NET Core Existe uma vulnerabilidade de negação de serviço em que os aplicativos de servidor .NET (Core) que fornecem pontos de extremidade WebSocket podem ser induzidos a entrar em um ciclo infinito ao tentar ler um único quadro WebSocket.

CVE-2021-34485 Vulnerabilidade de divulgação de informações do .NET Core. Existe uma vulnerabilidade de divulgação de informações quando dumps criados pela ferramenta que cria despejos de memória em caso de falhas e despejos sob demanda são criados com permissões de leitura global no Linux e macOS.

CVE-2021-34532 Vulnerabilidade de Divulgação de Informações no ASP.NET Core Existe uma vulnerabilidade de divulgação de informações em que um token JWT é registado se não puder ser analisado.


Ícone de Notas de Lançamento do Visual Studio 2019 versão 16.7.17

lançado em July 13, 2021

Neste lançamento do Visual Studio 2019 versão 16.7.17

  • SDK do .NET 3.1.411 inserido no Visual Studio 2019.

Ícone de Notas de Lançamento Visual Studio 2019 versão 16.7.16

lançado em June 08, 2021

Nesta edição do Visual Studio 2019 versão 16.7.16

Aviso de Aviso de Segurança

CVE-2021-31957 Vulnerabilidade de negação de serviço de ASP.NET Existe uma vulnerabilidade de negação de serviço quando o ASP.NET Core manipula incorretamente a desconexão do cliente.


Ícone de Notas de Lançamento Visual Studio 2019 versão 16.7.15

lançado em May 11, 2021

Nesta versão 16.7.15 do Visual Studio 2019

  • Corrigido um problema que fazia com que as atualizações falhassem quando um administrador cria um novo layout do Visual Studio para implantar atualizações. A atualização da máquina cliente falhará uma vez que o layout mudou de local.

Aviso de Aviso de Segurança

CVE-2021-27068 Possibilidade de execução remota de código ao instalar python.exe numa pasta aninhada Existe uma vulnerabilidade de execução remota de código ao abrir um ambiente de trabalho com código Python e esse ambiente contém um python.exe numa subpasta de scripts.

CVE-2021-31204 Vulnerabilidade de elevação de privilégio do .NET Core Existe uma vulnerabilidade de elevação de privilégio no .NET 5.0 e no .NET Core 3.1 quando um usuário executa um aplicativo de arquivo único em sistemas operacionais baseados em Linux ou macOS.


Ícone de notas de versão Visual Studio 2019 versão 16.7.14

lançado em April 13, 2021

Nesta versão do lançamento do Visual Studio 2019 16.7.14

  • Otimizador removendo código ativo incorretamente
  • O NuGet relatará a origem do pacote e o hash do conteúdo do pacote ao restaurar pacotes na verbosidade de saída normal
  • O NuGet salvará a origem do pacote no arquivo .nupkg.metadata do pacote na pasta global packages. Os pacotes existentes na pasta global de pacotes não obterão essas informações adicionais. Sua pasta de pacotes globais pode ser limpa para coletar informações de origem do pacote para todos os pacotes.

Aviso de Aviso de Segurança

CVE-2021-27064 Vulnerabilidade de elevação de privilégio do instalador do Visual Studio Existe uma vulnerabilidade de execução remota de código quando o instalador do Visual Studio executa o cliente de feedback em um estado elevado.

CVE-2021-28313 / CVE-2021-28321/ CVE-2021-28322 Vulnerabilidade de elevação de privilégio do serviço de coletor padrão do Hub de diagnóstico Existe uma vulnerabilidade de elevação de privilégio quando o coletor padrão do hub de diagnóstico manipula incorretamente operações de dados.


Ícone das notas de versão Visual Studio 2019 versão 16.7.13

lançado em March 09, 2021

Nesta edição do Visual Studio 2019, versão 16.7.13

Aviso de Aviso de Segurança

CVE-2021-21300 Vulnerabilidade de execução remota de código no Git para Visual Studio Existe uma vulnerabilidade de execução remota de código quando o Visual Studio clona um repositório mal-intencionado.

CVE-2021-26701 Vulnerabilidade de execução remota de código do .NET Core Existe uma vulnerabilidade de execução remota de código no .NET 5 e no .NET Core devido à forma como a codificação de texto é executada.


Ícone de Notas de Lançamento Visual Studio 2019 versão 16.7.12

lançado em February 09, 2021

Nesta versão do Visual Studio 2019 16.7.12


Ícone de Notas de Lançamento do Visual Studio 2019 versão 16.7.11

lançado em February 09, 2021

Nesta versão de lançamento do Visual Studio 2019, versão 16.7.11

Bug no compilador de otimização do Visual Studio 2019 versão 16.7.6

Aviso de Aviso de Segurança

CVE-2021-1639 Vulnerabilidade de execução remota de código do serviço de linguagem TypeScript Existe uma vulnerabilidade de execução remota de código quando o Visual Studio carrega um repositório mal-intencionado contendo arquivos de código JavaScript ou TypeScript.

CVE-2021-1721 Vulnerabilidade de negação de serviço do .NET Core Existe uma vulnerabilidade de negação de serviço ao criar uma solicitação da Web HTTPS durante a criação da cadeia de certificados X509.

CVE-2021-24112 Vulnerabilidade de execução remota de código do .NET 5 e .NET Core Existe uma vulnerabilidade de execução remota de código ao descartar metaarquivos quando uma interface gráfica ainda tem uma referência a ela. Esta vulnerabilidade só existe em sistemas executados em MacOS ou Linux.


Ícone de Notas de Lançamento do Visual Studio 2019 versão 16.7.10

lançado em January 12, 2021

Nesta versão do Visual Studio 2019 versão 16.7.10

Aviso de Aviso de Segurança

CVE-2021-1651 / CVE-2021-1680 Vulnerabilidade de elevação de privilégio do serviço de coletor padrão do Hub de diagnóstico Existe uma vulnerabilidade de elevação de privilégio quando o coletor padrão do hub de diagnóstico manipula incorretamente operações de dados.

CVE-2020-26870 Vulnerabilidade de execução remota de código do instalador do Visual Studio Existe uma vulnerabilidade de execução remota de código quando o instalador do Visual Studio tenta mostrar marcação mal-intencionada.

CVE-2021-1723 Vulnerabilidade de negação de serviço do .NET Core e Visual Studio Existe uma vulnerabilidade de negação de serviço na implementação do Kestrel.


Ícone das Notas de Lançamento Visual Studio 2019 versão 16.7.9

lançado em December 08, 2020

Neste lançamento do Visual Studio 2019 versão 16.7.9

Aviso de Aviso de Segurança

CVE-2020-17156 Vulnerabilidade de execução remota de código do Visual Studio Existe uma vulnerabilidade de execução remota de código quando o Visual Studio clona um repositório mal-intencionado.


Ícone de Notas de Lançamento Visual Studio 2019 versão 16.7.8

lançado em November 10, 2020

Nesta versão 16.7.8 do Visual Studio 2019

Aviso de Aviso de Segurança

CVE-2020-17100 Vulnerabilidade de violação do Visual Studio Existe uma vulnerabilidade de violação quando o Python Tools for Visual Studio cria a pasta python27. Um intruso que conseguisse explorar esta vulnerabilidade poderia executar processos num contexto elevado.



Ícone de Notas de Lançamento Visual Studio 2019 versão 16.7.7

lançado em October 27, 2020

Nesta versão de lançamento do Visual Studio 2019, versão 16.7.7


Ícone de Notas de Lançamento Visual Studio 2019 versão 16.7.6

lançado em October 13, 2020

Nesta versão de lançamento do Visual Studio 2019 16.7.6


Ícone de notas de lançamento da versão Visual Studio 2019 versão 16.7.5

lançado em September 29, 2020

Nesta versão do Visual Studio 2019 versão 16.7.5


Ícone de Notas de Versão Visual Studio 2019 versão 16.7.4

lançado em September 21, 2020

Nesta versão do Visual Studio 2019 versão 16.7.4

  • Adiciona suporte a Xcode 12.0 GM.
  • Adiciona suporte para definir um conjunto de cores como cor de destaque no editor Info.plist.

Ícone das notas de versão Visual Studio 2019 versão 16.7.3

lançado em September 08, 2020

Nesta edição da versão 16.7.3 do Visual Studio 2019

Aviso de Aviso de Segurança

Vulnerabilidade de elevação de privilégio do coletor padrão do Hub de Diagnóstico CVE-2020-1130 Existe uma vulnerabilidade de elevação de privilégio quando o Coletor Padrão do Hub de Diagnóstico manipula incorretamente operações de dados. Um intruso que conseguisse explorar esta vulnerabilidade poderia executar processos num contexto elevado.

CVE-2020-1133 Vulnerabilidade de elevação de privilégio do coletor padrão do Hub de Diagnóstico Existe uma vulnerabilidade de elevação de privilégio quando o Coletor Padrão do Hub de Diagnóstico manipula incorretamente operações de arquivo. Um intruso que conseguisse explorar esta vulnerabilidade poderia executar processos num contexto elevado.

CVE-2020-16856 Vulnerabilidade de execução remota de código do Visual Studio Existe uma vulnerabilidade de execução remota de código no Visual Studio quando ele manipula incorretamente objetos na memória. Um intruso que conseguisse explorar a vulnerabilidade poderia executar código arbitrário no contexto do utilizador atual.

CVE-2020-16874 Vulnerabilidade de execução remota de código do Visual Studio Existe uma vulnerabilidade de execução remota de código no Visual Studio quando ele manipula incorretamente objetos na memória. Um intruso que conseguisse explorar a vulnerabilidade poderia executar código arbitrário no contexto do utilizador atual.

CVE-2020-1045 Vulnerabilidade de desvio de recurso de segurança do Microsoft ASP.NET Core Existe uma vulnerabilidade de desvio de recurso de segurança na maneira como o Microsoft ASP.NET Core analisa nomes de cookies codificados. O analisador de cookies ASP.NET Core decodifica cadeias de caracteres de cookies inteiras, o que pode permitir que um invasor mal-intencionado defina um segundo cookie com o nome sendo codificado por porcentagem.

Problemas adicionais corrigidos nesta versão

  • Corrigida uma falha do compilador para instruções switch ou expressões switch que usam correspondência de padrões.
  • Restaurado o fluxo de trabalho "Stop Debugging(Shift +F5)" para Teste de Unidade encerrando a execução de teste.
  • Prevenir falhas no Visual Studio ao alternar a configuração do projeto quando o WinForms Designer .NET Core tiver alterações que não foram salvas.
  • As versões sem suporte do .NET Core não serão mais reinstaladas durante um reparo ou atualização se tiverem sido removidas fora da instalação do VS.
  • Corrigido um problema em que as dependências externas não eram pesquisadas com precisão em Localizar em arquivos.
  • Reintroduziu o botão "Commit..." no submenu Git no menu de contexto do Explorador de Soluções.
  • Corrigido um bug que fazia com que o rótulo TFVC Check-in Notes ficasse invisível.
  • Corrija a falha ao usar o WinForm designer no csproj no estilo SDK com várias estruturas de destino.
  • Corrigido o problema em que <d:Style.DataContext> relatava um erro de marcação inválido.

Principais problemas corrigidos da comunidade de desenvolvedores no Visual Studio 2019 versão 16.7.3


Ícone de Notas de Lançamento Visual Studio 2019 versão 16.7.2

lançado em August 18, 2020

Nesta versão do Visual Studio 2019 versão 16.7.2

Principais problemas corrigidos da comunidade de desenvolvedores no Visual Studio 2019 versão 16.7.2


Ícone de Notas de Lançamento Visual Studio 2019 versão 16.7.1

lançado em August 11, 2020

Nesta atualização do Visual Studio 2019 versão 16.7.1

Principais problemas corrigidos da comunidade de desenvolvedores no Visual Studio 2019 versão 16.7.1


Ícone das notas de versão Visual Studio 2019 versão 16.7.0

lançado em August 5, 2020

Nesta versão 16.7.0 do Visual Studio 2019

C++

  • Nosso suporte remoto a C++ agora suporta uma gama mais ampla de distros e shells Linux, incluindo sh, csh, bash, tsch, ksh, zsh e dash. Você pode substituir a escolha de um shell para uma conexão remota modificando a nova propriedade "shell" via ConnectionManager.exe. Este suporte foi testado com projetos Linux baseados em MSBuild e projetos CMake destinados a um sistema Linux remoto ou WSL.
  • Agora você pode usar o Ninja (um sistema de compilação que avalia compilações incrementais muito rapidamente) para melhorar os tempos de compilação incrementais para projetos Linux baseados em MSBuild. Você pode optar por esse recurso definindo "Ativar compilação incremental" como "Com Ninja" na página Geral de propriedades. Ninja (ninja-build) deve ser instalado no seu sistema Linux remoto ou WSL.
  • Novos recursos da biblioteca padrão do C++20 foram implementados. Consulte o STL Changelog no GitHub para obter uma lista detalhada.
  • Agora você pode editar e definir conexões SSH remotas padrão no Gerenciador de Conexões. Isso significa que você pode editar uma conexão remota existente (por exemplo, se seu endereço IP mudou) e definir conexões padrão para serem consumidas em CMakeSettings.json e launch.vs.json. As conexões SSH remotas permitem que você crie e depure projetos C++ em um sistema Linux remoto diretamente do Visual Studio.
Editar conexões remotas no Gerenciador de Conexões
Editar conexões remotas no Gerenciador de Conexões
  • Suporte aprimorado do IntelliSense para Clang no Windows (clang-cl) no Visual Studio. O caminho de inclusão clang agora inclui as bibliotecas clang, melhoramos a exibição de squiggle no editor ao usar a biblioteca std e adicionamos suporte para C++2a no modo clang.
  • Agora você pode experimentar sublinhar erros de código e ver mais correções rápidas sugeridas em projetos C++. Habilite esta funcionalidade em Ferramentas > Opções > Editor de Texto > C/C++ > Experimental > e defina 'Desativar Linter de Código Experimental' para falso. Saiba mais no Blog da equipe C++.
Linter de código IntelliSense
Linter de código IntelliSense
  • Adicionamos quatro novas regras de análise de código para incorporar recursos de segurança adicionais ao C++: C26817, C26818, C26819 e C26820.
  • Adicionamos suporte de primeira classe para depuração de projetos CMake em sistemas remotos com gdbserver.
  • Encontre erros de corrupção de memória facilmente com uma implementação experimental do AddressSanitizer para C++ no Visual Studio, agora disponível para projetos nativos x64. Também agora suportamos o uso de runtimes de depuração (/MTd, /MDd, /LDd).
  • O IntelliSense agora tem suporte básico para conceitos, inicializadores designados e vários outros recursos do C++20.
  • Os arquivos .ixx e .cppm agora são reconhecidos como C++ e serão tratados como tal pelo marcador de sintaxe e pelo IntelliSense.

Definir listas de reprodução dinamicamente

Agora você pode definir listas de reprodução dinamicamente com base em Project, Class ou Namespace. Isso significa que você pode configurar uma lista de reprodução para incluir tudo em um determinado projeto/classe/namespace; Qualquer novo teste adicionado a esse grupo será automaticamente incluído na sua lista de reprodução!

  • Crie uma lista de execução clicando com o botão direito do mouse em um projeto, namespace ou agrupamento de classes no Explorador de Testes.
Test Explorer: Criar uma lista de reprodução
Test Explorer: Criar uma lista de reprodução
  • Edite quais grupos estão incluídos na lista de reprodução clicando no botão Editar na barra de ferramentas. Serão exibidas caixas de seleção. Edite grupos conforme desejado.
Test Explorer: Editar uma lista de reprodução
Test Explorer: Editar uma lista de testes
  • Em vez de serem uma lista estática de testes, estas listas de testes são atualizadas dinamicamente com base em regras. Se você quiser entender melhor quais regras estão gerando sua lista de reprodução dinâmica, salve o arquivo da lista de reprodução no disco com o botão Salvar e visualize as regras geradas no xml.
Conjunto de regras dinâmicas do ficheiro PlayList
Conjunto de regras dinâmicas do ficheiro PlayList
  • Pode continuar a incluir/excluir testes individuais, e a lista de reprodução poderá atualizar suas regras dinâmicas ou voltar a monitorizar os testes como uma lista estática. Você também pode usar atributos para definir um grupo dinâmico editando diretamente o arquivo XML da lista de reprodução.

Produtividade Git

Ative o recurso de visualização 'Nova experiência do usuário do Git' em Ferramentas | Opções | Ambiente para usar esta experiência.

  • Crie um novo repositório Git, começando a partir de qualquer pasta ou de uma pasta nova
  • Salve e feche uma pasta ou solução aberta antes de iniciar uma nova operação de clone
  • Exibir erros de mensagem de confirmação ou armazenamento claramente na caixa de texto de confirmação
  • Visualize e gerencie ramificações do Git em uma visualização em árvore dentro de uma nova janela do repositório Git
  • Alternar entre e interagir com o gráfico de histórico de cada ramificação na janela do repositório Git
  • Visualizar confirmações de entrada e saída na janela Repositório Git
  • Blog da equipe do Git Productivity com mais detalhes dos recursos recentes
Gerencie ramificações e visualize o histórico em uma janela focada do repositório Git
Gerencie ramificações e visualize o histórico em uma janela focada do repositório Git

Resolva conflitos de mesclagem com um editor de mesclagem focado no Git usando:

  • Uma barra de informações em arquivos que contêm conflitos de mesclagem que solicita que você abra o editor de mesclagem
  • Mais títulos e legendas informativos e menos confusão no editor de mesclagem
  • Diferencia dentro de conflitos que alinham linhas correspondentes, mostram diferenças de nível de palavra e exibem espaço em branco visível quando é a única diferença.
  • Mesclagem bidirecional para conflitos de adição/adição a nível de ficheiro
  • A capacidade de solucionar todos os conflitos para um lado ou para o outro com um único clique
  • Um interruptor para se concentrar apenas em conflitos, ignorando diferenças não conflitantes
Nova experiência do Merge Editor
Resolver conflitos de mesclagem com o Editor de mesclagem

JavaScript/TypeScript

  • As implementações de Conclusão e Informações Rápidas foram atualizadas para oferecer melhor suporte aos cenários LiveShare.

Processo local com Kubernetes

Processo local com Kubernetes
Processo local com Kubernetes

O processo local com o Kubernetes permite que você escreva, teste e depure seu código .NET em sua estação de trabalho de desenvolvimento enquanto estiver conectado ao cluster do Kubernetes com o resto do seu aplicativo ou serviços. Ao conectar sua estação de trabalho de desenvolvimento ao cluster, você elimina a necessidade de executar e configurar manualmente serviços dependentes em sua máquina de desenvolvimento. Variáveis de ambiente, cadeias de conexão e volumes do cluster estão disponíveis para seu código de microsserviço em execução localmente. Não há necessidade de ativos extras, como um Dockerfile ou manifestos do Kubernetes. Execute, depure e teste seu código .NET como faria normalmente.

Para habilitar o Processo Local com Kubernetes, vá para Ferramentas > Opções > Ambiente > Recursos de Pré-visualização e selecione "Ativar depuração local para serviços do Kubernetes".

Ativar recursos de visualização
Ativar recursos de visualização

Para aplicativos de console .NET, uma etapa adicional é necessária. Instale o pacote Nuget "Microsoft.VisualStudio.Azure.Kubernetes.Tools.Targets".

Produtividade .NET

Agora há um aviso e correção de código quando um operador de supressão está presente, mas não tem efeito. Uma segunda correção de código sugerindo a expressão de negação correta também está disponível. Coloque o cursor sobre o operador de supressão. Pressione (Ctrl + .) para acionar o menu Ações rápidas e refatoração . Em seguida, selecione uma das seguintes opções:

  • Para remover completamente o operador, selecione Remover operador (preserva a semântica):
Correção de código para remover o operador de supressão
Correção de código para remover o operador de supressão
  • Para negar a expressão, selecione Expressão Negate (alterar semântica):
Correção de código para negar expressão
Correção de código para negar expressão
  • Você também pode negar a expressão com o novo padrão C# 9 not se ele estiver disponível em seu projeto:
Correção de código para negar expressão usando não
Correção de código para negar expressão usando não

Agora pode-se gerar propriedades ao criar um construtor num tipo. Coloque o cursor sobre a instância. Pressione (Ctrl + .) para acionar o menu Ações rápidas e refatoração . Selecione Gerar um construtor em <QualifiedName> (com propriedades).

Gerar propriedades ao gerar construtor
Gerar propriedades ao gerar construtor
  • As Informações Rápidas agora exibem a ID de diagnóstico junto com um link de ajuda onde você pode navegar facilmente até nossa documentação para saber mais sobre avisos e erros em seu código.
ID de diagnóstico de Informação Rápida e link para ajuda
ID de Diagnóstico de Informações Rápidas e Link de Ajuda
  • Agora há uma ação rápida para adicionar um atributo de exibição do depurador a uma classe. Isto permite-lhe fixar propriedades dentro do depurador programaticamente no seu código. Coloque o cursor sobre o nome da classe. Pressione (Ctrl+.) para acionar o menu Ações rápidas e refatoração . Selecione Adicionar atributo 'DebuggerDisplay'. Isso adicionará o atributo de exibição do depurador à parte superior da sua classe e gerará um método automático que retorna ToString() que você pode editar para retornar o valor da propriedade que deseja fixar no depurador.
Adicionar atributo de exibição do depurador
Adicionar atributo de exibição do depurador
  • Agora há uma correção de código para atribuições acidentais ou comparações com a mesma variável. Coloque o cursor sobre o aviso. Pressione (Ctrl+.) para acionar o menu Ações rápidas e refatoração . Para atribuições acidentais, selecione Atribuir a <QualifiedName.value>. Para comparações acidentais, selecione Comparar com <QualifiedName.value>.
Correção de atribuições acidentais no código
Correção de atribuições acidentais no código
Correção de comparações acidentais de código
Correção de comparações acidentais de código
  • Agora você pode gerar operadores de comparação para tipos que implementam IComparable. Coloque o cursor dentro da classe ou no IComparable. Pressione (Ctrl+.) para acionar o menu Ações rápidas e refatoração . Selecione Gerar operadores de comparação. Uma placa de caldeira será gerada para você com os operadores de comparação.
Gerar operadores de comparação
Gerar operadores de comparação
  • Agora você pode gerar operadores IEquatable ao gerar . Igual para structs. Já tínhamos uma refatoração para Generate Equals e GetHashCode para tipos de valor. Agora, com structs, adicionaremos automaticamente os operadores IEquatable, bem como os iguais e não iguais para você. Coloque o cursor dentro da estrutura. Pressione (Ctrl+.) para acionar o menu Ações rápidas e refatoração . Selecione Generate Equals(object).
Gerar operadores IEquatable
Gerar operadores IEquatable
  • Agora você pode criar e atribuir propriedades ou campos para todos os parâmetros do construtor não utilizados. Já tínhamos uma ação rápida que permitia fazer isso em um parâmetro individual, mas agora você pode fazer isso para todos os parâmetros não utilizados de uma só vez. Coloque o cursor sobre qualquer um dos parâmetros restantes. Pressione (Ctrl+.) para acionar o menu Ações rápidas e refatoração . Para criar e inicializar propriedades, selecione Criar e atribuir propriedades restantes. Para criar e inicializar campos, selecione Criar e atribuir campos restantes.
Criar e atribuir campos restantes
Criar e atribuir campos restantes
Criar e atribuir propriedades restantes
Criar e atribuir propriedades restantes
  • Agora há conclusão do IntelliSense em literais de cadeia de caracteres DateTime e TimeSpan. Coloque o cursor dentro da cadeia de caracteres DateTime ou TimeSpan e pressione (Ctrl+Space). Em seguida, você verá opções de conclusão e uma explicação sobre o que cada personagem significa. O formato de data e hora e um exemplo serão fornecidos.
Conclusão do IntelliSense em DateTime e TimeSpan
Conclusão do IntelliSense em literais de cadeia de caracteres DateTime e TimeSpan
  • Agora você pode adicionar um parâmetro na caixa de diálogo Alterar assinatura . Coloque o cursor dentro da assinatura do método. Pressione (Ctrl+.) para acionar o menu Ações rápidas e refatoração . Selecione Alterar assinatura. A caixa de diálogo a seguir será aberta, onde agora você pode selecionar Adicionar para adicionar um parâmetro. Depois de selecionar Adicionar, a nova caixa de diálogo Adicionar parâmetro será aberta. A caixa de diálogo Adicionar parâmetro permite adicionar um nome de tipo e um nome de parâmetro. Você pode optar por tornar o parâmetro obrigatório ou opcional com um valor padrão. Em seguida, você pode adicionar um valor no site de chamada e escolher um argumento nomeado para esse valor ou pode introduzir uma variável TODO. A variável TODO coloca um TODO no seu código para que você possa visitar cada erro e passar por cada ponto de chamada de forma independente e decidir o que deve ser passado. Para parâmetros opcionais, você tem a opção de omitir completamente o site de chamada.
Caixa de diálogo Alterar assinatura
Caixa de diálogo Alterar assinatura
Caixa de diálogo Adicionar parâmetro
Caixa de diálogo Adicionar parâmetro
  • Os autores do analisador agora podem usar CompletionProviders para finalizações do IntelliSense ao enviar seus analisadores com o NuGet. Antes, os autores de bibliotecas teriam que criar um VSIX separado, uma vez que CompletionProviders só estava disponível no VSIX. Agora, os autores de bibliotecas podem implementar as finalizações do IntelliSense no pacote NuGet, onde estão seus analisadores, e eles não precisam fazer isso separadamente. Os provedores de conclusão implementados em pacotes NuGet também fornecerão sugestões específicas para projetos individuais e trabalharão automaticamente em cada IDE que ofereça suporte ao recurso.

Navalha

Experimente o editor experimental do novo Language Server Protocol (LSP) para todos os ficheiros Razor (.cshtml/.razor) ativando a funcionalidade de pré-visualização Enable experimental Razor editor.

Explorador de Testes

Executar/Depurar Todos os testes em exibição foram adicionados ao Gerenciador de Testes. Esses comandos substituem onde os comandos Executar Todos os Testes e Depurar Todos os Testes apareceram no Gerenciador de Testes. Essa alteração esclarece que esses comandos honram os filtros do Test Explorer para que apenas os testes visíveis na janela sejam executados. Isso inclui filtros de coluna e filtros de caixa de pesquisa.

Comandos Executar/Depurar Todos os Testes na Vista do Explorador de Testes
Comandos Executar/Depurar Todos os Testes no Modo de Exibição do Gerenciador de Testes

Os comandos Executar/Depurar Todos Globalmente agora só aparecerão no menu Teste principal. Eles não estão mais incluídos na barra de ferramentas Test Explorer ou no menu de contexto de qualquer exibição de janela de teste. Quando acionado a partir do Explorador de Testes, a função Analisar Cobertura de Código para Todos os Testes agora também se aplica às visões da janela de teste.

Teclas de atalho:

  • Ctrl R, A - Run All Test - O comando Global sempre executa todos os testes
  • Ctrl R, V - Executar todos os testes em exibição - Somente um comando válido quando uma janela de teste (Test Explorer, Playlist, Live Unit Testing Window) estiver ativa
  • Ctrl R, Ctrl A - Debug All Test - O comando Global sempre depura todos os testes
  • Ctrl R, Ctrl V - Depurar todos os testes em exibição - Somente um comando válido quando uma janela de teste (Test Explorer, Playlist, Live Unit Testing Window) estiver ativa

Depurador

Exibindo objetos COM gerenciados por meio de ponteiros nativos

Esse recurso decodifica automaticamente objetos COM gerenciados referenciados por ponteiros nativos, permitindo que você inspecione totalmente os valores na janela Locais. Você pode encontrar mais detalhes aqui no blog do Visual Studio.

Profiler

Nova ferramenta de contadores de desempenho do .NET

Ferramenta de Contadores de Desempenho .NET
Ferramenta de Contadores de Desempenho .NET

Visualize dotnet counters diretamente no Visual Studio Profiler usando a ferramenta Contadores de Desempenho do .NET. Para experimentar a ferramenta, vá para Debug -> Performance Profiler -> Checkmark .NET Performance Counters Tool.

Xamarin

  • Os fixadores de código foram introduzidos para os tipos mais comuns de problemas experimentados pelos usuários com arquivos de layout do Android.
  • A experiência de seleção de modelos do Xamarin.Forms agora tem uma aparência nova e mais ilustrativa, e os modelos Flyout e Tabbed agora utilizam o Shell. Leia mais sobre a Shell aqui. Se, por algum motivo, você não quiser usar o Shell, use o modelo em branco.
Nova experiência de seleção de modelo Xamarin.Forms
Escolhendo um modelo Xamarin.Forms

Ferramentas XAML (WPF, UWP & Xamarin.Forms)

Atualização Instantânea XAML:

  • Melhorias na barra de ferramentas no aplicativo: Refinamos ainda mais a experiência da barra de ferramentas no aplicativo que faz parte do fluxo de trabalho de ferramentas XAML Hot Reload para WPF & UWP. As alterações incluem uma barra de ferramentas mais curta para que não cubra mais o aplicativo em execução e uma alteração no mecanismo de recolhimento que, quando clicado, recolherá o texto do XAML Hot Reload primeiro e, em seguida, recolherá a barra totalmente no segundo clique.

Designer XAML:

  • Suporte expandido de dados em tempo de design para WPF & UWP: Nesta versão, estamos introduzindo um novo recurso de dados em tempo de design para desenvolvedores WPF .NET Core e UWP. Esse novo recurso ampliará a lista atual de propriedades acessíveis em tempo de design por meio do uso do prefixo d:. Esse recurso será familiar para os desenvolvedores do Xamarin.Forms, pois ele disponibiliza a mesma abordagem de usar um prefixo "d:" para indicar uma propriedade que só deve ser renderizada em tempo de design e nunca é compilada no aplicativo em execução, tornando-o muito seguro de usar para validação da interface do usuário em tempo de design. Nesta versão, suportamos todos os controles prontos para WPF e UWP e planejamos oferecer suporte a controles personalizados e de terceiros em versões futuras.
  • Botão de atualização do Designer XAML: Adicionamos um botão de atualização ao designer XAML, esse novo ícone pode ser encontrado na área do ícone no canto inferior esquerdo, perto do indicador de nível de zoom. Essa ação de atualização faz um reset equivalente a fechar a visão do designer e reabri-la nas raras ocasiões em que é necessário para resolver problemas de renderização. Esse recurso está disponível para desenvolvedores WPF .NET Core e UWP.

Editor de código XAML:

  • Visualizador de cores: Refinamos ainda mais nosso novo visualizador de cores no editor de código XAML para projetos WPF .NET Core, WPF .NET Framework e Xamarin.Froms. Nesta versão, adicionamos suporte para visualização de cores provenientes de recursos, o que anteriormente não era suportado na última visualização.
Pré-visualizações de cores integradas no Editor de Código XAML
Pré-visualizações de Cores Inline no Editor de Código XAML

Mostrar itens da Caixa de Ferramentas de um pacote NuGet sem ter uma referência de pacote

Muitos autores de bibliotecas de controle querem que seus controles sejam vistos na Caixa de Ferramentas mesmo quando o projeto atual ainda não fez referência à biblioteca, pois isso ajuda na capacidade de descoberta. Os SDKs do WPF .NET Framework historicamente realizaram isso usando entradas do Registro, mas isso não é suportado pelo .NET Core. Para o WPF .NET Core, o Toolbox agora pode ser preenchido com controles de arquivos VisualStudioToolsManifest.xml encontrados em pacotes NuGet do WPF .NET Core nas pastas de fallback do NuGet. Para obter mais detalhes, consulte a documentação no repositório GitHub de Extensibilidade do Designer XAML.

Windows Forms

Windows Forms Designer para .NET Core

O Windows Forms designer para projetos .NET Core já está disponível. Para habilitar o designer no Visual Studio, vá para Ferramentas > Opções > de Recursos de Visualização de Ambiente > e selecione a opção Usar o designer de Windows Forms para aplicativos .NET Core de visualização.

Nesta versão, os seguintes controles agora são suportados, juntamente com outras melhorias:

  • UserControl e infraestrutura de controles personalizados
  • TableLayoutPanel
  • Fundamentos para suporte a controles de terceiros
  • Fundamentos para suporte à vinculação de dados
  • Melhorias na interação do designer com o TableLayoutPanel

Correções de bugs

Principais problemas corrigidos no Visual Studio 2019 versão 16.7.0

  • Falha de instalação do componente Provedor WMI corrigida.
  • Corrigido um problema em que os usuários não conseguiam ver o progresso da execução do teste clicando no botão esquerdo na parte inferior da barra.
  • Melhor desempenho na descoberta dos planos de faturação disponíveis do Visual Studio Codespaces.
  • Ao criar um Visual Studio Codespace, alteramos o tempo de suspensão padrão de 30 minutos para 3 horas.
  • Corrija um bug em que a janela do Git Changes informa ao utilizador que tem commits de entrada/saída, quando na verdade não tem nenhuns.
  • Estabilidade melhorada das Ferramentas de Diagnóstico e do Performance Profiler.
  • Foi resolvido um problema em que a extensão do Azure Sphere Visual Studio não era atualizada automaticamente devido a uma incompatibilidade de versão secundária. Com a correção, o Azure Sphere poderá ser atualizado automaticamente quando o atualizador automático VSIX for executado.

Da comunidade de desenvolvedores


Problemas conhecidos

Veja todos os problemas em aberto e soluções alternativas disponíveis no Visual Studio 2019 seguindo o link abaixo.

Problemas Conhecidos


Histórico de notas de versão do Visual Studio 2019

Para obter mais informações relacionadas às versões anteriores do Visual Studio 2019, consulte a página Histórico de notas de versão do Visual Studio 2019.