Visual Studio Icon Notas sobre a versão do Visual Studio 2019 versão 16.7


Desenvolvedor Community | Requisitos do sistema | Compatibilidade | Código distribuível | Termos de licença | Blogs | Problemas conhecidos da versão mais recente | Novidades no Visual Studio Docs


Clique no botão para baixar a versão mais recente do Visual Studio 2019. Para conferir instruções sobre a instalação e a atualização do Visual Studio 2019, consulte Atualizar o Visual Studio 2019 para a versão mais recente. Além disso, consulte as instruções em como instalar offline.

Community Download Button Professional Download Button Enterprise Download Button


Novidades no Visual Studio 2019 versão 16.7

Período de suporte

O Visual Studio 2019 versão 16.7 é a terceira linha de base de serviço com suporte para o Visual Studio 2019. Os clientes Enterprise e Professional que precisam adotar um ambiente de desenvolvimento estável e seguro de longo prazo são incentivados a padronizar para essa versão. Conforme explicado mais detalhadamente em nossa política de suporte e ciclo de vida,a versão 16.7 terá suporte com correções e atualizações de segurança até abril de 2022. Abril de 2022 é um ano após o lançamento do Visual Studio 2019 versão 16.9, que foi declarado como a quarta linha de base de manutenção.

Além disso, agora que a versão 16.7 está disponível, a versão 16.4, que foi a última linha de base de serviço, terá suporte por mais 12 meses e ele será encerrado em outubro de 2021. Observe também que as versões 16.5 e 16.6 não têm mais suporte. Essas versões intermediárias receberam correções de serviço somente até o lançamento da próxima atualização secundária.

Você pode adquirir a versão mais recente e segura do Visual Studio 2019 versão 16.7 na seção downloads do my.visualstudio.com ou do Catálogo da Microsoft.   Para obter mais informações sobre as linhas de base com suporte do Visual Studio, confira a política de suporte do Visual Studio 2019.

Lançamentos do Visual Studio 2019 versão 16.7

Notas sobre a versão arquivadas do Visual Studio 2019

Blog do Visual Studio 2019

O Blog do Visual Studio 2019 é 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 2019 nas seguintes postagens:


Confira esta lista completa de todos os itens Community desenvolvedores Visual Studio versão 16.7 do Visual Studio 2019

Release Notes Icon Visual Studio 2019 versão 16.7.20 New release icon

lançado em 12 de outubro de 2021

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

Aviso de Consultoria de Segurança

CVE-2021-41355 Vulnerabilidade de divulgação no .NET 5.0

Existe uma vulnerabilidade de Divulgação de Informações no .NET em que System.DirectoryServices.Protocols.LdapConnection envia credenciais em texto sem-texto no Linux.

CVE-2021-1971 Vulnerabilidade de negação de serviço openSSL

Existe uma possível vulnerabilidade de negação de serviço na biblioteca OpenSSL, que é consumida pelo Git.

CVE-2021-3449 Vulnerabilidade de negação de serviço openSSL

Existe uma possível vulnerabilidade de negação de serviço na biblioteca OpenSSL, que é consumida pelo Git.

CVE-2021-3450 Vulnerabilidade de negação de serviço openSSL

Existe um possível bypass de sinalizador na biblioteca OpenSSL, que é consumida pelo Git.


Release Notes Icon Visual Studio 2019 versão 16.7.19

lançado em 14 de setembro de 2021

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

Aviso de Consultoria de Segurança

CVE-2021-26434 Visual Studio de escalonamento de privilégio de atribuição de permissão incorreta

Existe uma vulnerabilidade de atribuição de Visual Studio depois de instalar o Desenvolvimento de jogos com C++ e selecionar a carga de trabalho do Instalador do Unreal Engine. O sistema é vulnerável ao LPE durante a instalação, ele cria um diretório com acesso de gravação a todos os usuários.

CVE-2021-36952 Visual Studio de execução remota de código

