Partilhar via


2019Logo Visual Studio 2019 versão 16.8 Notas de versão


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çamento do Visual Studio 2019 versão 16.8

Visual Studio 2019 Blog

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


Consulte esta lista completa de todos os itens da Comunidade de Desenvolvedores obtidos no Visual Studio 2019 versão 16.8

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

lançado em March 09, 2021

Problemas resolvidos nesta versão do Visual Studio 2019 versão 16.8.7

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 Versão 16.8.6 do Visual Studio 2019

lançado em February 22, 2021

Problemas resolvidos nesta versão do Visual Studio 2019 versão 16.8.6


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

lançado em February 09, 2021

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.

Problemas resolvidos nesta versão do Visual Studio 2019 versão 16.8.5

  • Corrigido um problema em que o Microsoft.VCLibs Appx x86, instalado sob ExtensionSDKs, era atualizado com a assinatura correta.
  • Corrigido um vazamento de memória ao usar recursos C++ DesignTime.
  • Corrigido um problema em que uma exceção ocorria se uma senha não fosse lembrada ao importar um banco de dados existente para um projeto SSDT.
  • Corrigido um problema em que o botão de publicação era desativado na primeira vez que os clientes publicavam projetos .NET Core em uma pasta ou outros destinos de hospedagem.
  • Corrigido um bloqueio que ocasionalmente ocorria quando os desenvolvedores abriam a página de exibição de perfis de publicação.
  • Adiciona suporte ao Xcode 12.4.

Itens da comunidade de desenvolvedores


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

lançado em January 12, 2021

Aviso de Aviso de Segurança

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

Existe 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 marcação mal-intencionada.

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

Existe uma vulnerabilidade de negação de serviço na forma como o Kestrel analisa pedidos HTTP/2.

Problemas resolvidos nesta versão do Visual Studio 2019 versão 16.8.4

  • Corrigido um problema em que os componentes específicos do IntelliCode em C# podiam não ser instalados se o IntelliCode tivesse sido instalado anteriormente a partir do Visual Studio Marketplace em versões mais antigas do Visual Studio
  • As referências de projetos transitivas agora são respeitadas quando projetos PackageReference fazem referência a projetos packages.config com dependências PackageReference.
  • Adiciona suporte ao Xcode 12.3.
  • Correções no suporte ao simulador x86_64 do watchOS 7.0+
  • Corrigimos falsos positivos (C33001 ~ C33005) no uso de VARIANTs que são retornadas de uma função.
  • Correção para falha intermitente do VS no designer do WinForms .NET Core ao fechar projeto ou solução.
  • Projeto de banco de dados fixo: Arrastar um arquivo do gerenciador de soluções para um aberto é excluir o arquivo do sistema de arquivos!
  • Correção: Clicar em "Atualizar" no Sql Schema Compare não salva as alterações no arquivo .sqlproj.
  • Corrigido um bug em que as compilações falhavam com erros "Tabela/coluna não foi encontrada".
  • Corrija a caixa de seleção "confirmar após fusão" do Team Explorer -> Ramos.
  • Corrigido um erro em que o Visual Studio pode deixar de responder por vários segundos durante a verificação de atualizações.
  • DeploymentAppRecipe.exe ferramenta agora suporta a execução a partir de qualquer diretório atual. Ele também retorna um valor de retorno diferente de zero sempre que a implantação falha e imprime mensagens de erro no fluxo de erro padrão.

Da comunidade de desenvolvedores



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

lançado em December 08, 2020

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.

Problemas resolvidos nesta versão do Visual Studio 2019 versão 16.8.3

  • Corrigido um erro interno do compilador quando um modelo de função aninhado é definido fora da classe pai.
  • Corrigido erro C2355 quando 'this' é usado no inicializador de um membro de dados não estático.
  • O erro de carregamento do conjunto de regras foi corrigido para o conjunto de regras personalizado usando a opção /analyze:ruleset com a opção /analyze:rulesetdirectory e/ou /analyze:projectdirectory.
  • Correção para uma falha intermitente no Visual Studio ao usar o designer do WinForms .NET Core.
  • Inserção do .NET 5.0.1 no Visual Studio v 16.8.3
  • Corrigido um problema em que algumas janelas de ferramentas ativadas pelo contexto da interface do utilizador podem fazer com que o Visual Studio encerre inesperadamente.
  • Push corrigido da página Gerenciar ramificações quando não há nenhuma ramificação de rastreamento remoto do Git.
  • Adicionado suporte a Xcode 12.2.

Da comunidade de desenvolvedores



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

lançado em November 19, 2020

