Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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
- 09 de março de 2021 — Visual Studio 2019 versão 16.8.7
- 22 de fevereiro de 2021 — Visual Studio 2019 versão 16.8.6
- 09 de fevereiro de 2021 — Visual Studio 2019 versão 16.8.5
- 12 de janeiro de 2021 — Visual Studio 2019 versão 16.8.4
- 08 de dezembro de 2020 — Visual Studio 2019 versão 16.8.3
- 19 de novembro de 2020 — Visual Studio 2019 versão 16.8.2
- 12 de novembro de 2020 — Visual Studio 2019 versão 16.8.1
- 10 de novembro de 2020 — Visual Studio 2019 versão 16.8.0
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:
- Visual Studio 2019 v16.9 Preview 3 já está disponível!
- Visual Studio 2019 v16.9 Preview 2 e desejos de Ano Novo chegando até você!
- Visual Studio 2019 v16.8 e v16.9 Preview disponível hoje
- Novos recursos no Visual Studio 2019 v16.8 Preview 3.1
- Visual Studio 2019 v16.8 Preview 2 lança novos recursos hoje!
- Visual Studio 2019 v16.7 e v16.8 Preview 1 são lançados hoje!
- Visual Studio 2019 v16.7 Preview 2 disponível hoje!
- Novas atualizações empolgantes para a experiência do Git no Visual Studio
- Lançamento hoje! Visual Studio 2019 v16.6 & v16.7 Pré-visualização 1
- Visual Studio 2019 versão 16.6 Preview 2 lança novos recursos do seu jeito
- Visual Studio 2019 versão 16.5 já está disponível!
- É a época do lançamento do Visual Studio 2019 v16.4
- Visual Studio 2019 v16.4 Preview 2, Fall Sports e Pumpkin Spice
- Suporte ao .NET Core e muito mais no Visual Studio 2019 versão 16.3 - Atualize agora!
- Visual Studio 2019 versão 16.3 Preview 2 e Visual Studio 2019 para Mac versão 8.3 Preview 2 Lançados!
- Visual Studio 2019 versão 16.2 e 16.3 Preview 1 já está disponível
- Visual Studio 2019 versão 16.2 Preview 2
- Visual Studio 2019 versão 16.1 e Preview 16.2 Preview
- Visual Studio 2019: Código mais rápido. Trabalhe de forma mais inteligente. Crie o futuro.
Consulte esta lista completa de todos os itens da Comunidade de Desenvolvedores obtidos no Visual Studio 2019 versão 16.8
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.
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
- Corrigido um bug de alta prioridade que impedia os desenvolvedores de enviar código para o Azure Functions ou outros recursos do Azure do Visual Studio 2019.
- VS 16.8.5 Criar um repositório Git - Criar um novo repositório GitHub - PUBLIC (opção privada desmarcada) - FAIL
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
- Corrigido um problema em que .sqlproj não estava sendo atualizado com alterações.
- O Visual Studio 2019 falha com falhas OOM em soluções Chromium.
- Bug no compilador de otimização do Visual Studio 2019 versão 16.7.6
- Visual Studio falha ao adicionar novo item -> tabela em um projeto de banco de dados.
- VSDIIUnregisterServer está retardando o Visual Studio 2019.
- Falha inesperada do Visual Studio 2019 ao encaixar ou dividir janelas.
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
- Após a atualização 16.8, estamos a receber muitos erros de análise de código, apesar de certas regras estarem configuradas para aviso
- Um aplicativo .NET Core 3.1 ou .NET 5.0 instalado pelo ClickOnce pode falhar ao iniciar após ser instalado.
- C33005 falso positivo com _variant_t
- Bug na operação de confirmação e mesclagem do Git
- Não é possível visualizar informações de tarefas ou pilhas paralelas com net5.0-windows* TFM
- Clicar em atualizar no SQL Schema Compare não salva as alterações no arquivo sqlproj
- Projeto de banco de dados: Arrastar um arquivo do gerenciador de soluções para um aberto é excluir o arquivo do sistema de arquivos!
- O treinamento do modelo Intellicode falha no Visual Studio 2019
- Falha ao abrir sessões de colaboração do LiveShare
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
- O nome do evento deve ter pelo menos três partes separadas por uma barra
- A personalização da barra de ferramentas não é mantida
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
- KeyNotFoundException relatado por SolutionAssetStorage.GetAssetAsync resulta em barra de ouro
- O IntelliSense falha porque a compilação em tempo de design não consegue localizar o alvo 'GetClCommandLineForReference'
- IOException (Canal está quebrado) relatado por GetAssetAsync
- A pesquisa não está a funcionar
- O otimizador removeu incorretamente as informações de EH causando falhas em algumas exceções
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.
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.objpara 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.
- 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:
- 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
- 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
notquando 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
typeofparanameofem C# eGetTypeparaNameOfem 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
inpalavra-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 utilizarisquando 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 suppressionseSuppressMessageAttributesdesnecessários. -
RenameeFind All Referencescompreendem referências a símbolos dentro da cadeia de caracteres global de destinoSuppressMessageAttributes - 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.
- 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.
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:
- Adicione <FakesUseV2Generation>False</FakesUseV2Generation> a um PropertyGroup no seu arquivo csproj.
- Adicione o <Fakes Include="Fakes\*.fakes" /> a um ItemGroup no seu ficheiro csproj.
- 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
@usingao componente - Qualificar completamente o nome da etiqueta do componente
- Lâmpadas C#
- Adicionar
@usingdiretiva - Nome do tipo totalmente qualificado
- Adicionar
- 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.
- 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.
Produtividade 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, 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
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.
- Agora, há uma refatoração que introduz a nova sintaxe de correspondência de padrões do C# 9
notquando 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.
- 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:
Selecione Inline e keep <QualifiedMethodName> para preservar a declaração de método original:
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.
- 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.
Depois de selecionar Ok , você verá a nova classe base adicionada junto com seus membros.
- Agora há uma correção de código para converter instâncias de typeof(
<QualifiedType>). Nome para nameof(<QualifiedType>) em C# e instâncias de GetType(<QualifiedType>). Nome para NameOf(<QualifiedType>) no Visual Basic. Usar nameof em vez do nome do tipo evita os reflexos envolvidos ao recuperar um objeto. Coloque o cursor dentro do typeof(<QualifiedType>). Nome. Pressione (Ctrl+.) para acionar o menu Ações rápidas e refatoração . Em seguida, selecione uma das seguintes opções:
Para C#, selecione Converter typeof em nameof:
Para Visual Basic, selecione 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.
- Agora há uma correção de código para remover a
inpalavra-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'.
- 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 usarisquando aplicável, essa correção de código também sugere os combinadores de padrãoand,orenotao 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.
- 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'.
- 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.
- 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 oSuppressMessageAttribute. Pressione (Ctrl+.) para acionar o menu Ações rápidas e refatoração . Selecione Remover supressão desnecessária.
-
Renomear e Localizar Todas as Referências agora entende referências a símbolos na string alvo de supressões globais
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.
- Agora há suporte a janelas interativas para vários tempos de execução, como .NET Framework e .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.
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.
- 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).
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)
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.
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
- Não é possível compilar aplicativos WPF destinados ao .NET 5
- Usando msbuild.exe da linha de comando para Xamarin.iOS, trava após a conclusão
- A desativação do IntelliCode 2.2.733.31896 provoca falha no TypeScript 3.x devido a um CompositionFailedException ao editar um arquivo .ts
- O Intellisense do Typescript não para de falhar
- VS2019 C++ - Código inválido gerado com o Otimize
- Tarefas de fundo relatam intermináveis «C/C++ IntelliSense operação em progresso»
- Erro do WPF Designer: O caminho do nó calculado é inválido -- null:Window-Grid>
- Processo do Visual Studio 16.8.0 Preview 4 desaparece
- Rolar pela janela Configurações de exceção faz com que o VS falhe
- O macro USE_ATL_THUNK2 de atlstdthunk.h não pode ser indefinido
- Falhas frequentes do Visual Studio Community 2019 16.7.x
- Ir para o Gerenciador de Pacotes NuGet faz com que o Visual Studio falhe
- ASAN com AVX2 relata estouro de buffer de pilha
- Não é possível fechar o VisualStudio - Não é possível acessar um objeto descartado
- Foi encontrada uma exceção do tipo NullReferenceException.
- Problemas de modelo do Visual Basic Analyzer
- VS falha ao digitar .cs arquivo
- Novas verificações de variantes na análise de código C++ (VS 2019 Update 8 Preview 3) não ocorrem/funcionam
- Abrir uma solução C++ com arquivos de dependência externa faz com que essas guias de arquivo de dependência externa mostrem "Ocorreu um erro em..."
- Compilações C++ com o Windows SDK 8.1 falham após a atualização para o Visual Studio 16.7
- ARM64 C++: regressão 16.4 -> 16.5+.
- csproj foi alterado no disco. Feche o editor e reabra-o
- ServiceHub.Host.CLR.x64 parou de funcionar
- ASAN x64 - CMake não parece ser suportado
- A compilação de C++ do VS2019 WSL falha intermitentemente quando "Max Parallel Compilation Jobs" é definido para o número de processadores disponíveis
- A reconstrução do projeto remove toda a pasta de saída (compilação remota)
- O VS2019 ainda limpa o diretório CMakeBuild cada vez que toco CMakeFiles.txt ou CMakeSettings.json
- Falha ao carregar IntelliCodeCppPackage
- Erro de compilação na configuração WSL do projeto CMake causado pelo prefixo "/mnt/"
- CMake : As variáveis de ambiente criadas no CMakeSettings.json não foram mais expandidas desde a atualização para o VS 16.7
- A comparação de esquema não avalia variáveis SQLCMD ao comparar o DACPAC com o código-fonte do projeto
- A separação entre compilação e depuração não deve distribuir arquivos .o
- O módulo com partição não é compilado
- Receba a mensagem "Trabalhando nisso" ao alternar para uma aba
- Depurador do Visual Studio 2019 Confuso devido a várias variáveis com o mesmo nome
- Destaques do delimitador literal de cadeia de caracteres após colchetes
- Não é possível definir uma corrotina com um promise_type que não é construível por defeito
- C/C++ IntelliSense: Nenhuma lista de membros aparece depois de digitar var. após um operador aritmético em arquivos C
- As referências do Codelens não são atualizadas ao fazer alterações de código em outro arquivo
- Go To Definition vai para std::function constructor em vez da classe do lambda arg
- HLSL Shader Compiler falha ao criar diretório de saída para arquivos de cabeçalho
- erro inesperado C2027: uso de tipo indefinido ao usar templates com /permissive
- D9025: substituindo '/sdl-' por '/GS-'
- constexpr parece não gostar de referência ao ponteiro
- O documento já está aberto como um projeto ou uma solução e não pode ser aberto em um editor no momento.
- A cobertura na expressão do interruptor caiu em 16,7
- Aviso C5045 disparando mesmo estando desativado
- Não é possível arquivar Xamarin.Forms para iOS!
- CImage::Draw() tem chamada ambígua para DrawImage() em 16.7.0 Preview1
- Visualizações ausentes ao carregar um projeto "Abrir pasta" com o ícone da barra de tarefas fixada
- C++: compilador seleciona candidato de sobrecarga errado
- Não é possível criar um novo projeto VB VSIX com o CodeFix
- VS2019: Localizar resultados não usando configurações de fonte/cor
- Editar o arquivo .editorconfig em uma solução grande torna o editor dolorosamente lento, alto uso de CPU e RAM, às vezes trava
- Ctrl+F Os resultados da pesquisa são mostrados como texto, mas quero ver os resultados na nova janela de resultados de pesquisa estruturada
- O botão Publicar não está visível
- Guardar não guarda
- Não é permitido o nome da solução/projeto com mais de 60 caracteres.
- Você tem disponível uma nova mensagem de licença para o Visual Studio Enterprise 2019.
- A visualização Git com modo escuro não está parecendo correta.
- O Visual Studio 2019 falha ao fazer a análise de código em segundo plano e não recupera arquivos.
- Falha ao adicionar a conta de desenvolvedor da Apple com autenticação de dois fatores.
- Dobrar expressão em noexcept gera um erro de sintaxe.
- Barra dourada após exceção RPC em StreamPipeReader.AdvanceTo: Nenhuma operação de leitura para concluir.
- Projeto do SQL Server falhando ao editar colunas usando o painel de design.
- Visual Studio 2019 Preview: o repositório ssh+git:// não solicita credenciais, mas relata erros.
- Std::enable_if não remove o operador de conversão do conjunto de sobrecarga.
- A página de solicitação pull está quebrada.
- Problema de SFINAE do enable_if_t
- Std::condition_variable::wait_for(0) não desbloqueia o bloqueio
- Obter o endereço de um temporário não é detetado pelo compilador.
- NullPointerException é lançado quando se renomeia uma classe juntamente com o ficheiro do símbolo.
Problemas conhecidos
Veja todos os problemas em aberto e soluções alternativas disponíveis no Visual Studio 2019 seguindo o link abaixo.
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.
Visual Studio 2019 versão 16.8 Notas de versão