Existe uma vulnerabilidade de execução remota de código no Visual Studio quando ele manipula incorretamente os objetos na memória. Um invasor que explorasse com êxito a vulnerabilidade poderia executar código arbitrário no contexto do usuário atual.


Release Notes Icon Visual Studio 2019 versão 16.7.18

lançado em 10 de agosto de 2021

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

  • Corrigido um problema que afetava a execução da linha de comando do comando update. Se a atualização falhar na primeira vez, uma emissão subsequente do comando update agora faz com que a atualização retome a operação anterior de onde ela foi deixada.

Aviso de Consultoria 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 fornece pontos de extremidade WebSocket podem ser complicados em loop 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 despejos criados pela ferramenta para coletar despejos de falha e despejos sob demanda são criados com permissões de leitura globais no Linux e no macOS.

CVE-2021-34532 ASP.NET Core de divulgação de informações

Existe uma vulnerabilidade de divulgação de informações em que um token JWT é registrado se ele não puder ser analisado.


Release Notes Icon Visual Studio 2019 versão 16.7.17

lançado em 13 de julho de 2021

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

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

Release Notes Icon Visual Studio 2019 versão 16.7.16

lançado em 08 de junho de 2021

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

Aviso de Consultoria de Segurança

CVE-2021-31957 ASP.NET vulnerabilidade de negação de serviço

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


Release Notes Icon Visual Studio 2019 versão 16.7.15

lançado em 11 de maio de 2021

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

  • Corrigido um problema que causava falha nas atualizações quando um administrador cria um novo layout de Visual Studio para implantar atualizações. A atualização do computador cliente falhará, pois o layout moveu locais.

Aviso de Consultoria de Segurança

CVE-2021-27068 RCE possível ao realizar python.exe na pasta aninhada

Existe uma vulnerabilidade de execução remota de código ao abrir um workspace com o código Python e esse workspace contém um python.exe em uma 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 único aplicativo de arquivo em sistemas operacionais baseados em Linux ou macOS.


Release Notes Icon Visual Studio 2019 versão 16.7.14

lançado em 13 de abril de 2021

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

  • Otimizador removendo incorretamente o código ativo
  • NuGet relatará o hash de conteúdo do pacote e da origem do pacote ao restaurar pacotes em detalhes de saída normal
  • NuGet salvará a origem do pacote no arquivo .nupkg.metadata do pacote na pasta de pacotes globais. Os pacotes existentes na pasta de pacotes globais 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 Consultoria de Segurança

CVE-2021-27064 Instalador do Visual Studio de elevação de privilégio

Existe uma vulnerabilidade de execução remota de código quando Visual Studio instalador executa o cliente de comentários em um estado elevado.

CVE-2021-28313 / CVE-2021-28321 / CVE-2021-28322 Vulnerabilidade de elevação de privilégio do serviço coletor padrão do Hub de Diagnóstico

Há uma vulnerabilidade de elevação de privilégio quando o Coletor Padrão do Hub de Diagnóstico manipula incorretamente as operações de dados.


Release Notes Icon Visual Studio 2019 versão 16.7.13

lançado em 9 de março de 2021

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

Aviso de Consultoria de Segurança

CVE-2021-21300 Git para Visual Studio de execução remota de código remoto

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 de código remoto do .NET Core

Existe uma vulnerabilidade de execução de código remoto no .NET 5 e no .NET Core devido à maneira como a codificação de texto é executada.


Release Notes Icon Visual Studio 2019 versão 16.7.12

lançado em 9 de fevereiro de 2021

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


Release Notes Icon Visual Studio 2019 versão 16.7.11

lançado em 9 de fevereiro de 2021

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

Aviso de Consultoria 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 de código remoto quando Visual Studio um repositório mal-intencionado que contém 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 Web HTTPS durante a criação da cadeia de certificados X509.

CVE-2021-24112 Vulnerabilidade de execução de código remoto do .NET Core e .NET Core

Existe uma vulnerabilidade de execução remota de código ao descartar metadados quando uma interface gráfica ainda tem uma referência a ela. Essa vulnerabilidade só existe em sistemas em execução no MacOS ou Linux.