Problemas resolvidos nesta versão do Visual Studio 2019 versão 16.8.2

  • Corrigido um bug de otimização em loops.
  • Corrigido o erro interno do compilador na implementação da elisão de cópia garantida (funcionalidade do C++17).
  • Correção da regressão de desempenho de compilação para grandes usos de tipos anónimos.
  • Resolvido um problema em que uma barra de ouro com a mensagem "O argumento especificado estava fora do intervalo de valores válidos" aparecia ao editar o código C#.
  • Corrigido um problema que podia originar uma MissingMethodException ao compilar um projeto que incluía modelos T4.
  • Corrige um problema em que a pesquisa na caixa de diálogo Novo Projeto podia retornar resultados zero.

Da comunidade de desenvolvedores



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

lançado em November 12, 2020

Problemas resolvidos nesta versão do Visual Studio 2019 versão 16.8.1

  • Corrigido um problema de alto impacto em que "O pacote 'SourceExplorerPackage' não era carregado corretamente." aviso aparece ao clonar um repositório no Team Explorer. Quando os usuários encontraram esse problema, isso faria com que o produto parasse de responder.

Ícone das notas de versão do Visual Studio 2019 versão 16.8.0

lançado em November 10, 2020

Resumo do que há de novo nesta versão do Visual Studio 2019 versão 16.8


F#:

  • O F# 5 agora é lançado junto com o .NET 5
  • Melhorias e correções de desempenho para ferramentas do Visual Studio via F# Tools versão 11.0.0
  • Notas de versão completas disponíveis no GitHub