Release Notes Icon Visual Studio 2019 versão 16.7.10

lançada em 12 de janeiro de 2021

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

Aviso de Consultoria de Segurança

CVE-2021-1651 / CVE-2021-1680 Vulnerabilidade de elevação de privilégio do serviço Coletor Padrão do Hub de Diagnóstico

Há uma vulnerabilidade de elevação de privilégio quando o Coletor Padrão do Hub de Diagnóstico manipula incorretamente as 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 um markdown mal-intencionado.

CVE-2021-1723 Vulnerabilidade de negação de serviço do .NET Core e do Visual Studio

Existe uma vulnerabilidade de negação de serviço na implementação de Kestrel.


Release Notes Icon Visual Studio 2019 versão 16.7.9

lançado em 08 de dezembro de 2020

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

Aviso de Consultoria de Segurança

CVE-2020-17156 Vulnerabilidade de execução de código remoto do Visual Studio

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


Release Notes Icon Visual Studio 2019 versão 16.7.8

lançada em 10 de novembro de 2020

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

Aviso de Consultoria de Segurança

CVE-2020-17100 Vulnerabilidade de adulteração do Visual Studio

Há uma vulnerabilidade de adulteração quando as Ferramentas Python para Visual Studio criam a pasta python27. Um invasor que explorasse com êxito essa vulnerabilidade poderia executar processos em um contexto de privilégios elevados.



Release Notes Icon Visual Studio 2019 versão 16.7.7

lançado em 27 de outubro de 2020

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


Release Notes Icon Visual Studio 2019 versão 16.7.6

lançado em 13 de outubro de 2020

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


Release Notes Icon Visual Studio 2019 versão 16.7.5

lançado em 29 de setembro de 2020

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


Release Notes Icon Visual Studio 2019 versão 16.7.4

lançado em 21 de setembro de 2020

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

  • Será adicionado um suporte para Xcode 12.0 GM.
  • Será adicionado um suporte para configurar uma Cor definida como Cor de Destaque no editor Info.plist.

Release Notes Icon Visual Studio 2019 versão 16.7.3

lançada em 8 de setembro de 2020

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

Aviso de Consultoria de Segurança

CVE-2020-1130 Vulnerabilidade de elevação de privilégio do Coletor Padrão do Hub de Diagnóstico

Há uma vulnerabilidade de elevação de privilégio quando o Coletor Padrão do Hub de Diagnóstico manipula incorretamente as operações de dados. Um invasor que explorasse com êxito essa vulnerabilidade poderia executar processos em um contexto de privilégios elevados.

CVE-2020-1133 Vulnerabilidade de elevação de privilégio do Coletor Padrão do Hub de Diagnóstico

Há uma vulnerabilidade de elevação de privilégio quando o Coletor Padrão do Hub de Diagnóstico manipula incorretamente as operações de arquivo. Um invasor que explorasse com êxito essa vulnerabilidade poderia executar processos em um contexto de privilégios elevados.

CVE-2020-16856 Vulnerabilidade de execução de código remoto do Visual Studio

Existe uma vulnerabilidade de execução remota de código no Visual Studio quando ele manipula incorretamente os objetos na memória. Um invasor que explorasse com êxito a vulnerabilidade poderia executar código arbitrário no contexto do usuário atual.

CVE-2020-16874 Vulnerabilidade de execução de código remoto do Visual Studio

Existe uma vulnerabilidade de execução remota de código no Visual Studio quando ele manipula incorretamente os objetos na memória. Um invasor que explorasse com êxito a vulnerabilidade poderia executar código arbitrário no contexto do usuário atual.

CVE-2020-1045 Vulnerabilidade de bypass do recurso de segurança do Microsoft ASP.NET Core

Há uma vulnerabilidade de bypass do recurso de segurança no modo como o Microsoft ASP.NET Core analisa nomes de cookies codificados. O analisador de cookies do ASP.NET Core decodifica cadeias de caracteres inteiras de cookies que poderão permitir que um invasor mal-intencionado defina um segundo cookie usando o nome que está sendo codificado por porcentagem.

Problemas adicionais corrigidos nesta versão

  • Corrigida uma falha do compilador em instruções switch ou expressões switch que usam correspondência de padrões.
  • Restaurado o fluxo de trabalho "Parar depuração (Shift + F5)" no teste de unidade pelo encerramento da execução de teste.
  • Impedir que o VS falhe ao alternar a configuração do projeto quando o designer .NET Core WinForms tiver alterações não salvas.
  • As versões sem suporte do .NET Core não serão mais reinstaladas durante um reparo ou upgrade 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 na opção Localizar nos Arquivos.
  • Reintroduzido o botão "Confirmar..." no submenu Git do menu de contexto de Gerenciador de Soluções.
  • Corrigido um bug que fazia com que o rótulo Observações de Check-In do TFVC ficasse invisível.
  • Corrigida a falha ao usar o designer WinForms no csproj de 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 do Visual Studio 2019 versão 16.7.3 corrigidos pela Developer Community


Release Notes Icon Visual Studio 2019 versão 16.7.2

lançado em 18 de agosto de 2020

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

Principais problemas do Visual Studio 2019 versão 16.7.2 corrigidos pela Developer Community


Release Notes Icon O Visual Studio 2019 versão 16.7.1

lançado em 11 de agosto de 2020

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

Principais problemas do Visual Studio 2019 versão 16.7.1 corrigidos pela Developer Community


Release Notes Icon Visual Studio 2019 versão 16.7.0

lançado em 5 de agosto de 2020

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

C++

  • Nosso suporte remoto ao C++ agora é compatível com uma maior variedade de distribuições e shells do 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" por meio de ConnectionManager.exe. Esse suporte foi testado com projetos do Linux baseados no MSBuild e projetos CMake visando um sistema Linux remoto ou WSL.
  • Agora você pode usar o Ninja (um sistema de build que avalia builds incrementais muito rapidamente) para aprimorar tempos de build incrementais para projetos do Linux baseados em MSBuild. Você pode aceitar esse recurso definindo "Habilitar Build Incremental" como "Com o Ninja" na Página de Propriedades Gerais. O Ninja (ninja-build) precisa ser instalado em seu sistema Linux remoto ou WSL.
  • Novos recursos de biblioteca padrão do C++20 foram implementados. Veja o Log de mudanças de STL no GitHub para 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 foi alterado) e definir conexões padrão para serem consumidas em CMakeSettings.json e launch.vs.json. As conexões SSH remotas permitem que você compile e depure projetos C++ em um sistema Linux remoto diretamente do Visual Studio.
Edit remote connections in the Connection Manager
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 do Clang agora inclui as bibliotecas do Clang. Aprimoramos a exibição de rabiscos no editor ao usar a biblioteca padrão e adicionamos suporte para C++2a no modo de Clang.
  • agora você pode testar os erros de código subjacentes e ver as correções rápidas mais sugeridas em projetos C++.  Habilite esse recurso em Ferramentas > Opções > Editor de Texto > C/C++ > Experimental > Definir "Desabilitar o Linter de Código Experimental" como falso. Saiba mais no Blog da Equipe do C++.
IntelliSense code linter
Linter de código do IntelliSense
  • Adicionamos quatro novas regras de análise de código para incorporar recursos de segurança adicionais em C++ : C26817, C26818, C26819 e C26820.
  • Adicionamos suporte de primeira classe para depurar 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. Agora, também damos suporte ao 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 realce de sintaxe e pelo IntelliSense.

Definir playlists dinamicamente

Agora você pode definir playlists dinamicamente com base no projeto, na classe ou no namespace. Isso significa que você pode configurar uma playlist para incluir tudo em um determinado projeto/classe/namespace; qualquer teste novo adicionado a esse grupo será incluído automaticamente em sua playlist!

  • Crie uma playlist clicando com o botão direito do mouse em um projeto, namespace ou agrupamento de classes no Gerenciador de Testes.