C++:

  • As coroutines do C++20 agora são suportadas em /std:c++latest e no <cabeçalho coroutine>.
  • O IntelliSense agora fornece suporte para conceitos< C++20 >e <intervalos> de cabeçalhos, além de renomear e procurar definições de conceito.
  • Nossa STL agora tem suporte para a maioria dos intervalos C++20.
  • Funções de membro especiais condicionalmente triviais agora são suportadas no MSVC.
  • C11 e C17 agora são suportados nas opções /std:c11 e /std:c17.
  • Melhorias adicionais de STL incluem suporte total para std::atomic_ref, std::midpoint e std::lerp e std::execution::unseq, otimizações para std::reverse_copy e muito mais.
  • Versão atualizada do CMake fornecida com o Visual Studio para CMake 3.18.
  • Nossas ferramentas de análise de código agora suportam o padrão SARIF 2.1: o formato de log de análise estática padrão do setor.
  • Ferramentas de compilação ausentes em projetos Linux agora emitirão um aviso na barra de ferramentas e uma descrição clara das ferramentas ausentes na lista de erros.
  • Agora você pode depurar dumps de núcleo do Linux em um sistema Linux remoto ou WSL diretamente do Visual Studio.
  • Para a geração de comentários C++ Doxygen, adicionamos opções adicionais de estilo de comentário (/*! e //!).
  • Anúncios vcpkg adicionais
  • Suporte de compilador para lambdas em contextos não avaliados
  • /debug:Desempenho de link completo melhorado pela criação de PDB multi-threading. Várias aplicações grandes e jogos AAA vêem ligações entre 2 a 4 vezes mais rápidas.
  • O depurador do Visual Studio agora tem suporte para char8_t.
  • Suporte para projetos ARM64 usando clang-cl.
  • Suporte intrínseco Intel AMX .
  • Adicionada uma nova opção de link, legacy_stdio_float_rounding.obj para habilitar o comportamento herdado de impressão de valores de vírgula flutuante, que foi alterado no Dev16.2 para arredondar corretamente números de vírgula flutuante representáveis com precisão. Para obter mais detalhes, consulte printf, _printf_l, wprintf _wprintf_l.

Depurador:

  • Suporte à depuração de core dump do .NET Core em Linux
  • Análise automática do .NET e .NET Core
  • Análise automática de caminho quente de memória .NET e .NET Core

Atualizações do Experimental Razor Editor:

  • Lâmpadas Blazor
  • Lâmpadas C#
  • Formatação melhorada do Razor
  • Renomeie os componentes do Razor na marcação dos ficheiros .razor
  • Ir para definição no namespace da tag do componente Blazor
  • Coloração de passagem do cursor em C#
  • Colorização da ferramenta de conclusão C#
  • Ir para a definição/implementação para Razor, incluindo ficheiros fechados
  • Encontrar todas as referências em arquivos fechados do Razor
  • Preformância e estabilidade de edição Razor melhoradas para grandes projetos e soluções

Falsificações em Projetos Estilo SDK:

  • Ao usar o novo suporte Fakes para projetos de estilo SDK, alguns usuários encontraram o seguinte erro ao gerar shims:

Produtividade Git:

  • Saiba mais sobre como usar todos os recursos do Git em nossa nova documentação on-line
  • Abra a janela Repositório Git a qualquer momento através da janela Alterações do Git, do menu Exibir e da barra de status
  • Buscar, puxar e enviar de múltiplos repositórios remotos na janela Alterações do Git
  • Veja mensagens de sucesso e erro para comandos do Git na parte superior da janela do repositório Git
  • Criar uma nova ramificação a partir de um item de trabalho do Azure DevOps
  • Abra um repositório Git a partir de uma lista de seus repositórios locais no menu Git
  • O provedor de controle de origem padrão agora é Git em vez de TFVC
  • Clique uma vez para alternar entre históricos de ramos na janela do Repositório Git
  • Visualize e selecione a partir de uma lista de soluções no Gerenciador de Soluções depois de abrir um repositório
  • Modifique a visualização do histórico e procure confirmações por meio de uma barra de ferramentas na janela do repositório Git
  • Buscar, puxar e empurrar das seções de confirmações de entrada e saída no gráfico de histórico de uma ramificação
  • Seja solicitado a criar um pull request depois de enviar uma ramificação para o repositório remoto.
  • Exibir nomes de ramificações nos comandos mesclar e rebasear no menu de contexto da lista de ramificações
  • Acesse os comandos do Git através do menu de contexto no Gerenciador de Soluções e no Editor
  • Observe o progresso do clone numa nova caixa de diálogo modal com a opção de mover o processo para o plano de fundo.

IntelliCode:

  • Obtenha conclusões personalizadas do IntelliCode na documentação do Visual Studio
  • Mantenha as suas sugestões de conclusão do IntelliCode atualizadas com a sua base de código e partilhe como parte do fluxo de trabalho de CI da sua equipa na documentação

Produtividade do .NET:

  • Os analisadores Roslyn agora estão incluídos no SDK do .NET 5.0
  • Refatoração que introduz a nova sintaxe de correspondência de padrões C# 9 not quando está presente um operador de supressão
  • Refatoração de método inline para ajudar a substituir usos de métodos estáticos, de instância e de extensão dentro de um único corpo de instruções.
  • Correção de código para converter instâncias de typeof para nameof em C# e GetType para NameOf em Visual Basic
  • Suporte em C# e Visual Basic para dicas de nome de parâmetro em linha que insere indicações para literais, literais convertidos e instâncias de objetos antes de cada argumento em chamadas de função
  • Refatoração que extrai membros de uma classe selecionada para uma nova classe base em C# e Visual Basic
  • A limpeza de código tem novas opções de configuração que podem aplicar preferências de formatação e cabeçalho de arquivo definidas em seu arquivo EditorConfig em um único arquivo ou em uma solução inteira
  • Correção de código para remover a in palavra-chave onde o argumento não deve ser passado por referência
  • Refatoração que introduz os novos combinadores de padrões C#9 e sugestões de correspondência de padrões, como converter == para utilizar is quando aplicável
  • Correção de código para tornar uma classe abstrata quando você está tentando escrever um método abstrato em uma classe que não é abstrata
  • A conclusão do IntelliSense em literais de strings DateTime e TimeSpan aparece automaticamente quando a primeira aspa é introduzida.
  • Correção de código para remover pragma suppressions e SuppressMessageAttributes desnecessários.
  • Rename e Find All References compreendem referências a símbolos dentro da cadeia de caracteres global de destino SuppressMessageAttributes
  • ByVal desaparece para dizer que não é necessário junto com uma correção de código para remover o ByVal desnecessário no Visual Basic
  • Suporte de janela interativa para vários tempos de execução, como .NET Framework e .NET Core.
  • Adicionada uma nova API RegisterAdditionalFileAction que permite que os autores do analisador criem um analisador para arquivos adicionais.

IDE do Visual Studio 2019:

  • Adicione sua conta do Github usando a experiência de gerenciamento de conta
  • Nesta versão, a experiência antiga Localizar em Ficheiros foi descontinuada e todos os utilizadores estão a ser transferidos para a nova experiência. A equipe do Editor está trabalhando com pessoas que deixam comentários na Comunidade de Desenvolvedores que estão enfrentando problemas com a experiência moderna de Localizar em Arquivos.
  • O provedor de publicação ClickOnce agora está disponível para aplicativos de área de trabalho do Windows .NET Core 3.1 e .NET 5.0.

Painel de Detalhes do Teste de Envolvimento do Test Explorer:

  • Agora você pode quebrar o texto no painel Detalhes do Teste do explorador de teste.

Ferramentas XAML (WPF, UWP, & Xamarin.Forms):

  • Melhorias no diagnóstico de falhas de vinculação XAML
  • Configurações de Hot Reload XAML movidas para "Debugging > Hot Reload"
  • População da caixa de ferramentas de pacotes NuGet não referenciados

JavaScript/TypeScript:

  • O depurador JavaScript/TypeScript agora suporta a depuração de trabalhadores de serviço, web workers, iFrames e JavaScript da sua página ao mesmo tempo! Além disso, a nova experiência de depuração adiciona suporte para depurar simultaneamente as suas aplicações de servidor back-end em Node.js e o JavaScript do lado do cliente no navegador. Este recurso ainda é experimental. Você pode habilitar a nova experiência de depuração no menu Opções de depuração
  • Agora você pode acionar refatores em qualquer lugar que eles possam estar disponíveis usando o atalho de ação de código (ctrl + .). Você nem precisa selecionar nenhum texto - o TypeScript agora é inteligente o suficiente para procurar ao redor do cursor as melhores refatorações disponíveis!
  • Agora você pode ajustar quais pacotes o TypeScript procura para conclusão automática de importação. Isso pode levar a melhorias de desempenho em alguns projetos com muitas dependências. Para obter mais detalhes, consulte o TypeScript 4.0 (notas de versão)[https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-0.html]
  • Adicionamos uma mensagem no painel de saída mostrando quais tipos instalamos para suportar o intellisense. Recomendamos adicionar um tsconfig ao seu projeto para personalizar quais tipos são usados.
  • Por favor, note que incluímos o compilador TypeScript 4.0 e o serviço de linguagem

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.

Problemas abordados nesta versão

  • Corrigido um problema em que a compilação no Visual Studio 2019 16.7 com o compilador duplo de 80 bits do compilador Intel C++ emite erros de compilador, impedindo a criação de projetos.
  • Corrigido um problema em que o Teste de Unidade em Tempo Real se recusava a iniciar em alguns cenários.
  • .NET 5.0.RC2 adicionado ao Visual Studio 2019 v16.8 Preview 4
  • Corrigido um bug em que uma operação Git ocasional começava e nunca terminava.
  • Adicionada funcionalidade adicional à criação e conexão do Visual Studio Codespaces.
  • Corrigido um bug que fazia com que o Visual Studio 2019 falhasse ou parasse de responder ao fechar ou navegar para longe das soluções ASP.NET Core.
  • Corrigido um problema em que o sistema de projeto C++ falhava ao carregar após desinstalar e reinstalar o Visual Studio 2019.

Detalhes do que há de novo no Visual Studio 2019 versão 16.8.0

C++

  • As coroutines do C++20 agora são suportadas em /std:c++latest e no <cabeçalho coroutine>. O suporte para o nosso comportamento legado está disponível em <experimental/corotina> e na opção /await.
  • O IntelliSense agora fornece suporte para conceitos< C++20 >e <intervalos> de cabeçalhos, além de renomear e procurar definições de conceito. Há um problema conhecido que esperamos resolver no Preview 4.
  • Nossa STL agora tem suporte para a maioria dos intervalos C++20. Você pode acompanhar nossa progresso no issue no GitHub de ranges.
  • Funções de membro especiais condicionalmente triviais agora são suportadas no MSVC.
  • C11 e C17 agora são suportados nas opções /std:c11 e /std:c17.
  • Melhorias adicionais de STL incluem suporte total para std::atomic_ref, std::midpoint e std::lerp e std::execution::unseq, otimizações para std::reverse_copy e muito mais. Você pode encontrar todas as atualizações em nosso Changelog.
  • Atualizamos a versão do CMake fornecida com o Visual Studio para o CMake 3.18.
  • Nossas ferramentas de análise de código agora suportam o padrão SARIF 2.1: o formato de log de análise estática padrão do setor. Você pode ler mais sobre o formato SARIF na especificação oficial.
  • Ferramentas de compilação ausentes em projetos Linux agora emitirão um aviso na barra de ferramentas e uma descrição clara das ferramentas ausentes na lista de erros.
  • Agora você pode depurar dumps de núcleo do Linux em um sistema Linux remoto ou WSL diretamente do Visual Studio.
  • Para a geração de comentários C++ Doxygen, adicionamos opções adicionais de estilo de comentário (/*! e //!).
  • Anúncios vcpkg adicionais
  • Adicionamos suporte de compilador para lambdas em contextos não avaliados, o que permite que você use lambdas em especificadores decltype.
  • À medida que digita, o linter e as corrigendas estão agora disponíveis no Visual Studio. Configure usando Ferramentas->Opções->Editor de Texto->C/C++->CodeStyle->Linter + Fixups.
Como você digita linter mostrando aviso para usar bit a bit & em vez de lógico && em bools
Como você digita linter

Depurador

Suporte à depuração de core dump do .NET Core no Linux

Depurar dumps de núcleo Linux controlados no Windows tem sido difícil de realizar até agora; isso geralmente significaria configurar outro ambiente Linux que reproduzisse exatamente o ambiente de produção e, em seguida, instalar ferramentas específicas para a análise. Felizmente, com o Visual Studio 2019 16.8 preview 3, você pode simplesmente arrastar e soltar um dump de núcleo Linux gerenciado diretamente em seu IDE e iniciar imediatamente a depuração.

Análise automática do .NET

A programação assíncrona existe há vários anos na plataforma .NET, mas historicamente tem sido difícil de implementar bem. Introduzimos analisadores de despejo de memória gerenciados que ajudam a identificar os seguintes cenários e antipadrões:

  • Sync-over-Async
  • Exaustão do Threadpool

Análise automática de caminho quente de memória .NET e .NET Core

Isso permite que os utilizadores visualizem intuitivamente os tipos de objetos dominantes na sua pilha de memória usando anotações flame na janela Ferramenta de Diagnóstico de Memória.

Falsificações em Projetos com Estilo SDK Geram Problemas de Shim

Ao usar o novo suporte Fakes para projetos de estilo SDK, alguns usuários encontraram o seguinte erro ao gerar calços.

Cannot generate shim for System.DateTime: type is not supported because of internal limitations

Uma correção para isso é lançada no 16.8 Preview 3. Se estiver a utilizar uma versão 16.7.*, pode utilizar a seguinte solução alternativa:

  1. Adicione <FakesUseV2Generation>False</FakesUseV2Generation> a um PropertyGroup no seu arquivo csproj.
  2. Adicione o <Fakes Include="Fakes\*.fakes" /> a um ItemGroup no seu ficheiro csproj.
  3. Adicione uma referência aos assemblies Fakes gerados no ProjectDir/FakesAssemblies.

Você também pode seguir os comentários da comunidade de desenvolvedores para obter atualizações adicionais.

Atualizações do editor Experimental Razor

O novo editor experimental do Razor agora suporta os seguintes recursos de edição do Razor:

  • Lâmpadas Blazor:
    • Extraia para code-behind*:
    • Criar componente a partir da tag*
    • Adicionar diretiva @using ao componente
    • Qualificar completamente o nome da etiqueta do componente
  • Lâmpadas C#
    • Adicionar @using diretiva
    • Nome do tipo totalmente qualificado
  • Formatação melhorada do Razor
  • Renomeie os componentes do Razor na marcação dos ficheiros .razor
  • Ir para a definição de tags de componentes Blazor
  • Coloração de passagem do cursor em C#
  • Colorização da ferramenta de conclusão C#
  • Encontrar todas as referências em arquivos fechados do Razor
  • Preformância e estabilidade de edição Razor melhoradas para grandes projetos e soluções

* Só funciona em cenários Razor locais, ainda não suportados no Visual Studio Codespaces ou Live Share.

Para habilitar o editor experimental do Razor, vá para Tools>Options>Environment>Preview Features, selecione Enable experimental Razor editor e reinicie o Visual Studio.

Visual Studio 2019 IDE

  • Adicione sua conta do GitHub usando a experiência familiar de gerenciamento de contas do Visual Studio. O controle de versão, o terminal integrado e outros recursos poderão aproveitar as credenciais da sua conta para satisfazer as necessidades de autenticação do GitHub.
Sugestões de nomes de parâmetros integrados com GitHub
Adicionando contas do GitHub no Visual Studio
  • O provedor de publicação ClickOnce agora está disponível para aplicativos de área de trabalho do Windows .NET Core 3.1 e .NET 5.0. Para começar, clique com o botão direito do mouse no projeto no Gerenciador de Soluções e selecione Publicar ou selecione o menu Build > Publish <AppName> . ClickOnce pode ser encontrado na categoria de pasta.
Sugestões de nomes de parâmetros em linha com a Imagem do GitHub
Provedor de publicação ClickOnce no Visual Studio

Produtividade Git

  • Criar uma nova ramificação a partir de um item de trabalho do Azure DevOps
Criar uma nova ramificação a partir de um item de trabalho do Azure DevOps
Criar uma nova ramificação a partir de um item de trabalho
  • Abra um repositório Git a partir de uma lista de seus repositórios locais no menu Git
Lista de repositórios locais
Lista de repositórios locais no menu Git
  • O provedor de controle de origem padrão agora é Git em vez de TFVC, que você pode alterar de Ferramentas - Opções - Controle do código-fonte

  • Clique uma vez para alternar entre históricos de ramos na janela do Repositório Git

  • Visualize e selecione a partir de uma lista de soluções em seu repositório no Gerenciador de Soluções depois de abrir um repositório

Alternar o recurso de visualização para mostrar a lista de visualizações ao abrir um repositório
Alternar a funcionalidade de pré-visualização para mostrar a lista de vistas ao abrir um repositório
Lista de modos de exibição no Gerenciador de Soluções
Lista de Vistas no Explorador de Soluções

Produtividade .NET

  • Os analisadores da plataforma de compilador .NET (Roslyn) inspecionam seu código C# ou Visual Basic em busca de segurança, desempenho, design e outros problemas. A partir do .NET 5.0, esses analisadores estão incluídos no SDK do .NET. Os analisadores são habilitados, por padrão, para projetos destinados ao .NET 5.0 ou posterior. Você pode habilitar a análise de código em projetos destinados a versões anteriores do .NET definindo a propriedade EnableNETAnalyzers como true. Você pode desabilitar a análise de código para seu projeto definindo EnableNETAnalyzers como false. Você também pode usar a janela Propriedades do projeto para habilitar/desabilitar analisadores .NET. Para acessar a janela Propriedades do projeto , clique com o botão direito do mouse em um projeto no Gerenciador de Soluções e selecione Propriedades. Em seguida, selecione a guia Análise de código , onde você pode marcar ou desmarcar a caixa de seleção para Habilitar analisadores .NET.
Janela de Propriedades do Projeto para ativar os Analisadores .NET
Janela Propriedades do projeto para habilitar os analisadores .NET
  • Agora, há uma refatoração que introduz a nova sintaxe de correspondência de padrões do C# 9 not quando está presente um operador de supressão. Coloque o cursor sobre o operador de supressão. Pressione (Ctrl+.) para acionar o menu Ações rápidas e refatoração . Selecione Usar correspondência de padrões.
Refatoração introduzindo sintaxe sem correspondência de padrões do C# 9
Refatoração introduzindo C# 9 não sintaxe de correspondência de padrão
  • Agora existe uma refatoração de métodos inline que ajuda a substituir os usos de métodos estáticos, de instância e de extensão dentro de um único bloco de código, com a opção de remover a declaração original do método. Coloque o cursor sobre o uso do método. Pressione (Ctrl+.) para acionar o menu Ações rápidas e refatoração . Em seguida, selecione uma das seguintes opções:

Selecione Inline <QualifiedMethodName> para remover a declaração do método embutido:

Refatoração de método embutido removendo declaração
Refatoração de método embutido removendo declaração

Selecione Inline e keep <QualifiedMethodName> para preservar a declaração de método original:

Refatoração de método embutido preservando declaração
Refatoração de método em linha preservando declaração
  • Criar um novo arquivo C# ou Visual Basic a partir de um modelo respeita as configurações de estilo de código EditorConfig . Os seguintes estilos de código serão aplicados automaticamente ao criar novos arquivos: cabeçalhos de arquivo, classificar usando diretivas e colocar usando diretivas dentro/fora de namespaces.

  • Agora há suporte a C# e Visual Basic para dicas de nome de parâmetro embutido que insere adornos para literais, literais convertidos e instanciações de objeto antes de cada argumento em chamadas de função. Primeiro, você precisará ativar essa opção em Ferramentas>Opções>Editor de Texto>C# ou Básico>Avançado e selecionar Exibir dicas de nome de parâmetro embutido (experimental). As dicas de nome de parâmetro inline aparecerão no arquivo C# ou Visual Basic.

Sugestões de nomes de parâmetros em linha
Dicas de nome de parâmetro em linha
  • Agora poderá extrair membros de uma classe selecionada para uma nova classe base com a nova funcionalidade de refatoração Extract Base Class. Coloque o cursor sobre o nome da classe ou um membro realçado. Pressione (Ctrl+.) para acionar o menu Ações rápidas e refatoração . Selecione Mover membro(s) para uma nova classe base. A nova caixa de diálogo Extrair Classe Base será aberta, onde você poderá especificar o nome da classe base e o local de onde ela deve ser colocada. Você pode selecionar os membros que deseja transferir para a nova classe base e optar por tornar os membros abstratos marcando a caixa de seleção na coluna Criar abstrato.
Extrair classe base
Extrair classe base

Depois de selecionar Ok , você verá a nova classe base adicionada junto com seus membros.

Para C#, selecione Converter typeof em nameof:

Converter typeof em nameof
Converter typeof em nameof

Para Visual Basic, selecione Converter GetType em NameOf:

Converter GetType em NameOf
Converter GetType em NameOf
  • A limpeza de código tem novas opções de configuração que podem aplicar preferências de formatação e cabeçalho de arquivo definidas no arquivo EditorConfig em um único arquivo ou em uma solução inteira.
Suporte à formatação e ao cabeçalho de ficheiro na limpeza de código
Suporte à Formatação e Cabeçalho de Arquivo na Limpeza de Código
  • Agora há uma correção de código para remover a in palavra-chave onde o argumento não deve ser passado por referência. Coloque o cursor sobre o erro. Pressione (Ctrl+.) para acionar o menu Ações rápidas e refatoração . Selecione Remover a palavra-chave 'in'.
Remover palavra-chave na correção de código
Remover correção de código da palavra-chave 'in'
  • Existe agora uma refatoração que introduz os novos combinadores de padrão C#9. Juntamente com as sugestões de correspondência de padrões, como a conversão de == para usar is quando aplicável, essa correção de código também sugere os combinadores de padrão and, or e not ao combinar e negar vários padrões diferentes. Coloque o cursor dentro da declaração. Pressione (Ctrl+.) para acionar o menu Ações rápidas e refatoração . Selecione Usar correspondência de padrões.
Introduza combinadores de padrão C#9
Introduza combinadores de padrão C#9
  • Agora há uma correção de código para tornar uma classe abstrata quando você está tentando escrever um método abstrato em uma classe que não é abstrata. Coloque o cursor sobre o erro de método. Pressione (Ctrl+.) para acionar o menu Ações rápidas e refatoração . Selecione Tornar classe 'abstrata'.
Fazer resumo de aula
Fazer resumo de aula
  • Na versão 16.7 Preview 1, adicionámos o completamento do IntelliSense para literais de cadeia de caracteres em DateTime e TimeSpan. Nesta versão, essa lista de conclusão aparece automaticamente quando a primeira cotação é digitada. No passado, era necessário digitar (Ctrl+espaço) para exibir essa lista de conclusão. Coloque o cursor dentro da cadeia de caracteres DateTime ou TimeSpan literal e digite a primeira aspa dupla. 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.
Preenchimento Automático do IntelliSense em Literais de Sequência DateTime e TimeSpan
Conclusão do IntelliSense em literais de DateTime e TimeSpan
Essa melhoria também funciona para cadeias de caracteres interpoladas quando você digita dois pontos
Essa melhoria também funciona para cadeias de caracteres interpoladas quando você digita dois pontos
  • Agora há uma correção de código para remover supressões de pragma desnecessárias e desnecessárias SuppressMessageAttributes. Coloque o cursor sobre o aviso de pragma ou o SuppressMessageAttribute. Pressione (Ctrl+.) para acionar o menu Ações rápidas e refatoração . Selecione Remover supressão desnecessária.
Remover Pragmas Desnecessários
Remover Pragmas Desnecessários
Remover SuppressMessageAttributes desnecessários
Remover AtributosSuppressMessage desnecessários
  • Renomear e Localizar Todas as Referências agora entende referências a símbolos na string alvo de supressões globais SuppressMessageAttribute.
Renomear SuppressMessageAttribute
Renomear SuppressMessageAttribute
Localizar todas as referências para SuppressMessageAttribute
Localizar todas as referências para SuppressMessageAttribute
  • Visual Basic tinha várias maneiras de passar parâmetros, ByVal e ByRef, e por um longo tempo ByVal tem sido opcional. Agora desvanecemos ByVal para dizer que não é necessário, juntamente com uma correção de código para remover o ByVal desnecessário. Coloque o cursor sobre a palavra-chave ByVal . Pressione (Ctrl+.) para acionar o menu Ações rápidas e refatoração . Selecione a palavra-chave 'ByVal' é desnecessária e pode ser removida.
Visual Basic Remover ByVal Refactoring
Visual Basic Eliminar ByVal Refactoring
  • Agora há suporte a janelas interativas para vários tempos de execução, como .NET Framework e .NET Core.
Suporte a janelas interativas no .NET Core
Suporte a janelas interativas no .NET Core
  • Há uma nova API RegisterAdditionalFileAction que permite que os autores do analisador criem um analisador para arquivos adicionais.

Painel de Envolvimento dos Detalhes do Teste no Test Explorer

Este recurso altamente solicitado permite que o usuário selecione quebra automática de texto ou deixe o alinhamento de linha de texto padrão. Quando o alinhamento do texto não é necessário, a quebra automática pode tornar o feedback de uma execução de teste muito mais fácil de visualizar e elimina a necessidade de uma barra de rolagem horizontal. Você pode habilitar isso no menu de configurações do Gerenciador de Testes ou no menu de contexto do Painel de Resumo.

Encapsular detalhes do teste no menu Configurações de teste
Menu de configurações de teste
Encapsular detalhes do teste no menu de contexto do botão direito do mouse
Encapsular detalhes do teste no menu de contexto do botão direito do mouse

Ferramentas XAML (WPF, UWP, & Xamarin.Forms)

Melhorias no diagnóstico de falhas de vinculação XAML

Os desenvolvedores que trabalham em projetos WPF, UWP, WinUI e Xamarin.Forms geralmente devem detetar e resolver falhas de vinculação de dados XAML em seus aplicativos. Para melhorar as ferramentas de diagnóstico neste cenário, adicionamos duas novas experiências ao Visual Studio 2019 versão 16.8 ou mais recente:

  • Ícone do Indicador de Falha de Vinculação XAML: um novo ícone do indicador de falha de vinculação XAML agora está presente na barra de ferramentas dentro do aplicativo para projetos WPF e UWP e na "Live Visual Tree" para todos os projetos XAML, incluindo Xamarin.Forms. Este ícone mostrará um indicador vermelho se pelo menos uma falha de ligação for detetada. Clicar no ícone também o levará à nova janela Falhas de Vinculação XAML.
Ícone de erro de ligação (barra de ferramentas da aplicação)
Ícone de Erro de Vinculação (barra de ferramentas do aplicativo)
  • Janela Falhas de Vinculação XAML: a nova janela Falhas de Vinculação XAML agora está disponível para projetos WPF, UWP, WinUI e Xamarin.Forms. Essa nova experiência dedicada fornece uma interface de usuário rica sobre as informações de falha de vinculação que antes só estavam disponíveis na janela de saída. As melhorias incluem a capacidade de ver as falhas como um conjunto de colunas que podem ser classificadas, personalizadas e totalmente pesquisáveis. Também agrupamos erros semelhantes, limitando o ruído que pode ocorrer durante certas falhas de modelos de vinculação de dados, ao mesmo tempo em que disponibilizamos todas as informações de erro brutas originais e facilmente copiáveis através de uma opção de menu do botão direito do mouse. (nota: requer Xamarin versão 4.5.0.266-pre3 ou superior)
  • Navegar para a Origem das falhas de associação: Em parceria com a equipa do WPF, habilitámos a capacidade de navegar para a origem de uma falha de associação para os clientes que visam o WPF no .NET 5 (RC2 ou mais recente).
Janela de Erro de Vinculação XAML & Ícone LVT
Janela de erro de ligação XAML e ícone LVT

Recarga a quente XAML

  • Xamarin.Forms "somente alterações" O XAML Hot Reload agora oferece suporte à UWP: nesta versão, começamos a implementar o suporte para um recurso altamente solicitado que habilita as novas alterações somente o suporte a Hot Reload XAML em Projetos Xamarin.Forms ao direcionar UWP. Observe que esse recurso ainda está em desenvolvimento e, enquanto a edição do XAML agora acionará atualizações no aplicativo em execução, outros recursos, como a barra de ferramentas no aplicativo (seleção de elementos, etc.) ainda não estão totalmente implementados, mas estarão em uma versão futura.
  • Configurações do XAML Hot Reload movidas para "Debugging > Hot Reload": Nesta versão, consolidamos as configurações do XAML Hot Reload em WPF, UWP e Xamarin.Forms numa tela de configurações unificada em "Debugging > Hot Reload". Também habilitamos, pela primeira vez, a capacidade de desabilitar ou habilitar o XAML Hot Reload por plataforma para oferecer controle total de quando esse recurso está disponível. (Observação: nenhuma configuração será alterada durante esta migração, portanto, todas as suas opções existentes continuarão em vigor logo abaixo deste novo local)
Configurações consolidadas de Hot Reload XAML
Configurações consolidadas de Hot Reload XAML

Editor de código XAML:

  • Suporte a WinUI 3.0 IntelliSense: Nesta versão, habilitamos um melhor suporte ao IntelliSense para desenvolvedores que criam aplicativos usando o novo WinUI 3.0 preview 3 ou mais recente. Para saber mais sobre a WinUI 3.0, consulte a documentação e forneça comentários, visite o repositório GitHub XAML da interface do usuário do Windows. Nota: A visualização mais recente do WinUI 3.0 é recomendada no 16.9 Preview 1 para a experiência de ferramentas atualizada.
  • Melhorando o suporte a MVVM: Ao criar um documento XAML, você pode definir d:DataContext para obter uma vinculação precisa do IntelliSense para o documento XAML. No passado, especificar manualmente o tipo de contexto de dados era complicado; você tinha que sair do documento XAML, encontrar o tipo de modelo de exibição desejado, copiar e colar seu namespace e nome na declaração d:DataContext. Nesta versão, estamos introduzindo um novo recurso que permite que você declare rapidamente um d:DataContext por meio de uma lâmpada que sugere possíveis candidatos a modelos de visualização.
XAML IntelliSense para MVVM d:DataContext
XAML IntelliSense para MVVM d:DataContext

Extensibilidade

  • População da caixa de ferramentas de pacotes NuGet não referenciados: Nesta versão, adicionamos suporte para arquivos de VisualStudioToolsManifest.xml específicos do TargetFrameworkMoniker ao preencher o Toolbox com controles de pacotes NuGet não referenciados. Assim, por exemplo, seu pacote pode expor diferentes conjuntos de controles para projetos .NET Core 3.1 e .NET 5.0.

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.