Test Explorer: Create a playlist
Gerenciador de Testes: Criar uma playlist
  • Edite quais grupos estão incluídos na playlist clicando no botão editar na barra de ferramentas. As caixas de seleção serão exibidas. Edite os grupos conforme desejado.
Test Explorer: Edit a playlist
Gerenciador de Testes: Editar uma playlist
  • Em vez de ser uma lista estática de testes, essas playlists são atualizadas dinamicamente com base em regras. Se deseja entender melhor quais regras estão gerando sua playlist dinâmica, salve o arquivo de playlist em disco com o botão salvar e exiba as regras geradas no xml.
PlayList file dynamic rule set
Conjunto de regras dinâmicas do arquivo PlayList
  • Você pode continuar incluindo/excluindo testes individuais e a playlist poderá atualizar as regras dinâmicas dela ou voltar a acompanhar os testes como uma lista estática. Você pode usar características para definir um grupo dinâmico editando o arquivo xml de playlist diretamente.

Produtividade do Git

Alterne a versão prévia do recurso na 'Nova experiência do usuário do Git' em Ferramentas | Opções | Ambiente para usar essa experiência.

  • Criar um repositório Git começando de qualquer pasta ou de uma pasta totalmente nova
  • Salvar e fechar uma pasta ou solução aberta antes de iniciar uma nova operação de clonagem
  • Exibir erros de mensagem de confirmação ou de stash claramente na caixa de texto de confirmação
  • Ver e gerenciar Git branches no modo de exibição de árvore em uma nova janela do repositório Git
  • Alternar entre o grafo de histórico de cada branch na janela do Repositório Git e interagir com ele
  • Exibir confirmações de saída e de entrada na janela do Repositório Git
  • Blog da equipe de produtividade do Git com mais detalhes sobre os recursos recentes
Manage branches and view history in a focused Git Repository window
Gerenciar branches e exibir o histórico em uma janela focalizada do Repositório Git

Resolver 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 solicitam que você abra o editor de mesclagem
  • Quanto mais títulos informativos e legendas, menos desordem no editor de mesclagem
  • Comparações em conflitos que alinham linhas correspondentes, mostram diferenças no nível da palavra e exibem um espaço em branco visível quando é a única diferença.
  • Mesclagens bidirecionais para adição de nível de arquivo/conflitos de adição
  • A capacidade de resolver todos os conflitos de um lado ou outro com um único clique
  • Uma alternância para se concentrar apenas em conflitos, ignorando diferenças não conflitantes
New Merge Editor Experience
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 melhorar o suporte a cenários LiveShare.

Processo Local com o Kubernetes

Local Process with Kubernetes
Processo Local com o Kubernetes

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

Para habilitar o Processo Local com o Kubernetes, acesse Ferramentas > Opções > Ambiente > Versão Prévia dos Recursos e selecione “Habilitar depuração local para serviços de Kubernetes”.

Enable Preview Features
Habilitar Versão Prévia dos Recursos

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

Produtividade do .NET

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

  • Para remover completamente o operador, selecione Remover o operador (preservar semântica) :
Code fix to remove suppression operator
Correção de código para remover o operador de supressão
  • Para negar a expressão, selecione Negar expressão (alterar a semântica) :
Code fix to negate expression
Correção de código para negar a expressão
  • Você também poderá negar a expressão com o novo padrão not de C# 9 se ele estiver disponível em seu projeto:
Code fix to negate expression using not
Correção de código para negar a expressão usando not

Agora você pode gerar propriedades ao gerar um construtor em um tipo. Coloque o cursor na instância. Pressione (Ctrl + . ) para acionar o menu Ações Rápidas e Refatorações. Selecione Gerar o construtor em <QualifiedName> (com propriedades) .

Generate properties when generating constructor
Gerar propriedades ao gerar o construtor
  • As informações rápidas agora exibem a ID de diagnóstico junto com um link de ajuda com o qual você pode navegar facilmente para a nossa documentação para saber mais sobre avisos e erros em seu código.
Quick Info Diagnostic ID and Help Link
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. Isso permite que você fixe propriedades dentro do depurador programaticamente em seu código. Coloque o cursor no nome de classe. Pressione (Ctrl+ . ) para acionar o menu Ações Rápidas e Refatorações. Selecione Adicionar atributo “DebuggerDisplay” . Isso adicionará o atributo de exibição do depurador à parte superior da sua classe e gerará um método auto que retorna ToString() que pode ser editado para retornar o valor da propriedade que você deseja fixar no depurador.
Add Debugger Display Attribute
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 no aviso. Pressione (Ctrl+ . ) para acionar o menu Ações Rápidas e Refatorações. Para atribuições acidentais, selecione Atribuir a <QualifiedName>.value. Para comparações acidentais, selecione Comparar com <QualifiedName>.value.
Accidental Assignments Code Fix
Correção de código de atribuições acidentais
Accidental Comparisons Code Fix
Correção de código de comparações acidentais
  • Agora você pode gerar operadores de comparação para tipos que implementam IComparable. Coloque seu cursor dentro da classe ou em IComparable. Pressione (Ctrl+ . ) para acionar o menu Ações Rápidas e Refatorações. Selecione Gerar operadores de comparação. Uma placa de texto clichê será gerada para você com os operadores de comparação.
Generate Comparison Operators
Gerar Operadores de Comparação
  • Agora você pode gerar operadores IEquatable ao gerar .Equals para structs. Já tínhamos uma refatoração para Gerar Equals e GetHashCode para tipos de valor. Agora, com structs, adicionaremos automaticamente o IEquatable, assim como os operadores equals e not equals para você. Coloque o cursor dentro do struct. Pressione (Ctrl+ . ) para acionar o menu Ações Rápidas e Refatorações. Selecione Gerar Equals(object) .
Generate IEquatable Operators
Gerar Operadores IEquatable
  • Agora você pode criar e atribuir propriedades ou campos para todos os parâmetros de 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 em qualquer um dos parâmetros restantes. Pressione (Ctrl+ . ) para acionar o menu Ações Rápidas e Refatorações. Para criar e inicializar propriedades, selecione Criar e atribuir os restantes como propriedades. Para criar e inicializar campos, selecione Criar e atribuir os restantes como campos.
Create and Assign Remaining Fields
Criar e Atribuir os Campos Restantes
Create and Assign Remaining Properties
Criar e Atribuir as Propriedades Restantes
  • Agora há uma conclusão do IntelliSense em literais de cadeia de caracteres DateTime e TimeSpan. Coloque o cursor dentro do literal de cadeia de caracteres DateTime ou TimeSpan e pressione (Ctrl+Espaço). Em seguida, você verá as opções de conclusão e uma explicação sobre o que significa cada caractere. Serão fornecidos o formato de data e hora e um exemplo.
IntelliSense Completion in DateTime and TimeSpan
Conclusão do IntelliSense em literais de cadeia de caracteres DateTime e TimeSpan
  • Agora você pode adicionar um parâmetro dentro da 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ções. Selecione Alterar assinatura. A caixa de diálogo a seguir será aberta, em que 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 que você adicione um nome de tipo e um nome de parâmetro. Você pode optar por tornar o parâmetro necessá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 em seu código para que você possa acessar cada erro e percorrer cada site de chamada de maneira independente e decidir o que passar. Para parâmetros opcionais, você tem a opção de omitir o site de chamada completamente.
Change Signature Dialog
Caixa de diálogo Alterar Assinatura
Add Parameter Dialog
Caixa de diálogo Adicionar Parâmetro
  • Os autores do analisador agora podem usar CompletionProviders para conclusões do IntelliSense ao enviar seus analisadores com NuGet. Antes, os autores da biblioteca precisariam criar um VSIX separado porque CompletionProviders só estava disponível em VSIX. Agora, os autores da biblioteca podem implementar as conclusões do IntelliSense no pacote NuGet em que estão os analisadores; 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 dá suporte ao recurso.

Razor

Experimente o novo editor do Razor com base em LSP (Language Server Protocol) com todos os arquivos do Razor (.cshtml/.razor) selecionando a versão prévia do recurso Habilitar o editor do Razor experimental.

Gerenciador de Testes

Executar/Depurar Todos os Testes na Exibição foram adicionados ao Gerenciador de Testes. Esses comandos substituem o local em que os comandos Executar Todos os Testes e Depurar Todos os Testes apareciam no Gerenciador de Testes. Essa alteração esclarece que esses comandos obedecem aos filtros do Gerenciador de Testes para que apenas os testes visíveis na janela sejam executados. Isso inclui tanto os filtros de coluna quanto os filtros de caixa de pesquisa.

Test Explorer Run/Debug All Tests in View commands
Comandos Executar/Depurar Todos os Testes na Exibição do Gerenciador de Testes

Os comandos Executar/Depurar Todos Globalmente agora serão exibidos apenas no menu de teste de nível superior. Eles não estão mais incluídos na barra de ferramentas ou no menu de contexto do Gerenciador de Testes de nenhuma exibição da janela de teste. Quando disparado do Gerenciador de Testes, o comando Analisar a Cobertura de Código para Todos os Testes agora se aplica às exibições da janela de teste também.

Teclas de atalho:

  • CTRL R, A – Executar Todos os Testes – O comando global sempre executa todos os testes
  • CTRL R, V – Executar Todos os Testes na Exibição – Somente um comando válido quando uma janela de teste (Gerenciador de Testes, Playlist, Janela do Live Unit Testing) está ativa
  • CTRL R, CTRL A – Depurar Todos os Testes – O comando global sempre depura todos os testes
  • Ctrl R, Ctrl V – Depurar Todos os Testes na Exibição – Somente um comando válido quando uma janela de teste (Gerenciador de Testes, Playlist, Janela do Live Unit Testing) está ativa

Depurador

Exibir objetos COM gerenciados por meio de ponteiros nativos

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

Criador de Perfil

Nova Ferramenta de Contadores de Desempenho do .NET

.NET Performance Counters Tool
Ferramenta de Contadores de Desempenho do .NET

Visualize contadores dotnet diretamente de dentro do Profiler do Visual Studio usando a Ferramenta de Contadores de Desempenho do .NET. Para experimentar a ferramenta, acesse Depurador -> Criador de Perfil de Desempenho -> Marca de Seleção da Ferramenta de Contadores de Desempenho do .NET.

Xamarin

  • Corretores de código foram introduzidos para os tipos mais comuns de problemas enfrentados por 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 de submenu e com guias agora utilizam o Shell. Leia mais sobre o Shell aqui. Se, por alguma razão, você não quiser usar o Shell, use o modelo Em branco.
New Xamarin.Forms template selection experience
Escolher um modelo do Xamarin.Forms

Ferramentas XAML (WPF, UWP e Xamarin.Forms)

Recarga Dinâmica de XAML:

  • Aprimoramentos na barra de ferramentas no aplicativo: Aperfeiçoamos ainda mais a experiência da barra de ferramentas no aplicativo que faz parte do fluxo de trabalho de ferramentas de Recarga Dinâmica de XAML para WPF e UWP. As alterações incluem uma barra de ferramentas mais curta, para que ela não cubra mais o aplicativo em execução, bem como uma alteração no mecanismo de recolhimento que, quando clicado, agora recolhe primeiro o texto de Recarga Dinâmica de XAML e, depois, recolhe a barra totalmente no segundo clique.

Designer XAML:

  • Suporte a Dados Expandido em Tempo de Design para WPF e UWP: Nesta versão, estamos introduzindo um novo recurso de dados de tempo de design para desenvolvedores do WPF .NET Core e da UWP. A nova funcionalidade estenderá, por meio do uso do prefixo d:, a lista atual de propriedades de tempo de design acessíveis. Esse recurso é familiar aos desenvolvedores do Xamarin.Forms, pois ele disponibiliza a mesma abordagem de usar um prefixo "d:" para indicar uma propriedade que só deve ser renderizada no tempo de design e nunca é compilada no aplicativo em execução, tornando-a muito segura para usar a validação de interface do usuário de tempo de design. Nesta versão, damos suporte a todos os controles prontos para uso para WPF e UWP e planejamos dar suporte a controles personalizados e de terceiros em versões futuras.
  • Botão de Atualização de Designer XAML: Adicionamos um botão Atualizar ao designer XAML. Esse novo ícone pode ser encontrado na área de ícones inferior esquerda, próximo ao indicador de nível de zoom. Essa ação de atualização faz a redefinição equivalente de fechar a exibição do designer e abri-la novamente, para as raras situações em que isso é necessário para resolver um problema de renderização. Esse recurso está disponível para desenvolvedores do WPF .NET Core e da UWP.

Editor de Código XAML:

  • Visualizador de Cores: Aprimoramos ainda mais nosso novo visualizador de cores no editor de código XAML para projetos do WPF .NET Core, WPF .NET Framework e Xamarin.Forms. Nesta versão, adicionamos suporte para visualização de cores provenientes de recursos que, anteriormente, não eram compatíveis com a última versão prévia.
Inline Color Previews in XAML Code Editor
Visualizações de cores embutidas 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 da biblioteca de controle querem que os controles deles sejam vistos na caixa de ferramentas mesmo que o projeto atual ainda não tenha referenciado a biblioteca, pois isso ajuda na capacidade de descoberta. Os SDKs do .NET Framework do WPF conseguiram fazer isso historicamente usando entradas do Registro, mas isso não é compatível com o .NET Core. Para o .NET Core do WPF, a caixa de ferramentas agora pode ser preenchida com controles de arquivos VisualStudioToolsManifest.xml encontrados dentro de pacotes NuGet do .NET Core do WPF em pastas de fallback do NuGet. Para obter mais detalhes, confira a documentação no repositório GitHub de Extensibilidade do Designer XAML.

Windows Forms

Designer de Formulários do Windows para .NET Core

Agora está disponível o Designer de Formulários do Windows para projetos do .NET Core. Para habilitar o designer no Visual Studio, acesse Ferramentas > Opções > Ambiente > Recursos de Visualização e selecione a opção Usar a visualização do Designer de Formulários do Windows em aplicativos .NET Core.

Nesta versão, agora há suporte para os seguintes controles juntamente com outros aprimoramentos:

  • UserControl e infraestrutura de controles personalizados
  • TableLayoutPanel
  • Conceitos básicos de suporte de controles de terceiros
  • Conceitos básicos de suporte à associação de dados
  • Aprimoramentos na interação do designer com o TableLayoutPanel

Correções de bug

Principais problemas corrigidos no Visual Studio 2019 versão 16.7.0

  • Corrigida a falha de instalação do componente do provedor de WMI.
  • Corrigido um problema em que os usuários não podiam ver o andamento da execução de teste clicando no botão esquerdo na parte inferior da barra.
  • Aprimorado o desempenho de descobrir os planos de cobrança disponíveis do Espaço de Código do Visual Studio.
  • Ao criar um Espaço de Código do Visual Studio, alteramos o tempo padrão para suspensão de 30 minutos para 3 horas.
  • Corrigido o bug em que a janela Alterações do Git informa aos usuários que eles têm confirmações de entrada/saída, quando, na verdade, não têm nenhuma.
  • Estabilidade aprimorada das Ferramentas de Diagnóstico e do Criador de Perfil de Desempenho.
  • Resolvido um problema em que a extensão Azure Sphere do 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 do VSIX for executado.

Da Developer Community


Problemas conhecidos

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


Comentários e sugestões

Adoraríamos ouvir sua opinião! Em caso de problemas, informe-nos por meio da opção Relatar um Problema no canto superior direito do Instalador ou do próprio IDE do Visual Studio. O Feedback Icon está localizado no canto superior direito. Você pode fazer uma sugestão de produto ou acompanhar os problemas na Comunidade de Desenvolvedores do Visual Studio, em que você pode fazer perguntas, encontrar respostas e propor novos recursos. 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.


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

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


Início da página