Notas sobre a versão do Visual Studio 2019 versão 16.0
Developer Community | Requisitos do sistema | Compatibilidade | Código distribuível | Histórico de versões | Termos de licença | Blogs | Novidades da documentação do Visual Studio
Observação
Esta não é a versão mais recente do Visual Studio. Para baixar a última versão, acesse o site do Visual Studio.
Novidades no Visual Studio 2019 versão 16.0
Período de suporte
O Visual Studio 2019 versão 16.0 não tem mais suporte.
Os usuários Enterprise e Professional do Visual Studio 2019 versão 16.0 tinham suporte e receberam correções de vulnerabilidades de segurança até janeiro de 2021. Esse período foi determinado pelo fato de que, em dezembro de 2019, o Visual Studio 2019 versão 16.4 foi designado como a próxima linha de base de serviço do produto Visual Studio 2019. 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.
Veja a última versão das notas sobre a versão ou acesse o site do Visual Studio para baixar a última versão com suporte do Visual Studio 2019.
Lançamento das versões do Visual Studio 2019 versão 16.0
- 12 de janeiro de 2021 – (Versão final) Visual Studio 2019 versão 16.0.22
- 8 de dezembro de 2020 – Visual Studio 2019 versão 16.0.21
- 10 de novembro de 2020 – Visual Studio 2019 versão 16.0.20
- 13 de outubro de 2020 – Visual Studio 2019 versão 16.0.19
- 8 de setembro de 2020 – Visual Studio 2019 versão 16.0.18
- 11 de agosto de 2020 – Visual Studio 2019 versão 16.0.17
- 14 de julho de 2020 – Visual Studio 2019 versão 16.0.16
- 9 de junho de 2020 – Visual Studio 2019 versão 16.0.15
- 12 de maio de 2020 – Visual Studio 2019 versão 16.0.14
- 14 de abril de 2020 – Visual Studio 2019 versão 16.0.13
- 10 de março de 2020 – Visual Studio 2019 versão 16.0.12
- 14 de janeiro de 2020 – Visual Studio 2019 versão 16.0.11
- 10 de dezembro de 2019 – Visual Studio 2019 versão 16.0.10
- 15 de outubro de 2019 – Visual Studio 2019 versão 16.0.9
- 10 de setembro de 2019 – Visual Studio 2019 versão 16.0.8
- 13 de agosto de 2019 – Visual Studio 2019 versão 16.0.7
- 9 de julho de 2019 – Visual Studio 2019 versão 16.0.6
- 11 de junho de 2019 – Visual Studio 2019 versão 16.0.5
- 14 de maio de 2019 – Visual Studio 2019 versão 16.0.4
- 30 de abril de 2019 – Visual Studio 2019 versão 16.0.3
- 18 de abril de 2019 – Visual Studio 2019 versão 16.0.2
- 9 de abril de 2019 – Visual Studio 2019 versão 16.0.1
- 2 de abril de 2019 – Visual Studio 2019
Blog do Visual Studio 2019
O Blog do Visual Studio 2019 é a fonte oficial de ideias do produto da equipe de engenharia do Visual Studio. É possível encontrar informações detalhadas sobre as versões do Visual Studio 2019 aqui.
Visual Studio 2019 versão 16.0.22
lançada em 12 de janeiro de 2020
Aviso de Consultoria de Segurança da versão 16.0.22
CVE-2021-1651 / CVE-2021-1680 Vulnerabilidade de elevação de privilégio do serviço de coletor padrão do Hub de Diagnóstico
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 de código remoto 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.
Visual Studio 2019 versão 16.0.21
lançado em 08 de dezembro de 2020
Aviso de Consultoria de Segurança da versão 16.0.21
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.
Visual Studio 2019 versão 16.0.20
lançada em 10 de novembro de 2020
Aviso de Consultoria de Segurança da versão 16.0.20
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.
Visual Studio 2019 versão 16.0.19
lançado em 13 de outubro de 2020
Nesta versão de 16.0.19
- O SDK do .NET Code 2.1.616 foi adicionado ao Visual Studio 2019.
Visual Studio 2019 versão 16.0.18
lançada em 8 de setembro de 2020
Problema corrigido na versão 16.0.18
- 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.
Aviso de Consultoria de Segurança da versão 16.0.18
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.
Visual Studio 2019 versão 16.0.17
lançado em 11 de agosto de 2020
Problema corrigido na versão 16.0.17
Aviso de Consultoria de Segurança da versão 16.0.17
CVE-2020-1597 Vulnerabilidade de negação de serviço do ASP.NET Core
Há uma vulnerabilidade de negação de serviço quando o ASP.NET Core manipula solicitações Web incorretamente. Um invasor que explorasse com êxito essa vulnerabilidade poderia causar uma negação de serviço em relação a um aplicativo Web do ASP.NET Core. A vulnerabilidade pode ser explorada remotamente, sem autenticação.
Visual Studio 2019 versão 16.0.16
lançado em 14 de julho de 2020
Problemas corrigidos na versão 16.0.16
- Correção da regressão de CodeGen do compilador para chamar uma função virtual com a v15.9
- Corrigido um bug nas importações ausentes do vinculador C++ ao usar LIBs abrangentes com diferença no uso de maiúsculas no sufixo do nome da DLL.
- Corrigido um bug no compilador ARM64 C++ no qual os valores errados podiam ser restaurados após o setjmp.
Aviso de Consultoria de Segurança da versão 16.0.16
CVE-2020-1393 Vulnerabilidade de elevação de privilégio do serviço de coletor padrão do Hub de Diagnóstico
Havia uma vulnerabilidade de elevação de privilégio quando o Serviço de Coletor Padrão do Hub de Diagnóstico do Windows falhava ao limpar a entrada corretamente, levando a um comportamento de carregamento de biblioteca inseguro.
CVE-2020-1416 Vulnerabilidade de elevação de privilégio do Visual Studio
Havia uma vulnerabilidade de elevação de privilégio no Visual Studio ao carregar dependências de software.
CVE-2020-1147 Vulnerabilidade de negação de serviço do .NET Core
Um invasor não autenticado remoto poderia explorar essa vulnerabilidade emitindo solicitações especialmente criadas para um aplicativo ASP.NET Core ou outro aplicativo que analisa determinados tipos de XML. A atualização de segurança resolve a vulnerabilidade, restringindo os tipos que podem estar presentes no conteúdo XML.
Visual Studio 2019 versão 16.0.15
lançado em 9 de junho de 2020
Problemas corrigidos na versão 16.0.15
Aviso de Consultoria de Segurança da versão 16.0.15
CVE-2020-1108 / CVE-2020-1108 Vulnerabilidade de negação de serviço do .NET Core
Para abordar a CVE-2020-1108 de maneira abrangente, a Microsoft lançou atualizações para o .NET Core 2.1 e o .NET Core 3.1. Os clientes que usam qualquer uma dessas versões do .NET Core devem instalar a versão mais recente dele. Confira as Notas sobre a versão para obter os números de versão mais recentes e as instruções de atualização do .NET Core.
CVE-2020-1202 / CVE-2020-1203 Vulnerabilidade de elevação de privilégio do serviço de coletor padrão do Hub de Diagnóstico
Existe uma vulnerabilidade de elevação de privilégio quando o Coletor Padrão do Hub de Diagnóstico ou o Coletor Padrão do Visual Studio falha ao manipular corretamente os objetos na memória.
CVE-2020-1293 / CVE-2020-1278 / CVE-2020-1257 Vulnerabilidade de elevação de privilégio do serviço de coletor padrão do Hub de Diagnóstico
Há uma vulnerabilidade de elevação de privilégio quando o Serviço Coletor Padrão do Hub de Diagnóstico manipula incorretamente as operações de arquivo
Visual Studio 2019 versão 16.0.14
lançado em 12 de maio de 2020
Problemas corrigidos na versão 16.0.14
- Adicionada uma alteração que permite aos administradores de TI empresarial e engenheiros de implantação configurar ferramentas, como o cliente do Microsoft Update e o SCCM para determinar a aplicabilidade de atualizações do Visual Studio 2019 16.0 hospedadas no Catálogo Microsoft Update e no WSUS.
Aviso de consultoria de segurança da versão 16.0.14
CVE-2020-1108 Vulnerabilidade de negação de serviço do .NET Core
Um invasor não autenticado remoto pode explorar essa vulnerabilidade emitindo solicitações especialmente criadas para o aplicativo .NET Core. A atualização de segurança aborda a vulnerabilidade corrigindo como o aplicativo Web .NET Core lida com solicitações da Web.
Visual Studio 2019 versão 16.0.13
lançado em 14 de abril de 2020
Aviso de consultoria de segurança da versão 16.0.13
CVE-2020-0899 Vulnerabilidade de elevação de privilégio do Microsoft Visual Studio
Quando o serviço atualizador do Microsoft Visual Studio manipula incorretamente as permissões de arquivo, uma vulnerabilidade de elevação de privilégio ocorre. Um invasor que consiga se aproveitar dessa vulnerabilidade poderia substituir o conteúdo de arquivos arbitrários no contexto de segurança do sistema local.
CVE-2020-0900 Vulnerabilidade de elevação de privilégio do serviço Instalador de Extensão do Visual Studio
Quando o serviço Instalador de Extensão do Visual Studio manipula incorretamente as operações de arquivos, uma vulnerabilidade de elevação de privilégio ocorre. Um invasor que consiga se aproveitar dessa vulnerabilidade poderia excluir arquivos em localizações arbitrárias com permissões elevadas.
CVE-2020-5260 Vulnerabilidade de vazamento de credenciais do Git para o Visual Studio devido à insuficiência de validações em URLs
Quando URLs especialmente criadas são analisadas e enviadas aos auxiliares de credencial, uma vulnerabilidade de vazamento de credencial ocorre. Isso pode fazer com que as credenciais sejam enviadas para o host errado.
Visual Studio 2019 versão 16.0.12
lançado em 10 de março de 2020
Problemas corrigidos na versão 16.0.12
- vcruntime.h da versão prévia do VS 2019 causa aviso de RC4011
- Novas opções de mitigação do Spectre no compilador de C++: /Qspectre-load e /Qspectre-load-cf para a proteção de carga especulativa.
Aviso de Consultoria de Segurança
CVE-2020-0793 e CVE-2020-0810 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 arquivo ou o serviço coletor padrão do hub de diagnóstico do Windows falha ao corrigir corretamente a entrada.
CVE-2020-0884 Vulnerabilidade de falsificação ao criar o Suplemento Web do Outlook
CVE-2020-0789 Vulnerabilidade de negação de serviço do serviço instalador de extensão do Visual Studio
Visual Studio 2019 versão 16.0.11
lançado em 14 de janeiro de 2020
Aviso de Consultoria de Segurança
CVE-2020-0602 Vulnerabilidade de ataque de negação de serviço do ASP.NET Core
Um invasor não autenticado remoto pode explorar essa vulnerabilidade emitindo solicitações especialmente criadas para um aplicativo ASP.NET Core. A atualização de segurança resolve a vulnerabilidade corrigindo como o aplicativo Web ASP.NET Core manipula solicitações da Web.
CVE-2020-0603 Vulnerabilidade de execução de código remoto do ASP.NET Core
Um invasor não autenticado remoto pode explorar essa vulnerabilidade emitindo solicitações especialmente criadas para um aplicativo ASP.NET Core. A atualização de segurança resolve a vulnerabilidade corrigindo como o aplicativo Web ASP.NET Core manipula a memória.
Visual Studio 2019 versão 16.0.10
lançado em 10 de dezembro de 2019
Problemas corrigidos na versão 16.0.10
Aviso de Consultoria de Segurança
CVE-2019-1349 Vulnerabilidade de execução remota do Git para Visual Studio devido a restrições incertas em nomes de submódulo
Existe uma vulnerabilidade de execução de código remota quando o Git é executado em colisões de nomes de submódulo para diretórios de submódulo irmãos. Um invasor que explorou com êxito essa vulnerabilidade poderia executar o código remotamente no computador de destino. A atualização de segurança aborda a vulnerabilidade usando uma nova versão do Git para Windows que exige que o diretório do clone dos submódulos esteja vazio.
CVE-2019-1350 Vulnerabilidade de execução remota do Git para Visual Studio devido à citação incorreta de argumentos de linha de comando
Existe uma vulnerabilidade de execução de código remota quando o Git interpreta argumentos de linha de comando com determinada citação durante um clone recursivo em conjunto com URLs SSH. Um invasor que explorou com êxito essa vulnerabilidade poderia executar o código remotamente no computador de destino. A atualização de segurança aborda a vulnerabilidade usando uma nova versão do Git para Windows que repara o problema.
CVE-2019-1351 Vulnerabilidade de substituição de arquivo arbitrário do Git para Visual Studio devido ao uso de nomes de unidade não alfabéticos durante a clonagem
Existe uma vulnerabilidade de substituição de arquivo arbitrário no Git quando nomes de unidade não alfabéticos ignoram verificações de segurança no git clone
. Um invasor que explorou com êxito essa vulnerabilidade poderia gravar em arquivos arbitrários no computador de destino. A atualização de segurança aborda a vulnerabilidade usando uma nova versão do Git para Windows que repara o problema.
CVE-2019-1352 Vulnerabilidade de execução remota do Git para Visual Studio devido ao não reconhecimento de fluxos de dados alternativos NTFS
Existe uma vulnerabilidade de execução de código remota no Git ao clonar e gravar no diretório .git/ por meio de fluxos de dados NTFS alternativos. Um invasor que explorou com êxito essa vulnerabilidade poderia executar o código remotamente no computador de destino. A atualização de segurança aborda a vulnerabilidade usando uma nova versão do Git para Windows que deve ser informada de fluxos de dados alternativos NTFS.
CVE-2019-1354 Vulnerabilidade de substituição de arquivo arbitrário do Git para Visual Studio devido à não recusa de gravar arquivos rastreados que contêm barras invertidas
Existe uma vulnerabilidade de substituição de arquivo arbitrário no Git quando as entradas de árvore com barras invertidas e symlinks mal-intencionados podem ser interrompidos na árvore de trabalho. Um invasor que explorou com êxito essa vulnerabilidade poderia gravar em arquivos arbitrários no computador de destino. A atualização de segurança resolve a vulnerabilidade usando uma nova versão do Git para Windows que não permite esse uso de barras invertidas.
CVE-2019-1387 Vulnerabilidade de execução remota do Git para Visual Studio devido à validação incerta em nomes de submódulo em clones recursivos
Existe uma vulnerabilidade de execução de código remota no Git ao clonar recursivamente com submódulos. Um invasor que explorou com êxito essa vulnerabilidade poderia executar o código remotamente no computador de destino. A atualização de segurança aborda a vulnerabilidade usando uma nova versão do Git para Windows que reforça a validação de nomes de submódulo.
CVE-2019-1486 Vulnerabilidade de redirecionamento de URL da extensão do Live Share
Uma vulnerabilidade de falsificação foi detectada na extensão do Visual Studio, quando um participante conectado a uma sessão do Live Share foi redirecionado a uma URL arbitrária especificada pelo host da sessão. Um invasor teria conseguido explorar essa vulnerabilidade com êxito e fazer com que o computador do participante abrisse um navegador e navegasse até uma URL mal-intencionada sem consentimento explícito. Isso fazia parte do recurso "Servidor Compartilhado" do Live Share que permitia o encaminhamento automático de porta durante uma sessão do Live Share ativa. A atualização mais recente resolve essa vulnerabilidade, solicitando consentimento do participante do Live Share antes de navegar até a URL especificada pelo host.
Visual Studio 2019 versão 16.0.9
lançado em 15 de outubro de 2019
Aviso de Consultoria de Segurança
CVE-2019-1425 Vulnerabilidade de elevação de privilégio do pacote NPM (Node.js Package Manager) (publicado em 12 de novembro de 2019)
Existe uma vulnerabilidade na elevação de privilégio quando o Visual Studio não consegue validar corretamente o links físicos ao extrair arquivos mortos. As vulnerabilidades foram introduzidas por pacotes NPM usados pelo Visual Studio, conforme descrito nos dois avisos seguintes do NPM: npmjs.com/advisories/803 e npmjs.com/advisories/886. As versões atualizadas desses pacotes NPM foram incluídas nesta versão do Visual Studio.
Visual Studio 2019 versão 16.0.8
lançado em 10 de setembro de 2019
Problemas corrigidos no Visual Studio 2019 versão 16.0.8
- O assembly não correspondia ao código da função
- O Visual Studio parava de responder ao criar um projeto do SSIS
- Corrigidos os congelamentos da interface do usuário após o uso estendido do editor.
Aviso de Consultoria de Segurança
CVE-2019-1232 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 Serviço Coletor Padrão do Hub de Diagnóstico representa incorretamente determinadas operações de arquivo. Um invasor que explore com êxito essa vulnerabilidade pode obter privilégios elevados. Um invasor com acesso sem privilégios a um sistema vulnerável poderia explorar essa vulnerabilidade. A atualização de segurança corrige a vulnerabilidade garantindo que o Serviço Coletor Padrão do Hub de Diagnóstico represente corretamente as operações de arquivo.
Visual Studio 2019 versão 16.0.7
lançado em 13 de agosto de 2019
Problemas corrigidos no Visual Studio 2019 versão 16.0.7
- Corrigida uma regressão de desempenho ao atingir o ponto de interrupção e passo a passo.
- Corrigida uma regressão de desempenho quando o IntelliTrace.exe é iniciado.
- Corrigido um bug que causava uma falha quando não era possível acessar o TFS.
- Correção para o erro de build HRESULT E_FAIL em alguns projetos C++ ao atualizar para 16.0.1
Aviso de Consultoria de Segurança
CVE-2019-1211 Vulnerabilidade de Elevação de Privilégio do Git para Visual Studio
Existe uma vulnerabilidade de elevação de privilégio no Git para Visual Studio quando ele analisa incorretamente os arquivos de configuração. Um invasor que explorasse com êxito a vulnerabilidade poderia executar código no contexto de outro usuário local. Para explorar a vulnerabilidade, um invasor autenticado precisaria modificar os arquivos de configuração do Git em um sistema antes de uma instalação completa do aplicativo. O invasor então precisaria convencer outro usuário no sistema a executar comandos específicos do Git. A atualização resolve o problema alterando as permissões necessárias para editar os arquivos de configuração.
**CVE-2019-1301: Vulnerabilidade de ataque de negação de serviço no .NET Core
Há uma vulnerabilidade de negação de serviço quando o .NET Core manipula solicitações Web incorretamente. Um invasor que explorasse com êxito essa vulnerabilidade poderia causar uma negação de serviço em relação a um aplicativo Web do .NET Core. A vulnerabilidade pode ser explorada remotamente, sem autenticação.
A atualização resolve a vulnerabilidade corrigindo como o aplicativo Web .NET Core manipula solicitações da Web.
Visual Studio 2019 versão 16.0.6
lançado em 9 de julho de 2019
Problemas corrigidos no Visual Studio 2019 versão 16.0.6
- A compatibilidade com o narrador foi corrigida nos sistemas executados no Windows 10 versão 1903 ou com o .NET 4.8 instalado.
Aviso de Consultoria de Segurança
CVE-2019-1075 Vulnerabilidade de Falsificação do ASP.NET Core
Atualizações do .NET Core foram lançadas hoje e estão incluídas nesta atualização do Visual Studio. Esta versão corrige problemas de segurança e outros problemas importantes. Veja mais detalhes nas notas sobre a versão do .NET Core.
CVE-2019-1077 Vulnerabilidade da Atualização Automática da Extensão do Visual Studio
Há uma vulnerabilidade de elevação de privilégio quando o processo de atualização automática da Extensão do Visual Studio executa incorretamente determinadas operações de arquivo. Um invasor que explorar com êxito essa vulnerabilidade poderá excluir esses arquivos em localizações arbitrárias. Para explorar essa vulnerabilidade, um invasor precisaria de acesso sem privilégios a um sistema vulnerável. A atualização de segurança corrige a vulnerabilidade protegendo as localizações nas quais a atualização automática da Extensão do Visual Studio executa as operações de arquivo.
CVE-2019-1113 A desserialização de XOML do WorkflowDesigner permite a execução de código
Um arquivo XOML referenciando determinados tipos poderia fazer com que o código aleatório fosse executado quando o arquivo XOML fosse aberto no Visual Studio. Agora há uma restrição para quais tipos têm permissão para serem usados em arquivos XOML. Se um arquivo XOML contendo um dos tipos recentemente não autorizados for aberto, será exibida uma mensagem explicando que o tipo é não autorizado.
Saiba mais em https://support.microsoft.com/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.
Visual Studio 2019 versão 16.0.5
lançado em 11 de junho de 2019
Problemas corrigidos no Visual Studio 2019 versão 16.0.5
- Correção do problema conhecido: Nenhum instantâneo criado para o código nativo C++ na ferramenta Uso de Memória na janela Ferramentas de Diagnóstico durante a depuração.
- Aprimoramos problemas de desempenho ao carregar o Visual Studio.
Visual Studio 2019 versão 16.0.4
lançada em 14 de maio de 2019
Problemas corrigidos no Visual Studio 2019 versão 16.0.4
- Anexação ao prompt do IIS para várias anexações.
- Interrupção de aplicativos WPF após a atualização de firmware 4.8.
- instalar o typescript 3.3 desabilita a compilação da versão 2.2.
- Não foi possível anexar o depurador durante a anexação de vários projetos de inicialização no Visual Studio 2019.
- Problema conhecido: guia Aplicativo das páginas de propriedades do projeto VB interrompida durante a instalação do Pacote do Desenvolvedor do .NET Framework 4.8.
- A instalação das extensões do Visual Studio pode falhar ao tentar substituir os arquivos principais do NuGet.
- Ausência de microsoft.diagnosticshub.dotnetobjectalloc.vsix do instalador offline.
Aviso de Consultoria de Segurança
CVE-2019-0727 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 Serviço Coletor Padrão do Hub de Diagnóstico executa incorretamente determinadas operações de arquivo. Um invasor que explorar com êxito essa vulnerabilidade poderá excluir esses arquivos em localizações arbitrárias. Para explorar essa vulnerabilidade, um invasor precisaria de acesso sem privilégios a um sistema vulnerável. A atualização de segurança corrige a vulnerabilidade protegendo as localizações nas quais o Coletor Padrão do Hub de Diagnóstico executa as operações de arquivo.
Visual Studio 2019 versão 16.0.3
lançado em 30 de abril de 2019
Novidades no Visual Studio 2019 versão 16.0.3
- As Ferramentas do Visual Studio para Kubernetes agora são compatíveis com Azure Dev Spaces.
Problemas corrigidos no Visual Studio 2019 versão 16.0.3
- A opção de exclusão está ausente do menu de contexto no gerenciador de soluções em projetos Android do Xamarin Forms.
- Xamarin.Android: não é possível selecionar a estrutura de destino 28 nas configurações do Manifesto do Android.
- Não foi possível carregar o arquivo ou assembly 'Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' ou uma de suas dependências. O sistema não pôde localizar o arquivo especificado.
- “Erro ao executar o gerador de código selecionado” ao tentar criar uma nova exibição.
- Lista de permissão Android Berechtigungsliste ist leer-Android está vazia.
- Ícones ausentes para arquivos .axml no Visual Studio 2019.
- Os ícones axml não são exibidos.
- A instalação das extensões do Visual Studio pode falhar ao tentar substituir os arquivos principais do NuGet.
- A instrução switch do C# em uma expressão de constante pode produzir erros de compilador inválido.
Visual Studio 2019 versão 16.0.2
lançado em 18 de abril de 2019
Problemas corrigidos no Visual Studio 2019 versão 16.0.2
- O nome da solução na barra de título está truncado.
- Interpolação ausente no aviso ao empacotar projetos do Serviço de Nuvem.
- O Visual Studio não mostrará mais uma mensagem de erro na inicialização após você redefinir ou importar configurações em alguns casos.
- Foram corrigidos os problemas de acessibilidade em projetos do Serviço em Nuvem nos quais entradas incorretas na janela de configuração de diagnósticos não são lidas por leitores de tela.
Visual Studio 2019 versão 16.0.1
lançado em 9 de abril de 2019
Problemas corrigidos no Visual Studio 2019 versão 16.0.1
- Adicione a opção para a plataforma UWP (Windows) ao criar um novo projeto do Xamarin.Forms com base no modelo de projeto 'Aplicativo Móvel (Xamarin.Forms)'.
- O título da janela Ajuda > Sobre no Visual Studio 2019 ainda mostra “RC” após a atualização.
- Ao atualizar o Visual Studio 2019 de RC para GA, atalhos de RC do Visual Studio são deixados para trás.
- O Visual Studio 2019 Preview 1.1 não é capaz de criar um formulário de xamarin UWP.
- Falha ao carregar o pacote durante a inicialização Visual Studio 2019 após a atualização de Preview 4.4 para 16.0.
Visual Studio 2019
lançada em 02 de abril de 2019
Resumo das Novidades no Visual Studio 2019
Instalar
- Trabalhe de modo mais eficiente agora que as atualizações do Visual Studio serão baixadas em segundo plano.
- Controle o modo de instalação para atualizações do Visual Studio.
IDE
- Colabore com outras pessoas usando o Visual Studio Live Share, que é instalado por padrão. O suporte adicional às linguagens C++, VB.NET e Razor dá aos convidados uma exibição de solução e o compartilhamento de comparações de controle do código-fonte.
- Abra um código no qual trabalhou recentemente ou comece por um dos fluxos mais usados, como clonar, abrir ou criar um projeto por meio da nova janela de início.
- Crie novos projetos com experiência de pesquisa e filtros aprimorados usando a nova lista de modelos classificados por popularidade.
- Tenha mais espaço vertical para o seu código e uma aparência modernizada por meio de um conjunto de novas alterações visuais no shell.
- Veja uma versão mais nítida do seu IDE independentemente de sua configuração de exibição e/ou de escala, já que melhoramos o suporte para reconhecimento por monitor.
- Use uma funcionalidade aprimorada de pesquisa no Visual Studio para menus, comandos, opções e componentes instaláveis.
- Entenda rapidamente a 'integridade' do arquivo de código com um indicador de documento. Execute e configure por meio de uma limpeza de código de um clique, partindo do indicador.
- Gerencie facilmente a versão prévia dos recursos pelos quais você optou, com uma nova página de Versão prévia dos recursos na caixa de diálogo Opções.
- Crie novos projetos com melhorias na pesquisa baseada em marca e uma lista facilmente acessível de "Modelos de projeto recentes".
- Crie novos itens diretamente da Pesquisa do Visual Studio e encontre resultados mais rapidamente com relevância aprimorada.
- Mantenha-se informado sobre informações importantes, como solicitações do Visual Studio Live Share, com uma nova experiência de notificações.
- Salve uma coleção de corretores de limpeza de código como um perfil para selecionar facilmente os corretores que você deseja executar durante a limpeza de código.
- Dispare novas refatorações e correções de código do .NET.
- Configurar projetos do .NET Core mais facilmente com arquivos de projeto de primeira classe.
- Veja o status de suas extensões com marcas de versão prévia, versão paga e versão de avaliação na caixa de diálogo Extensões e Atualizações.
- Verifique e configure quais versões prévias dos recursos você deseja que fiquem ativas, já que os padrões foram redefinidos nesta versão prévia.
- Mantenha suas extensões atualizadas excluindo algumas APIs de janela de teste que foram marcadas como preteridas nessa versão.
- Do Azure DevOps, pela janela de início e com um único clique, entre em seus repositórios hospedados, navegue por eles, clone-os e conecte-se a eles.
- Instale as extensões para outros hosts de controle do código-fonte para exibir os repositórios pertencentes a você e sua organização.
- Experimente um tema Azul melhorado que atende aos comentários reduzindo a luminosidade, melhorando o contraste e resolvendo outros problemas de usabilidade.
- Aplicar preferências de estilo de código na linha de comando com a ferramenta global de formato dotnet.
- O MSBuild e o Visual Studio agora destinam-se ao .NET Framework 4.7.2 por padrão.
- Removemos recursos relacionados ao Serviço de Aplicativo do Azure no Gerenciador de Servidores; em seu lugar, uma funcionalidade equivalente está disponível no Cloud Explorer.
Desempenho
- Assuma o controle de como as soluções são carregadas por meio dos novos aprimoramentos de desempenho do Visual Studio, que afetam a velocidade das etapas, a velocidade de comutação de ramificação e muito mais.
- Veja o progresso do carregamento da solução na Central de Status de Tarefas.
- Escolha quais projetos carregar ao abrir uma solução com arquivos de filtro de solução.
- Melhore o seu desempenho de digitação, limitando o impacto dos componentes auxiliares.
- Ative/desative a nova opção para desabilitar a restauração de seu estado da hierarquia do projeto e o estado da janela de ferramentas.
- Aprenda o novo atalho para Seleção de Build e compile tudo rapidamente no CMake com o novo comando Compilar Tudo.
- Crie código mais rápido com o desempenho aperfeiçoado do IntelliSense para arquivos de C++ em projetos do CMake.
- Carregue soluções .NET Core maiores e aproveite as reduções significativas de memória ao trabalhar com elas ao longo do tempo.
- Carregue as dependências do projeto mais rapidamente com um novo comando de menu de contexto do projeto.
- Consulte as dicas de desempenho na central de desempenho.
Depuração e diagnóstico em geral
- Pesquise as palavras-chave dentro das janelas Inspeção, Autos e Locais durante a depuração para melhorar sua capacidade de localizar objetos ou valores.
- Veja uma lista suspensa de especificadores de formato nas janelas Inspeção, Autos e Locais ao inspecionar dados.
- Use um visualizador personalizado, agora compatível com o .NET Core.
- Depure aplicativos muito grandes com um grande número de módulos e PDBs.
- Inicie o Google Chrome com argumentos personalizados e depure seus aplicativos JavaScript dentro do IDE do Visual Studio.
- Use o Destaque de Afunilamento para ferramentas de Alocação de Objeto DotNet e CPU no Criador de Perfil de Desempenho.
- Interrupção quando o valor da propriedade de um objeto específico é alterado em aplicativos .NET Core 3.0+ por meio de pontos de interrupção de dados, recurso originalmente exclusivo do C++.
- Desde o Preview 1, atualizamos a interface do usuário para pesquisa em Autos, Locais e janelas de Inspeção com uma interface mais simples. A função de Pesquisa Mais Profunda foi alterada para uma lista suspensa para que você possa selecionar rapidamente o nível de profundidade que deseja que sua pesquisa inicial e as subsequentes tenham.
Controle do código-fonte e Team Explorer
- Armazene temporariamente as alterações para que você possa trabalhar em outra tarefa usando o suporte a ferramentas do Git do Team Explorer para stash do Git.
- Confira a extensão opcional disponível no Visual Studio Marketplace, Solicitações de pull para Visual Studio, que integra as revisões de Solicitação de pull ao Visual Studio.
- Use a nova experiência de item de trabalho do Azure DevOps, que se concentra em fluxos de trabalho do desenvolvedor, incluindo exibições do item de trabalho específicas a um usuário e criando uma ramificação de um item de trabalho, pesquisando por itens de trabalho com #menções e edição embutida.
Extensibilidade
- Use um único e unificado SDK do Visual Studio no pacote NuGet Microsoft.VisualStudio.SDK.
- Aproveite nossa atualização para o projeto VSIX para agora incluir um AsyncPackage.
- Experimente um novo modelo de projeto vazio do VSIX que adicionamos.
- Saiba se uma extensão é gratuita, paga ou de avaliação, pois isso agora é indicado dentro da caixa de diálogo Extensões e Atualizações.
Linguagens de programação
C#
Experimente uma versão prévia de recursos de linguagem 8.0 para os quais o compilador C# agora dá suporte, incluindo:
- Tipos de referência anuláveis: quando o recurso é ativado (por exemplo, com
#nullable enable
ou no nível de projeto com<NullableContextOptions>enable</NullableContextOptions>
), os tipos de referência são tratados como anuláveis se anotados com?
e como não anuláveis, caso contrário. O compilador então analisa por onde os valores de fluxo passam e avisa sobre a probabilidade de usos não seguros. - Expressões
switch
: oferece uma semântica semelhante aswitch
em um contexto de expressão. - Padrões correspondentes recursivos: os novos padrões permitem o teste de campos/propriedades e elementos posicionais (de tuplas ou desconstrução).
- Suporte para tipos
Range
eIndex
que estão sendo usados no CoreFX para divisão, incluindo a sintaxe literalx..y
para intervalos. - Os fluxos assíncronos representados por
IAsyncEnumerable<T>
podem ser enumerados de forma assíncrona comawait foreach
e podem ser produzidos com os métodos de iteradorasync IAsyncEnumerable<T>
. - Declarações
using
: descarte no final do bloco atual, sem aumentar o nível de aninhamento. Os structsref
podem ser descartados implementando um métodoDispose()
público. - Funções locais
static
: as funções locais marcadas comstatic
não podem referenciarthis
nem variáveis nas funções delimitadoras. - Lambdas e funções locais agora podem declarar parâmetros e locais que obscurecem nomes de variáveis das funções delimitadoras.
- Atribuição de coalescência nula:
x ??= y;
atribuirá apenasy
ax
sex
fornull
.
Descubra mais na visão geral de Mad do C# 8.0.
Consulte o status do recurso de linguagem C# e alterações recentes para obter mais detalhes.
Além disso, você pode usar mais recursos de linguagem C# modernos no Visual Studio por padrão.
C++
- Economize tempo ao escrever código C++ e XAML usando o Visual Studio IntelliCode, uma extensão opcional que fornece recomendações assistidas por IA para o seu código.
- Experimente receber avisos de análise de código no editor. A análise de código é executada automaticamente em segundo plano e avisos são exibidos como linhas irregulares verdes.
- Experimente a nova Barra de Modelo, que usa a interface do usuário de Janela de Inspeção e dá suporte a modelos aninhados.
- Execute a nova e atualizada implementação do Verificador de perfil de tempo de vida do C++.
- Configure seus projetos do CMake usando o novo Editor de Configurações do CMake, que fornece uma alternativa a CMakeSettings.json.
- Experimente uma série de aprimoramentos de back-end, incluindo vetorização SIMD OpenMP, acelerações no tempo de vinculação e inlining mais agressivo.
- Abra caches do CMake existentes gerados por ferramentas externas, tais como o CMakeGUI, ou por sistemas de metabuild personalizados.
- Melhore a análise com /Qspectre para fornecer assistência de mitigação para Variante de Espectro 1 (CVE-2017-5753). Para obter mais informações, consulte a postagem no blog da equipe do Visual C++.
- Alterne rapidamente entre seus argumentos de amostra anteriores agora que a Barra de Modelo para o IntelliSense de Modelo tem uma lista suspensa chamada Usados Recentemente.
F#
- F# 4.6 foi lançado, junto com várias outras melhorias do compilador.
- Experimente melhorias de desempenho para soluções maiores e diversas correções de bug para F# e ferramentas do F#.
- Saiba mais sobre alguns dos incríveis trabalhos feitos pelos colaboradores de software livre para as ferramentas e linguagem F#.
JavaScript/TypeScript
- Depurar testes de unidade em projetos do Node.js.
- Experimente o suporte adicional para os usuários que estão compilando projetos de TypeScript de pacotes do NuGet e npm.
Python
- Adicione facilmente ambientes conda e virtual do Python usando a caixa de diálogo Adicionar Ambiente do Python.
- Trabalhe mais facilmente com ambientes do Python, incluindo suporte aprimorado para workspaces Abrir Pasta usando a nova barra seletora de ambiente do Python.
- Crie sessões do Visual Studio Live Share e colabore em código Python com outros usuários do Visual Studio.
Tecnologias da Web
- Aproveite o suporte adicionado para trabalhar com projetos do .NET Core 3.0.
- Confira Criação de perfil de CPU do ASP.NET.
- Use o Depurador de Instantâneos para aplicativos Web do .NET em execução em máquinas virtuais, Conjuntos de Dimensionamento de Máquinas Virtuais e Serviço de Kubernetes do Azure.
- Desenvolver aplicativos de contêiner para Kubernetes com as Ferramentas do Kubernetes para Visual Studio
- Experimente os aprimoramentos para a experiência de item de trabalho do Azure DevOps, que incluem suporte embutido da atribuição de itens de trabalho e uma experiência aprimorada de #mentions.
- Trabalhe mais facilmente com arquivos de projeto e experimente um aplicativo de console melhor para ferramentas do .NET Core.
- Experimente os aprimoramentos para o resumo de perfil de publicação de todos os aplicativos. Além disso, uma nova seção denominada Dependências agora está disponível quando um aplicativo é publicado no Serviço de Aplicativo do Azure.
- Experimente aprimoramentos visuais ao criar um novo aplicativo ASP.NET
- Forneça novamente as credenciais de publicação para um perfil de publicação do Azure Functions existente
Ferramentas de Contêiner
- Experimente um projeto único mais simplificado para colocação em contêineres e depuração.
- Faça uso do suporte adicionado para depuração de Alpine e imagens base adicionais.
Desenvolvimento móvel com o Xamarin
- Comece mais rapidamente com um tamanho de carga de trabalho reduzido do Xamarin e desempenho aprimorado ao criar projetos.
- Veja mais informações detalhadas de andamento do build.
- Use o IntelliCode com XAML do Xamarin.Forms.
- Consulte seu XAML visualizado sem criar primeiro seu projeto com o novo Modo de Visualização Básica no Pré-visualizador do Xamarin.Forms.
- Visualizar o XAML do Xamarin.Forms em diferentes dispositivos com a nova lista suspensa do dispositivo do Pré-visualizador do Xamarin.Forms.
- Confira os novos controles do painel de propriedades para Xamarin.Forms.
- Use o modelo de Shell recém-adicionado para o Xamarin.Forms.
- Melhorias de experiência ao desempenho de build inicial e incremental do Xamarin.Android.
- Crie Android Emulators usando o menu de destino de implantação.
- Acelere seus tempos de build com nossas melhorias para compilar no Xamarin.Android.
- Experimente a Implantação Rápida Aprimorada e suporte a d8/r8 para o Xamarin.Android.
- Aproveite a produtividade aprimorada no Xamarin.Android Designer.
- Experimente os aprimoramentos do Xamarin.Android Designer com suporte inicial para layouts com restrição.
- Seja mais produtivo com o Xamarin.Android Designer usando Ir para a Definição e o IntelliSense/preenchimento automático de XML aprimorado para arquivos de Recurso do Android.
Plataforma Universal do Windows (UWP)
- Preserve comentários, espaçamento, namespaces e outras alterações de texto ao fazer edições por meio do designer. O designer de manifesto do pacote agora mantém fidelidade estrita com alterações de xml no arquivo Package.appxmanifest.
- Use o projeto Empacotamento de Aplicativos do Windows para projetos do .NET Core e produza pacotes MSIX.
- Use o Assistente de Criação de Pacote para envios diretos da Microsoft Store.
- A implantação para dispositivos Windows Mobile não tem mais suporte no Visual Studio 2019. Tentativas de implantar em um dispositivo Windows 10 Mobile resultarão em um erro dizendo "Implantação em dispositivos móveis do Windows não tem mais suporte no Visual Studio 2019". Se você ainda precisa trabalhar em um aplicativo para dispositivos Windows 10 Mobile, continue a usar o Visual Studio 2017.
Ferramentas de depuração de XAML:
- O recurso Editar e Continuar do XAML e já dá suporte à x:bind (UWP): o recurso Editar e Continuar do XAML já dá suporte à edição de associações de dados criadas com x:bind em caminhos que contêm propriedades públicas, nome do elemento, caminhos de propriedade indexada (coleções), propriedades anexadas e propriedades de conversão. Outras alterações não são compatíveis. Esse aprimoramento está disponível para qualquer aplicativo em que as versões mínimas e máximas tenham como destino o SDK do Windows 10 versão 1809 (build 10.0.17763) ou superior. (Observação: o recurso Editar e Continuar do XAML agora é conhecido como Recarga Dinâmica do XAML a partir do Visual Studio 2019 Atualização 2+).
SQL Server Data Tools
- Experimente um SSDT atualizado e DacFX que agora inclui suporte à ordenação UTF-8.
Detalhes das Novidades no Visual Studio 2019
Instalar
- Agora você pode escolher como instalar atualizações do Visual Studio. O modo padrão é 'Baixar tudo, depois instalar', que permite que você continue usando o Visual Studio enquanto as atualizações estão sendo baixadas. Se você selecionar "Baixar tudo, depois instalar", deverá concluir a instalação abrindo o Instalador do Visual Studio e selecionando Continuar.
- As atualizações do Visual Studio serão baixadas em segundo plano. Esses downloads ocorrerão somente quando o computador estiver ocioso. Quando os downloads forem concluídos, você receberá uma notificação dentro do Visual Studio de que o download está pronto para instalação.
- Você já pode controlar o modo de instalação da atualização e se deseja ou não baixar as atualizações por meio do menu Ferramentas > Opções alterando as configurações na página Atualizações do Produto.
Janela de início
A nova janela de início fornece uma experiência simplificada de inicialização para ajudá-lo a obter rapidamente o seu código ao iniciar o Visual Studio.
- Veja seus projetos e pastas recentes e abra-os com um único clique. Fixe e remova itens da lista por meio do menu de contexto.
- Clone ou faça check-out do código usando qualquer URL de git pública ou privada, o que abrirá automaticamente a pasta no IDE.
- Entre, procure e clone com um clique, ou se conecte aos seus repositórios hospedados do Azure DevOps ou instale extensões para outros hosts de controle do código-fonte para exibir os repositórios que pertencem a você e a sua organização.
- Procure seu compartilhamento de rede ou de disco local para projetos, soluções ou quaisquer pastas que contenham código e abra-os no IDE.
- Selecione um modelo de projeto que fornece o scaffolding de código para ajudá-lo a começar um novo projeto ou solução.
- Pesquisar modelos de projeto por seu título, descrição e marcas ou filtro por meio de linguagens, plataformas e tipos de projetos disponíveis. A lista padrão mostra todos os modelos disponíveis, enquanto uma lista de seus 10 principais modelos de projeto usados recentemente é exibida no painel esquerdo para acesso rápido. Um assistente de duas páginas permite que você se concentre em uma decisão de cada vez.
Shell e plataforma
- Identifique rapidamente qual versão do Visual Studio você está abrindo e usando por meio do novo e aprimorado ícone de produto. O novo ícone também é mais visível em relação a uma variedade de telas de fundo.
- Experimente um aspecto modernizado do Visual Studio com nosso tema azul atualizado, que fornece uma interface do usuário mais limpa sem deixar de atender a nossos padrões de acessibilidade.
- Veja mais do seu código por meio de nossas alterações voltadas à compacidade e recupere o espaço vertical no IDE. Combinamos a barra de título e a barra de menus, mantendo a funcionalidade existente.
- Use o Visual Studio como um aplicativo de reconhecimento por monitor por meio de uma configuração nova e experimental. Quando ativada, essa configuração ajuda partes do Visual Studio, como o shell e o editor, a renderizarem de maneira mais nítida independentemente da sua configuração de exibição e/ou de escala.
- Tenha uma experiência de pesquisa avançada em menus, comandos, opções e componentes instaláveis. Nossa nova pesquisa agora exibe resultados dinamicamente, acomoda erros de ortografia e fornece informações relevantes (como atalhos de teclado) dentro dos resultados da pesquisa.
- Veja informações de integridade associadas ao seu arquivo aberto no momento por meio do recurso de Indicador de Integridade do Documento.
- Se for um desenvolvedor C#, você poderá rapidamente limpar algumas das sugestões de codificação mais comuns usando a Limpeza de Código.
- Selecione o conjunto de corretores que você gostaria que fossem executados ao configurar a Limpeza de Código.
- Veja o conteúdo de seu histórico de área de transferência por meio de um menu de contexto que estende o anel da área de transferência (Ctrl + Shift + V).
- Melhoramos a experiência de pesquisa:
- Adicionando filtros de menus, componentes e modelos
- Incorporando suas seleções de pesquisa para lhe fornecer os resultados da pesquisa mais relevantes
- Permitindo que você crie e adicione novos projetos/itens à sua solução diretamente da pesquisa do Visual Studio
- A experiência aprimorada de PMA (Reconhecimento por Monitor) agora é ativada por padrão para usuários que atendem ao conjunto mínimo de requisitos (versão prévia do .NET 4.8 e atualização de abril de 2018 do Windows 10 ou mais recente). Janelas de ferramentas, como Caixa de Ferramentas, Pontos de Interrupção, Inspeção, Locais, Autos e Pilha de Chamadas foram convertidas para PMA e, portanto, renderizam nitidamente independentemente da sua configuração de exibição e/ou colocação em escala.
- Uma nova experiência de notificação adiciona:
- Uma nova experiência de ícone e de contador à barra de status
- Um novo mecanismo de notificação do sistema
- Notificações de expiração de licenciamento do Visual Studio e das Atualizações do Visual Studio
- Uma experiência de tema Azul revisada que atende aos comentários, reduzindo a luminosidade, melhorando o contraste e resolvendo outros problemas de usabilidade.
- Capacidades de arrastar de janela aprimoradas, aproveitando o espaço livre disponível na região de barra de ferramentas como uma região arrastável.
- Agora você pode salvar uma coleção de corretores de limpeza de código como um perfil, para que você possa selecionar rapidamente os corretores que você deseja executar durante a limpeza de código.
- Adicionamos as marcas na caixa de diálogo Extensões e Atualizações para ajudar você a entender rapidamente se uma extensão está em versão prévia, é uma extensão paga ou está em um período de avaliação.
- A maneira recomendada para implementar dicas de ferramentas de dados no Visual Studio 2019 e versões posteriores agora é o IAsyncQuickInfoSourceProvider. As APIs herdadas de informações rápidas do editor IVsTextTipData e TextTipData foram preteridas no Visual Studio 2019 Preview 1.
- As Marcações Inteligentes do Editor (família ISmartTag* de interfaces no namespace Microsoft.VisualStudio.Language.Intellisense) foram preteridas em favor da API LightBulb e não são mais compatíveis do Visual Studio 2019 Preview 1 em diante.
- As opções de solução Mostrar configurações de build avançadas, Sempre mostrar solução e Salvar novos projetos quando criados foram removidas devido à baixa utilização. Esses valores foram definidos para seus valores padrão de Verdadeiro.
- Aceite ou recuse determinada versão prévia dos recursos usando a nova página Versão Prévia dos Recursos encontrada em Ferramentas > Opções > Ambiente > Versão Prévia dos Recursos.
Desempenho
- Adicionamos um novo atalho à opção Seleção de Build em soluções e pastas: CTRL + B.
- Abra rapidamente grandes soluções carregando sua solução com todos os projetos descarregados.
- Escolha quais projetos carregar ao abrir uma solução com Arquivos de Filtro de Solução.
- Crie um arquivo de filtro de solução descarregando projetos que você não deseja que sejam abertos automaticamente, clicando com o botão direito do mouse na solução e, em seguida, selecionando Salvar como filtro de solução. Em seguida, você pode usar o arquivo de filtro para abrir a solução para usos subsequentes.
- Adicionamos um comando à opção Compilar Tudo em arquivos do CMake: CTRL + SHIFT + B.
- Aprimoramos o desempenho do IntelliSense em arquivos C++ em projetos do CMake.
- Adicionamos um comando para carregar as dependências do projeto descarregadas nos menus de contexto de projeto e solução.
- As dicas de notificação para aprimorar o desempenho do Visual Studio agora são persistentes no centro de desempenho, acessíveis por meio de Ajuda > Gerenciar o Desempenho do Visual Studio.
- Agora você pode ver o progresso de carregamento de sua solução na Central de Status de Tarefas, bem como alertas quando os carregamentos de sua solução forem concluídos.
- Escolha quais projetos carregar ao abrir uma solução com Arquivos de Filtro de Solução.
- Crie um arquivo de filtro de solução descarregando projetos que você não deseja que sejam abertos automaticamente, clicando com o botão direito do mouse na solução e, em seguida, selecionando Salvar como filtro de solução. Em seguida, você pode usar o arquivo de filtro para abrir a solução para usos subsequentes.
- Experimente a pesquisa de arquivos e descoberta de ativos de build aprimoradas quando você pressiona Ctrl + T em cenários de Abrir pasta.
- Observe os aprimoramentos de desempenho agora que o editor do Visual Studio limitará o impacto dos componentes auxiliares no desempenho de digitação. Particularmente, ele cancelará automaticamente quaisquer operações não essenciais de execução longa ao digitar.
- Configure o comportamento de limitação de componentes auxiliares do Visual Studio por meio de Ferramentas > Opções > Editor de Texto > Avançado:
- Agora você pode desabilitar a restauração do estado da hierarquia do projeto da sessão anterior na janela de ferramentas Gerenciador de Soluções. Implementamos essa alteração porque a restauração da hierarquia do projeto da sessão anterior ao abrir a solução pode atrasar o carregamento da solução.
- Ative/desative essa opção em Ferramentas > Opções > Projetos e Soluções > Geral.
Depuração e diagnóstico em geral
Depuração geral
- Realce, localize e navegue com palavras-chave usando nosso novo recurso de pesquisa que integramos às janelas Inspeção, Autos e Locais.
- Veja uma lista suspensa de especificadores e opções para formatar dados nas janelas Inspeção, Autos e Locais, acrescentando uma vírgula a um item listado.
- Agora você pode usar o suporte personalizado e do visualizador de Conjunto de Dados e para o .NET Core.
- Para aplicativos C++ em execução no Windows, os PDBs agora são carregados em um processo separado de 64 bits. Essa mudança trata de um intervalo de falhas causadas por memória insuficiente no depurador durante a depuração de aplicativos que contêm um grande número de módulos e PDBs.
Pontos de interrupção de dados gerenciados
Agora é possível fazer uma interrupção quando o valor da propriedade de um objeto específico é alterado no .NET Core (3.0 ou superior) por meio de pontos de interrupção de dados, recurso originalmente exclusivo do C++. Eles são uma ótima alternativa à simples colocação de um ponto de interrupção no setter de uma propriedade. Isso porque o ponto de interrupção de dados pode se concentrar na propriedade de um objeto específico mesmo quando ele está fora do escopo, enquanto a opção anterior pode resultar em interrupções constantes e irrelevantes quando você tem centenas de objetos chamando essa função.
Atualizações da experiência do usuário de pesquisa de janela Inspeção
Atualizamos a interface do usuário para pesquisa em Autos, Locais e janelas de Inspeção com uma interface mais simples. A função de Pesquisa Mais Profunda foi alterada para uma lista suspensa para que você possa selecionar rapidamente o nível de profundidade que deseja que sua pesquisa inicial e as subsequentes tenham.
Aplicar preferências de estilo de código
- Agora você pode aplicar preferências de estilo de código na linha de comando com a ferramenta global de formato dotnet. Para instalar, você precisará do SDK do .NET Core 2.1 ou posterior. Execute o comando a seguir em seu terminal favorito:
dotnet tool install -g dotnet-format --version 3.0.0-beta4-19105-10
Extensibilidade
- Você não poderá mais instalar extensões criadas com o formato de extensão V1 vsixmanifest no Visual Studio 2019. O V1 foi introduzido no Visual Studio 2010 e foi preterido no Visual Studio 2017, pois isso pode causar problemas de confiabilidade com o Visual Studio. No Visual Studio 2019, o suporte para V1 foi completamente removido. Extensões direcionadas ao Visual Studio 2019 devem ser recompiladas como V2 ou V3 do formato vsixmanifest.
- Você agora será notificado quando uma extensão for carregada automaticamente de forma síncrona. Observe que a extensão carregará e funcionará como de costume nesta versão, mas corre risco de não funcionar na próxima atualização do Visual Studio 2019. Mais detalhes podem ser encontrados em nossa postagem no blog sobre melhorar a capacidade de resposta de cenários críticos atualizando o comportamento de carregamento automático para extensões.
Pacote NuGet do SDK unificado
No passado, os autores de extensão tinham que fazer muitas referências separadas para os pacotes NuGet individuais do SDK do Visual Studio que precisavam usar em sua extensão. As versões dos diversos pacotes nem sempre eram alinhadas, e isso frequentemente resultava em conflitos de dependência em tempo de compilação, bem como outros problemas de runtime.
Para resolver esses problemas, use um novo pacote chamado Microsoft.VisualStudio.SDK, que contém dependências de todos os pacotes que compõem o SDK do Visual Studio. Ele resolve o problema de incompatibilidades de versão e torna fácil saber qual versão usar. Basta usar a versão do pacote correspondente à versão mais antiga do Visual Studio compatível com a sua extensão e você terá acesso a todo o SDK.
No momento, existe apenas a versão 15.9 do pacote do SDK, mas mais serão lançados nos próximos meses para chegar até a versão 14.0.
Modelos de projeto novos e atualizados
O modelo Projeto VSIX passou por várias atualizações para simplificá-lo e torná-lo melhor:
- Usa o novo e unificado pacote NuGet do SDK
- Inclui uma classe AsyncPackage
- Não requer mais um arquivo .resx para compilar um pacote
- Destina-se ao .NET Framework 4.7.2
Um novo modelo Projeto vazio do VSIX foi criado e é o mesmo que o modelo Projeto do VSIX, mas sem a classe AsyncPackage. Ele também referencia o pacote NuGet do SDK unificado, fornecendo um bom ponto de partida para extensões MEF e outros tipos de extensão sem pacote.
Gratuita/Paga/Avaliação
Nem sempre houve uma forma fácil de ver se uma extensão estava marcada como gratuita, paga ou avaliação. Isso agora mudou, já que dentro da caixa de diálogo Extensões e Atualizações, cada extensão que é de avaliação ou paga será marcada claramente como tal. As extensões que não têm um rótulo de avaliação/pago são gratuitas.
Ferramentas de teste
APIs adicionais na janela do teste que não foram documentadas anteriormente, mas estão marcadas como públicas, foram adicionadas à lista de reprovação.
Controle do código-fonte
- Armazene temporariamente as alterações para que você possa trabalhar em outra tarefa usando o suporte, agora que as ferramentas do Git do Team Explorer dão suporte a stash do Git.
- Examine, execute e até mesmo depure solicitações de pull do Azure Repos sem sair do IDE usando nossa experiência de solicitação de pull totalmente nova no Visual Studio 2019. Para começar, você pode baixar a extensão Solicitações de pull para o Visual Studio do Visual Studio Marketplace.
MSBuild
- A versão de ferramentas do MSBuild foi alterada de
15.0
paraCurrent
. OMSBuild.exe
agora está em%VSINSTALLDIR%\MSBuild\Current\Bin\MSBuild.exe
. - O MSBuild (e o Visual Studio) agora destina-se ao .NET Framework 4.7.2. Se você quiser usar os novos recursos de API do MSBuild, deverá atualizar também o seu assembly, mas o código existente continuará a funcionar.
C#
Para cada versão antes do Visual Studio 2019, a versão de linguagem C# padrão era sempre equivalente a Principal Mais Recente. No Visual Studio 2017, o C# evoluiu e liberou três versões secundárias: 7.1, 7.2 e 7.3. No entanto, os novos projetos ainda estavam se padronizando para C# 7.0. Isso foi frustrante para os desenvolvedores C# que queriam usar novos recursos, mas tinham alterado manualmente a versão de linguagem para cada novo projeto.
Para resolver esse problema, a versão de linguagem C# padrão é determinada pela sua estrutura de destino:
- Se o seu destino for a versão prévia do .NET Core 3.0, a versão de linguagem C# será a Versão Prévia do C# 8.0.
- Se o seu destino for o .NET Framework ou qualquer versão não prévia do .NET Core, a versão de linguagem C# será C# 7.3.
Isso permite usar os recursos de linguagem C# estáveis mais recentes por padrão e, com versões prévias do .NET Core, o uso dos recursos de linguagem da versão prévia C# 8.0 que se alinha com a Versão Prévia do .NET Core 3.0.
Se você especificar uma versão de linguagem por meio de LangVersion
em um arquivo de propriedade ou projeto, essa versão de linguagem substituirá o padrão descrito anteriormente.
C++
- Colabore em tempo real, agora que Visual Studio Live Share dá suporte ao C++.
- Economize tempo usando o IntelliCode, uma extensão opcional que usa seu treinamento abrangente e seu contexto de código para colocar o que você mais provavelmente usará na parte superior da lista de conclusão. Para C++, o IntelliCode oferece a maior ajuda quando você está usando bibliotecas populares como o STL.
- Modificamos vários nomes e descrições de modelo de projeto de acordo com a caixa de diálogo Novo projeto atualizada.
- Removemos o componente experimental Clang/C2. Use o conjunto de ferramentas do MSVC para conformidade total com padrões C++ com /permissive- e/ou /std:c++17 ou a cadeia de ferramentas Clang/LLVM para Windows. Confira o Blog da equipe do Visual C++ para obter mais detalhes.
- Preterimos a opção /Gm do compilador C++. Considere desabilitar a opção /Gm em seus scripts de build se ela estiver definida explicitamente. Como alternativa, você pode ignorar com segurança o aviso de substituição para /Gm, pois ela não será tratada como erro ao usar "Tratar avisos como erros" (/WX).
- A experiência do Android C++ agora usa por padrão o SDK do Android 25 e o NDK do Android 16b.
Produtividade
- A análise de código agora é executada automaticamente em segundo plano. Avisos são exibidos como linhas irregulares verdes no editor conforme você digita.
- A Barra de Modelo agora utiliza a interface do usuário de inspeção de janela em vez de uma janela modal, dá suporte a modelos aninhados e pré-popula eventuais argumentos padrão na Janela de Inspeção.
- Uma correção automática para o aviso de análise de código NULL->nullptr (C26477 USE_NULLPTR_NOT_CONSTANT) está disponível por meio do menu de lâmpada nas linhas relevantes, habilitado por padrão no conjunto de regras Regras de Tipo da Verificação Principal do C++. Correções rápidas adicionais no IDE incluem a adição de diretivas #include ausentes, correção de caracteres de ponto-e-vírgula ausentes e correção de usos incorretos de '*' em vez de '&'.
- Cabeçalhos pré-compilados não são mais gerados por padrão para aplicativos para desktop e de console do C++.
- Ir para Definição agora funciona em diretivas #include, abrindo o arquivo correspondente. Isso inclui o atalho F12, oferecendo uma maneira fácil de navegar pelo código.
- Passar o mouse sobre uma chave de fechamento de um bloco de código fornece algumas informações úteis sobre o contexto desse bloco.
- Adicionamos suporte no ConcurrencyChecker para tipos STL conhecidos do cabeçalho <mutex>.
- Uma implementação parcial atualizada do Verificador de perfil de tempo de vida está disponível para a detecção de referências e ponteiros pendentes.
- Adicionamos suporte inicial no compilador ao operador <=> do C++20 (“espaçonave“) para comparação de três vias.
CMake
- Aprimoramos o desempenho do IntelliSense para arquivos de C++ em projetos do CMake.
- O Visual Studio ajuda a impulsionar o desenvolvimento de C++ com o CMake no Linux, detectando se você tem uma versão compatível do CMake em seu computador Linux. Caso contrário, ele oferece instalá-lo para você.
- O Editor de Configurações de CMake fornece uma alternativa para CMakeSettings.json e oferece alguma paridade com CMakeGUI.
- O menu CMake foi removido e reorganizado para paridade mais próxima com projetos e soluções.
- As incompatibilidades de configuração no CMakeSettings, como arquiteturas incompatíveis ou configurações incompatíveis do gerador de CMake, mostram linhas irregulares no editor JSON e erros na Lista de Erros.
- A cadeia de ferramentas do vcpkg é detectada automaticamente e habilitada para projetos do CMake que são abertos no IDE após
vcpkg integrate install
ser executado. Esse comportamento pode ser desativado especificando-se um arquivo de cadeia de ferramentas vazio no CMakeSettings. - Projetos do CMake agora permitem depuração Apenas Meu Código por padrão.
- Avisos de análise estática agora podem ser processados em segundo plano e exibidos no editor para projetos do CMake.
- Adicionamos mensagens 'begin' e 'end' mais claras de build e de configuração para projetos do CMake e suporte à interface do usuário de progresso do build do Visual Studio. Além disso, agora há uma configuração de detalhamento do CMake em Ferramentas > Opções que visa personalizar o nível de detalhe das mensagens de build e configuração do CMake na Janela de Saída.
- A configuração 'cmakeToolchain' agora é compatível com o CMakeSettings para especificar cadeias de ferramentas sem modificar manualmente a linha de comando do CMake.
Back-end
- Implementamos melhorias de produtividade de build, incluindo a manipulação E/S de Arquivo e tempo de vinculação na criação e mesclagem de tipo PDB.
- Adicionamos suporte básico para vetorização de SIMD OpenMP. Isso pode ser habilitado com a nova opção CL -openmp:experimental. Isso permite que os loops anotados com "#pragma omp simd" sejam potencialmente vetorizados. A vetorização não é garantida. Um aviso será relatado para loops anotados, mas não vetorizados. Se nenhuma cláusula SIMD for compatível, elas serão simplesmente ignoradas e um aviso será relatado.
- Adicionamos uma nova opção de linha de comando de inlining -Ob3, que é uma versão mais agressiva do -Ob2. -O2 (otimizar o binário para velocidade) ainda implica -Ob2 por padrão. Se você achar que o inlining realizado pelo compilador está abaixo do ideal, considere passar -O2 -Ob3.
- Para dar suporte à vetorização manual de loops contendo chamadas para funções de biblioteca de matemática e outras operações, como divisão de inteiros, adicionamos suporte a funções intrínsecas de SVML (biblioteca de matemática de vetor curto) que calculam os equivalentes do vetor de 128 bits, 256 bits ou 512 bits. Consulte o Guia intrínseco Intel para obter definições das funções compatíveis.
- Novas e aprimoradas otimizações:
- Avaliação de constantes e simplificações aritméticas para expressões usando intrínsecos de SIMD (vetor), tanto para formulários float quanto integer
- Uma análise mais eficiente para extrair informações do fluxo de controle (instruções if/else/switch) para remover branches que comprovadamente sempre resultam em true ou false
- Desenrolamento aprimorado de memset para usar as instruções do vetor SSE2
- Remoção aprimorada de cópias de classe/struct inúteis, especialmente para programas do C++ que passam por valor
- Otimização aprimorada de código usando memmove, como a construção std::copy ou std::vector e std::string
Substituições
- O modelo de projeto de teste do C++ gerenciado não está mais disponível. Você pode continuar usando a estrutura de teste do C++ gerenciado em seus projetos existentes, mas para novos testes de unidade, considere usar uma das estruturas de teste nativas para as quais o Visual Studio fornece modelos (MSTest, Google Test) ou o modelo de projeto de teste de C# gerenciado.
- O SDK do Windows 8.1 não está mais disponível no instalador do Visual Studio. Atualize seus projetos em C++ para o SDK do Windows 10 mais recente. Se você tiver uma dependência forte no 8.1, poderá baixá-la do arquivo do SDK do Windows.
- O direcionamento do Windows XP não estará mais disponível para o conjunto de ferramentas do C++ mais recente. O direcionamento do XP com bibliotecas e o compilador MSVC no nível do VS 2017 ainda é compatível e pode ser instalado por meio de "Componentes individuais".
- Nossa documentação desencoraja ativamente o uso de módulos de mesclagem para a implantação do Runtime do Visual C++. Estamos realizando, nesta versão, a etapa extra de marcar nossos MSMs como preteridos. Considere migrar sua implantação central do VCRuntime de MSMs para o pacote redistribuível.
- Os seguintes assistentes da ATL/MFC do C++ não estão mais disponíveis: Assistente do Componente COM+ 1.0 da ATL, Assistente do Componente Active Server Pages da ATL, Assistente do Provedor OLE DB da ATL, Assistente da Página de Propriedades da ATL, Assistente do Consumidor OLE DB da ATL, Consumidor ODBC da MFC, classe da MFC no controle ActiveX e classe MFC em Biblioteca de Tipos. O código de exemplo dessas tecnologias está arquivado no repositório GitHub VCSamples.
F#
Os aprimoramentos do F# no Visual Studio 2019 estão em três principais áreas:
- F# 4.6
- Principais melhorias de desempenho para soluções médias e grandes
- Muito trabalho de software livre pela nossa excelente comunidade de software livre
F# 4.6
Esta versão contém a linguagem F# 4.6:
- Os Tipos de Registro Anônimo foram adicionados à linguagem, incluindo suporte completo a ferramentas e a capacidade de emitir os tipos em objetos de JavaScript por meio do compilador Fable.
- Tipo de ValueOption e paridade de função do módulo ValueOption com o tipo Option.
- Função tryExactlyOne para matrizes, listas e sequências, uma contribuição de Grzegorz Dziadkiewicz.
Aprimoramentos do compilador F# e do FSharp.Core
O F# e compilador e FSharp.Core têm visto inúmeras melhorias, especialmente de colaboradores de software livre:
- fsi.exe e fsc.exe agora assumem por padrão o .NET Framework 4.7.2, permitindo o carregamento de componentes direcionados a essa estrutura ou a outra inferior (#4946).
- Otimizamos métodos nos structs e registros de struct para executar, bem como métodos em classes e registros baseados em classe (#3057).
- Otimizamos a IL emitida para lógica Booliana combinada em código F# (#635).
- Otimizamos o uso de
+
com cadeias de caracteres em F# para chamar a quantidade mínima possível de chamadas aString.Concat
(#5560). - Corrigimos um problema no pacote FSharp.Core em que alguns diretórios extras com ativos de teste foram incluídos. O FSharp.Core 4.5.5 e 4.6.1 deve ter a correção (#5814).
- Quando um atributo definido pelo usuário não herdar da classe
Attribute
, você agora receberá um aviso por Vasily Kirichenko. - O valor
AssemblyInformationVersionAttribute
em um arquivo de projeto agora dá suporte a valores arbitrários para dar suporte a cenários como SourceLink (#4822). - Um bug no qual uma sintaxe ilegal com padrões ativos causaria um erro interno do compilador foi corrigido por Steffen Forkmann (#5745).
- Um bug em que o sufixo
Module
foi erroneamente adicionado a um módulo em um módulo recursivo para corresponder a um tipo em que a única diferença é um parâmetro genérico foi corrigido por BooksBaum (#5794). - Uma melhoria para a mensagem de erro quando os parâmetros de tipo não são adjacentes a um nome de tipo foi aprimorada por Alan Ball (#4183).
- O sufixo literal
uint16
está listado corretamente nas mensagens de erro para literais numéricos inválidos, por Teo Tsirpanis (#5712). - Mensagens de erro para expressões de computação sem estado não declaram mais
async
na mensagem e, em vez disso, fazem referência a "expressões de computação", por John Wostenberg (#5343). - Uma mensagem de erro ao fazer referência a
.dll
s incorretamente em F# interativo foi corrigida por Bartoz Sypytkowski (#5416). - Um bug em que parâmetros de tipo resolvidos estaticamente não podiam lidar com a chamada a um membro que oculta um membro herdado foi corrigido por Victor Peter Rouven Müller (n. 5531).
- Várias melhorias de desempenho menores foram adicionadas ao compilador por Steffen Forkmann e Robert Jeppesen.
Aprimoramentos do desempenho do F#
O desempenho para soluções médias e grandes tem sido outra área com grande foco para F# no Visual Studio de 2019. Abordamos alguns problemas muito antigos, alguns muito antes da primeira edição das ferramentas F# para Visual Studio. Também tivemos ajuda da excelente comunidade de software livre do F#.
- Nós reformulamos o modo como o serviço de linguagem F# é inicializado pelo Roslyn. A colorização de tipo para soluções maiores deve geralmente aparecer mais cedo.
- Alteramos nossa representação do texto de origem para evitar alocações grandes ao longo do tempo, especialmente com arquivos maiores (#5935, #5936, #5937, #4881).
- Alteramos nossos caches de build para as pequenas edições em arquivos, de modo a usar menos memória (#6028).
- Modificamos um recurso de compilador que sugere nomes quando tokens não reconhecidos são digitados apenas para calcular essas sugestões sob demanda, resultando em reduções significativas de CPU e memória ao digitar lentamente em soluções maiores (6044 #).
- Alteramos o IntelliSense para que ele não mostre mais símbolos de namespaces não abertos por padrão. Isso claramente melhora o desempenho do IntelliSense em projetos com muitas referências. Esse recurso pode ser ativado novamente nas configurações em Ferramentas > Opções > Editor de Texto > F# > IntelliSense.
- Melhoramos o uso de memória ao usar provedores de tipos para gerar quantidades muito grandes de tipos fornecidos em uma lista de conclusão (#5599).
- Uma redução no uso de CPU e de memória para um algoritmo interno de comparação de cadeia de caracteres para sugerir os nomes não reconhecidos foi corrigida por Avi Avni (#6050).
- Uma fonte notável de alocações de cadeias de caracteres grandes, particularmente para ferramentas de IDE, foi corrigida por Avi Avni (n. 5922).
- Uma fonte notável de alocações de Heap de Objeto Grande vindo da computação do IntelliSense foi corrigida por Chet Husk (#6084)
Aprimoramentos de ferramentas do F#
Além dos aprimoramentos de desempenho, vários outros aprimoramentos para ferramentas de F# para Visual Studio de 2019 foram feitos:
- A correção de código da instrução Add
open
agora adicionará, por padrão, a instruçãoopen
na parte superior do arquivo. - Corrigimos um bug em que
match!
no código do usuário invalidava diretrizes de estrutura e nós de estrutura de código para escopos subsequentes (#5456). - O editor agora colorirá corretamente os valores
byref
,outref
eref
como campos de registro com a colorização de valor mutável (#5579). - Corrigimos um bug em que a refatoração de renomeação não reconheceu o caractere
'
em nomes de símbolos (#5604). - Corrigimos um bug que durava muito tempo, em que a renomeação de arquivos de script F# resultavam em uma perda de dados de colorização (n. 1944).
- Limpamos o IntelliSense para que ele não mostre os itens não relacionados na lista ao pressionar a tecla backspace.
- Com o recuo "Inteligente" ativo, colar código F# no editor agora o formatará para corresponder a um escopo apropriado com base na posição atual do cursor. Isso foi implementado por Saul Rennison (#4702).
- Um problema em que as opções do editor de F# não estavam sincronizando foi corrigido por Jakob Majocha (#5997, #5998).
- Um bug no qual o IntelliSense em um construtor dentro de uma cláusula
inherit
não mostra o construtor principal foi corrigido por Eugene Auduchinok (#3699) - Várias pequenas melhorias ao serviço de linguagem F# foram feitas por Eugene Auduchinok
Infraestrutura de software livre do F#
Migramos totalmente o F# e as ferramentas de base de código F# para usar o SDK do .NET. Isso simplifica bastante o processo de contribuição para desenvolvedores, especialmente se não estão usando o Windows. Além disso, Jakob Majocha ajudou a limpar documentos para novos colaboradores levando em consideração as alterações na base de código.
Python
Com base nos comentários dos clientes, o Visual Studio 2019 inclui uma experiência revisada para gerenciar ambientes do Python:
- Adicionamos uma caixa de diálogo Adicionar ambiente que simplifica a experiência de criação e adição de ambientes virtuais e ambientes do conda em seu projeto.
- O instalador do Visual Studio não instala mais versões completas do Anaconda para reduzir o tamanho das instalações do Visual Studio e evitar erros durante as atualizações.
- O Miniconda é fornecido com a carga de trabalho do Python como um componente opcional, permitindo que você crie ambientes do conda sem ter que instalar o Miniconda/Anaconda.
- Agora será automaticamente solicitado que você adicione um ambiente se um requirements.txt (ambiente virtual) ou environment.yml (ambiente do conda) estiver presente na raiz do seu projeto.
- Uma nova barra de ferramentas de Ambientes do Python está disponível ao editar arquivos do Python. A nova barra de ferramentas permite que você alterne entre diferentes interpretadores do Python ao trabalhar com projetos, workspaces de Pasta Aberta ou arquivos Python avulsos em outros projetos.
- Melhorias na qualidade de preenchimentos automáticos no IntelliSense do Python, incluindo detecção aprimorada de importações relativas e de namespace.
- Modelos de projeto do Django foram atualizados para dar suporte ao Django 2.x.
- Valores retornados da função agora são mostrados no depurador do Python.
- Agora é possível criar sessões do Visual Studio Live Share e colaborar em código Python com outros usuários do Visual Studio. Anteriormente, o Python era compatível apenas ao ingressar em sessões criadas pelo Visual Studio Code.
JavaScript/TypeScript
- Adicionamos suporte para habilitação da depuração de JavaScript em testes de unidade em projetos do Node.js. Isso era um recurso solicitado há bastante tempo por nossos clientes do Node.js.
- O serviço de linguagem JavaScript/TypeScript agora será carregado automaticamente em projetos que têm o pacote do NuGet do TypeScript ou pacote npm instalado (TypeScript 3.2 e superior é compatível com o Pacote do NuGet e o TypeScript 2.1 é compatível com o pacote npm).
- Implementamos melhorias de desempenho no serviço de linguagem como resultado do aumento do limite de memória no serviço de linguagem para lidar com projetos maiores.
- Não mostramos mais o diagnóstico de arquivos fechados do JavaScript/TypeScript na lista de erros por padrão.
- O JavaScript Language Service herdado não está mais disponível. Anteriormente, os usuários tinham a opção de restaurar o JavaScript Language Service herdado. Os usuários agora terão o novo JavaScript Language Service pronto para uso. O novo serviço de linguagem baseia-se no serviço de linguagem do TypeScript, que é alimentado por análise estática. Isso permite ter melhores ferramentas, para que seu código JavaScript possa se beneficiar de um IntelliSense mais sofisticado com base nas definições de tipo. O novo serviço é leve e consome menos memória do que o serviço herdado, fornecendo aos usuários um melhor desempenho conforme o escalonamento do seu código.
Team Explorer e Azure DevOps
Fizemos aprimoramentos aos itens de trabalho do Git com o Azure DevOps.
- Atribua itens de trabalho para você ou terceiros com o novo seletor de identidade. Por padrão, você verá uma lista das pessoas que usou mais recentemente. Ou então, use a capacidade de pesquisa para pesquisar e encontrar outras pessoas em sua organização.
- Melhoramos a experiência de #mentions na mensagem de confirmação. Conforme você seleciona um item de trabalho no seletor #mention, ele será automaticamente adicionado à lista de Itens de Trabalho Relacionados.
Realce de caminho crítico
- Adicionamos suporte para destaque de afunilamento tanto no Uso da CPU quanto em ferramentas de Alocação de Objeto do DotNet no Criador de Perfil de Desempenho. Selecione uma função na árvore de chamadas e pressione o botão de afunilamento para expandir o afunilamento de Uso da CPU ou Alocação de Objeto DotNet. Esse recurso permite identificar facilmente as chamadas de função que usam o maior percentual de CPU ou que alocam o maior número de objetos.
Ferramentas do .NET e do ASP.NET
- Implementamos várias pequenas melhorias de experiência do usuário para a página de resumo do perfil de publicação (ações/atalhos e novos cabeçalhos de seção) para todos os aplicativos.
- Ao publicar aplicativos ASP.NET para o Serviço de Aplicativo do Azure, a página de resumo do perfil de publicação terá uma nova seção chamada "Dependências". Essa nova seção permite atualmente que você associe os recursos do Armazenamento do Microsoft Azure e do SQL do Azure com sua instância de serviço de aplicativo. Mais serviços do Azure devem ser apresentados por meio desse mecanismo no futuro.
- Use métricas de código com projetos do .NET Core com nossa maior compatibilidade.
- Exporte as configurações do editor para um arquivo Editorconfig por meio de Ferramentas > Opções > Editor de Texto > C# > Estilo de Código com o botão “Gerar o arquivo .editorconfig com base nas configurações”.
- Use o novo suporte do analisador Regex do C# e do Visual Basic. Expressões regulares agora são reconhecidas e recursos de linguagem são habilitados nelas. Cadeias de caracteres do Regex também são reconhecidas quando uma cadeia de caracteres é passada para o construtor do Regex ou quando uma cadeia de caracteres é precedida imediatamente por um comentário que contém a cadeia de caracteres
language=regex
. Os recursos de linguagem incluídos nesta versão são classificação, correspondência de chaves, realce de referências e diagnóstico.
- Agora você pode usar a análise de código morto para membros privados não usados com uma correção de código opcional para remover a declaração de membro não utilizado.
- O recurso Localizar Referências em um acessador agora retorna somente os resultados para esse acessador.
- Adicionamos uma correção de código para gerar um método deconstruct.
- Instruções "using" podem ser adicionadas quando o código é colado em um arquivo. Uma correção de código aparece após a colagem de código reconhecido que solicita que você adicione importações ausentes relevantes.
- Agora há mais refatorações e ações rápidas disponíveis por meio de “CTRL + .” ou “ALT + ENTER”:
- Para casos em que "await" é implícita, mas omitida, agora há um aviso do compilador.
- Para converter uma função local em um método.
- Para converter uma tupla em um struct nomeado.
- Para converter um tipo anônimo em uma classe.
- Para converter um tipo anônimo em uma tupla.
- Para um loop foreach para uma consulta LINQ ou para um método LINQ.
- Você agora adicionou suporte para aplicativos ASP .NET Core em execução em um Serviço de Kubernetes do Azure. Para começar, consulte este exemplo do docker no GitHub.
- O ASP.NET agora é compatível com a ferramenta de uso da CPU do Criador de Perfil de Desempenho.
- Agora você pode usar Localizar Todas as Referências (Shift-F12) e o CodeLens para mostrar resultados de arquivos do Razor (.cshtml) nos projetos do .NET Core. Você pode então navegar para o código identificado nos arquivos Razor relevantes.
- Adicionamos suporte para o direcionamento para aplicativos ASP .NET (Core e de área de trabalho) em execução VMs (Máquinas Virtuais) do Windows e Conjuntos de Dimensionamento de Máquinas Virtuais.
- Agora você receberá um aviso ao executar a análise de código usando o FxCop. Os analisadores do Compilador .NET são a maneira recomendada para executar a análise de código a partir de agora. Leia mais sobre migração para analisadores do .NET Compiler Platform.
- Modelos de projeto de PLC (biblioteca de classes portáteis) não estão mais disponíveis e o suporte ao projeto não será instalado por padrão. Novos projetos destinados a serem direcionados a várias plataformas devem usar o tipo de projeto .NET Standard. Os clientes que exigem suporte a projeto PCL precisam instalar o componente separadamente por meio da guia Componentes Individuais no instalador do Visual Studio.
- O comando "Project.CopyWebSite" não está mais disponível. Esse recurso só estava disponível no tipo de projeto de "Site" para .NET. Ele fornecia a capacidade de sincronizar dois sites da Web para que eles tivessem a mesma versão de cada arquivo. No Visual Studio 2019, você pode copiar os arquivos do destino remoto fora do Visual Studio e, em seguida, abrir o projeto.
- A capacidade de abrir um projeto de Site da Web de um local de FTP remoto foi removida. Os usuários de FTP podem copiar os arquivos de destino remoto fora do Visual Studio, abrir o projeto e fazer alterações e, em seguida, usar a publicação para enviá-los por push de volta ao local de FTP remoto.
- A carga de trabalho do ASP.NET e Web não instala mais uma experiência personalizada de edição de CoffeeScript. Os pacotes do TextMate do Visual Studio fornecem uma experiência superior para trabalhar com CoffeeScript.
- Erros de CSS e do CoffeeScript que atualmente são gerados por cópias internas de CSSLint e CoffeeLint não serão mais exibidos automaticamente ao editar esses arquivos. Use um método alternativo para a execução de linters como npm ou o gerenciador do executor de tarefas do Visual Studio.
- O Visual Studio não fornece mais o IntelliSense para atributos HTML do Knockout. No Visual Studio 2019, você precisará digitar os atributos.
- A capacidade de usar o depurador do Chrome herdado em projetos do ASP.NET para a depuração do JavaScript foi removida. Você pode continuar a usar o depurador do Chrome atual incorporado ao Visual Studio.
- A capacidade de usar a funcionalidade do Console do JavaScript em projetos do ASP.NET foi removida. É recomendado que os clientes usem o Console incluído em suas ferramentas de desenvolvimento de navegadores favoritas.
Ferramentas de Contêiner
- Adicionamos uma experiência de projeto único simplificado para colocação em contêineres e depuração:
- Aplicativos Web do ASP.NET (.NET Framework)
- Aplicativo de Console (.NET Core)
- Adicionamos suporte para depuração de aplicativos do ASP.NET Core que usam o Alpine como uma imagem base.
- Adicionamos suporte para as imagens mais recentes do ASP.NET e do .NET Core.
Ferramentas do .NET Core
.NET Core 3.0
Com esta versão, você poderá criar projetos do ASP.NET Core, do Console e da biblioteca de classes direcionando o .NET Core 3.0 se você tiver a versão prévia do SDK instalada.
Se você estiver usando o Visual Studio RC, acesse também Ferramentas > Opções > Projetos e Soluções > .NET Core e marque a caixa de seleção Usar versões prévias dos SDKs do .NET Core. Se estiver usando o Visual Studio Preview, você não precisará fazer isso. Você pode ler mais sobre essa configuração e seu comportamento em Atualização de ferramentas do .NET Core para Visual Studio 2017 versão 15.9.
Você também pode criar projetos do Windows Forms ou WPF para .NET Core 3.0 com o comando "dotnet new". Esses projetos podem então ser abertos no Visual Studio 2019.
Novos recursos
Desta versão em diante, estamos tornando os arquivos de projeto para projetos de estilo do SDK do .NET um tipo de arquivo de primeira classe no Visual Studio. As seguintes ações agora são compatíveis:
- Clicar duas vezes em um nó de projeto para abrir o arquivo de projeto
- Clicar uma vez no nó do projeto para abrir o arquivo de projeto em uma versão prévia
- Localizar um arquivo de projeto por nome com Ir Para Todos (
ctrl + T
) - Elementos de MSBuild em um arquivo de projeto agora podem ser pesquisados com Localizar em Arquivos
- Abertura da lista de erros se um erro de criação de projeto é disparado
Além disso, os projetos de estilo de SDK do .NET agora usarão a experiência de novo Console integrado para F5
e ctrl + F5
em aplicativos de console. Isso unifica a experiência ao iniciar os aplicativos de console do Visual Studio:
- Para
F5
, a janela do console não será fechada automaticamente quando a execução do aplicativo for concluída. Você não precisa adicionar chamadas deConsole.Read()
aos aplicativos de console. - Para
ctrl + F5
, a janela do console será reutilizada em execuções subsequentes do seu aplicativo. Você não precisa fechar cargas de janelas do console.
A nova janela de console pode ser fechada automaticamente pressionando uma tecla enquanto ela está aberta ou selecionando a opção em Ferramentas > Opções > Fechar automaticamente o console ao parar a depuração.
O Suporte para Expressões de Licença e Arquivos de Licença foi agora adicionado às páginas de propriedades do projeto. Isso se alinha com alterações para reprovar licenseUrl
no NuGet.
Aprimoramentos de desempenho
- A escalabilidade das soluções grandes foi aprimorada significativamente, permitindo o uso de soluções do .NET Core muito maiores que antes.
- Os tempos de carregamento de solução para projetos grandes têm sido reduzidos significativamente, assim como o uso de CPU e de memória ao carregá-los.
Paridade de recursos com projetos não .NET Core
- Um problema duradouro no qual as alterações de configuração não eram respeitadas no tempo de design, forçando um recarregamento do projeto, foi resolvido.
- Agora é possível Ir para definição de Razor para C# em projetos do ASP.NET Core.
- Agora há suporte para AvailableItemName itens.
- Agora há suporte para aninhamento automático de arquivos dependentes, que são adicionados ao projeto por meio do recurso de curinga.
- O suporte para XamlAppDef foi adicionado por William Kent.
Você pode encontrar uma lista completa dos problemas e solicitações de pull nos marcos 16.0, 16.0 Versão Prévia 2, 16.0 Versão Prévia 3 e 16.0 Versão Prévia 4.
Produtividade do .NET
Refatorações e correções de código do .NET:
- Sincronizar namespace e nome da pasta
- Refatoração para efetuar pull de membros para nível superior com opções de caixa de diálogo
- Encapsular/recuar/alinhar listas de argumentos/parâmetros
- Converter tipo anônimo em tupla
- Usar o corpo do bloco/expressão para lambda
- Inverter expressões condicionais e operações lógicas
- Fechar automaticamente o comentário de bloco em "/"
- Converter em atribuição composta
- Correção de variáveis de tipo implícito que não podem ser constantes
- Autocorretor para substituir
@$"
com$@"
ao digitar uma cadeia de caracteres textual interpolada - Preenchimento para
#nullable enable|disable
- Correção para parâmetros e valores de expressão não usados
- Correção para permitir que a Interface de Extração permaneça no mesmo arquivo
Categorize referências por leitura/gravação.
A opção when_multiline de Editorconfig foi adicionada para csharp_prefer_braces.
Novas cores de classificação estão disponíveis no SDK do .NET Compiler Platform (também conhecido como Roslyn). Novas cores padrão semelhantes às cores do Visual Studio Code estão sendo distribuídas gradualmente. Ajuste essas cores em Ferramentas > Opções > Ambiente > Fontes e Cores ou desative-as em Ambiente > Versão Prévia do Recurso desmarcando a caixa de seleção Usar cores aprimoradas. Agradecemos os comentários a respeito de como essa alteração afeta seu fluxo de trabalho.
Depuração de JavaScript em projetos do ASP.NET
- Se você tiver adicionado um novo navegador Google Chrome com argumentos personalizados usando o menu "Procurar com…" para seu projeto do ASP.NET, o Visual Studio habilitará a depuração de JavaScript para seu aplicativo quando a depuração for iniciada. Seus argumentos de inicialização personalizados para o Google Chrome serão aplicados ao inicializar o Chrome.
Ferramentas do ASP.NET e do Azure Functions
- O Visual Studio 2019 vem com uma nova experiência para criar novos projetos. Ao criar novos projetos do ASP.NET, especificamente, o Visual Studio oferece diálogos adicionais que revelam escolhas específicas do ASP.NET. Essas caixas de diálogo adicionais foram atualizadas de acordo com o estilo visual do restante da experiência.
- Há algum tempo agora, as credenciais de publicação no Visual Studio são criptografadas e armazenadas no arquivo de usuário do perfil de publicação para que você não precise inseri-las novamente sempre que você publicar seu aplicativo. Arquivos do usuário em geral são excluídos do controle do código-fonte por padrão porque eles têm probabilidade de conter informações pessoais e/ou secretas que não devem ser compartilhadas. Até agora, se um perfil de publicação para um projeto do Azure Functions era verificado no controle do código-fonte, mas o arquivo de usuário não era, as credenciais de publicação ficavam ausentes e o perfil de publicação não podia ser reutilizado. Agora, permitimos que as credenciais sejam editadas e um novo arquivo de usuário seja criado para que o perfil de publicação possa ser reutilizado.
Assistente de Desempenho
No Visual Studio 2019, as experiências de criação de perfil que estavam disponíveis no assistente de desempenho foram movidas para o Criador de Perfil de Desempenho. Você pode encontrar a ferramenta de Uso da CPU para amostragem e instrumentação na ferramenta de Instrumentação no Criador de Perfil de Desempenho. Com essa alteração, o Assistente de Desempenho não é mais necessário e foi removido do Visual Studio 2019. Além disso, a opção de amostragem nas ferramentas de linha de comando de Desempenho do VS foi removida, e uma ferramenta de linha de comando substituta será lançada em uma versão prévia futura.
Ferramentas de teste
- Já é possível clicar com o botão direito do mouse em testes, classes de teste ou projetos de teste no Gerenciador de Soluções para executar ou depurar testes.
- As execuções de teste agora detectam automaticamente a arquitetura do processador definida nas propriedades do projeto.
- Ferramentas de teste de interface do usuário de OSS, assim como Selenium e Appium, ganharam força e têm forte apoio da comunidade. Já que essas estruturas se tornaram padrões do setor, preterimos o Teste de IU codificado para teste funcional automatizado controlado pela interface do usuário. O Visual Studio 2019 será a versão final do Visual Studio com funcionalidades de teste de IU codificado. É recomendável usar o Selenium para testar aplicativos Web e Appium com WinAppDriver para testar aplicativos de área de trabalho e da UWP.
- O Visual Studio 2019 será a última versão do Visual Studio com funcionalidades de teste de carga. Para clientes que exigem ferramentas de teste de carga, é recomendável usar ferramentas de teste de carga alternativas, assim como Apache JMeter, Akamai CloudTest e Blazemeter.
- No Visual Studio 2019, algumas APIs de janela de teste que foram marcadas como públicas anteriormente, mas nunca foram documentadas oficialmente, foram removidas. Elas foram marcadas como preteridas no Visual Studio 2017 para fornecer um aviso antecipado aos mantenedores de extensão. Para o nosso conhecimento, muito poucas extensões haviam criado uma dependência dessas APIs. Essas APIs incluem IGroupByProvider, IGroupByProvider, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchToken e SearchFilterTokenType. Se essa alteração afetar sua extensão, fale conosco enviando um relatório de problema na Comunidade de Desenvolvedores.
Ferramentas do Kubernetes do Visual Studio
As Ferramentas do Kubernetes do Visual Studio, que estavam disponíveis anteriormente como uma extensão separada para o Visual Studio 2017, agora estão integradas à carga de trabalho de desenvolvimento do Azure no Visual Studio 2019.
Adição do suporte a Kubernetes para um novo projeto
Para adicionar suporte a Kubernetes para um novo projeto, abra o Visual Studio e selecione a opção Criar um novo projeto. Na janela Criar um novo projeto, pesquise por Kubernetes e selecione o modelo de projeto Aplicativo de Contêiner para Kubernetes.
Clique em Avançar e insira um nome do projeto, um local e um nome da solução. Em seguida, clique em Criar. Selecione o modelo de aplicativo do ASP.NET Core que você deseja usar para o projeto e clique em OK. O Visual Studio criará automaticamente um gráfico de Dockerfile e Helm que você poderá usar para criar e implantar seu novo aplicativo em um cluster do Kubernetes. Você pode modificar esses artefatos conforme necessário.
Adição do suporte a Kubernetes para um projeto existente
Você também pode adicionar suporte ao Kubernetes a um aplicativo ASP.NET Core existente. Para fazer isso, abra o projeto no Visual Studio 2019. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto, aponte para Adicionar e clique em Suporte ao Orquestrador de Contêineres.
Na caixa de diálogo Adicionar Suporte a Orquestrador de Contêineres, escolha Kubernetes/Helm e clique em OK. O Visual Studio criará automaticamente um gráfico de Dockerfile e Helm (em uma pasta nomeada gráficos) que você poderá usar para criar e implantar seu novo aplicativo em um cluster do Kubernetes. Se um desses artefatos já estiver em vigor, eles não serão substituídos. Você pode modificar esses artefatos conforme necessário.
Criação de um ponto de extremidade publicamente acessível
Quando você adiciona suporte a Kubernetes a um projeto novo ou existente, o Visual Studio pergunta se você deseja criar um ponto de extremidade publicamente acessível para seu aplicativo.
Se você clicar em Sim, o Visual Studio configurará o gráfico do Helm para seu aplicativo para criar um objeto de entrada do Kubernetes quando o aplicativo for implantado em um cluster do Kubernetes. Você pode alterar essa opção a qualquer momento, modificando o gráfico do Helm.
Depuração do seu aplicativo no Serviço de Kubernetes do Azure
Depois de adicionar suporte a Kubernetes a um projeto novo ou existente, você pode facilmente criar, executar e depurar seu aplicativo em um cluster do AKS (Serviço de Kubernetes do Azure) ao vivo, usando um recurso chamado Azure Dev Spaces. Isso é útil para testar seu projeto no contexto de um cluster Kubernetes real ou para depurar um serviço que faz parte de um aplicativo muito maior, sem a necessidade de replicar todo o aplicativo localmente. O Azure Dev Spaces também inclui a funcionalidade que permite que sua equipe de desenvolvimento compartilhar um cluster do AKS. Para obter mais informações sobre o Azure Dev Spaces, confira a documentação do Azure Dev Spaces. Para começar, verifique se o Azure Dev Spaces está selecionado como o destino de inicialização de depuração no Visual Studio.
Antes de iniciar seu projeto no Dev Spaces pela primeira vez, configure a assinatura do Azure e o cluster do AKS que você deseja usar. Além disso, selecione o espaço em que você deseja executar o projeto.
Normalmente, sua equipe executa a versão estável mais recente de todo o aplicativo no espaço padrão. Em seguida, você pode executar a versão do serviço na qual você está trabalhando em um espaço filho do espaço padrão. Não é necessário executar os outros serviços no espaço filho; o Dev Spaces roteia automaticamente as chamadas de seu serviço para as versões estáveis dos serviços em execução no padrão. Para obter mais informações sobre como configurar isso, consulte os tutoriais de desenvolvimento de equipe na documentação do Azure Dev Spaces. Depois de selecionar a assinatura correta, o cluster e o espaço, clique em OK para prosseguir com a configuração do Dev Spaces. Se você selecionar um cluster que ainda não tem um controlador do Dev Spaces associado, clique em OK na seguinte caixa de diálogo para criar um automaticamente.
A criação do controlador leva cerca de dois minutos. Você pode clicar no botão tarefas em segundo plano no canto inferior esquerdo da janela do Visual Studio para ver o status.
Quando você tiver um controlador do Dev Spaces pronto para começar, pressione F5 ou clique no botão de depuração do Azure Dev Spaces na barra de ferramentas para depurar seu projeto no AKS.
O Dev Spaces sincronizará seu código ao Azure, compilará uma imagem de contêiner contendo o código e a implantará em seu cluster do AKS usando o gráfico do Helm definido em seu projeto. O Visual Studio abrirá uma conexão de depuração remota para o serviço em execução no cluster para que você possa interagir com ele como faria ao depurar um serviço executando localmente.
Desenvolvimento móvel com o Xamarin
Esta versão inclui aprimoramentos para o tamanho da carga de trabalho e o desempenho e a confiabilidade do build do Android, bem como melhorias de produtividade do Xamarin.Android e Xamarin.Forms.
- A carga de trabalho do Xamarin agora é apenas 7,69 GB, uma redução de 2x quando comparado ao Visual Studio 2017 versão 15.9 e 3x se comparado à versão 15.7.
- A extensão do IntelliCode agora dá suporte a XAML do Xamarin.Forms.
Arquivo > Novo Projeto
Fizemos melhorias de desempenho com o objetivo de reduzir o tempo necessário para criar um novo projeto do Xamarin, de modo que você possa começar a criar seus aplicativos mais rápido. Agora também incluímos os pacotes do NuGet usados pelos modelos como parte da instalação da carga de trabalho para reduzir o tempo de restauração de pacote, especialmente em situações offline ou de baixa largura de banda. Em alguns casos, esses aprimoramentos reduzem em quase 50% o tempo para que um novo projeto do Xamarin seja totalmente carregado e restaurado.
Indicador de progresso do build
Agora você pode ver informações mais detalhadas de progresso do build ao compilar seus projetos. Clicar no ícone de tarefas em segundo plano no canto inferior esquerdo durante um build exibirá o destino do build atual que está em execução. Isso pode ser útil para determinar se o build ainda está em execução, mas o destino está demorando muito tempo para ser concluído.
Modo de Visualização Básica do Pré-visualizador do Xamarin.Forms
Você não precisa criar seu projeto para o Pré-visualizador de XAML do Xamarin.Forms para mostrar a você uma visualização do seu código. Se tiver controles personalizados em seu arquivo XAML, você precisará criar seu projeto para visualizá-los ou optar por renderização em tempo de design.
Lista suspensa do dispositivo do Pré-visualizador do Xamarin.Forms
Agora, você pode alternar entre diferentes dispositivos Android e iOS para visualizar o XAML do Xamarin.Forms para saber como usar nosso novo menu suspenso do dispositivo.
Painel de propriedades do Xamarin.Forms
Agora você pode editar os atributos mais comuns de controles, células e layouts do Xamarin.Forms em um painel de propriedades e ver essas alterações refletidas imediatamente no seu XAML.
Modelo de Shell do Xamarin.Forms
Nós atualizamos os modelos do Xamarin.Forms para usar a versão mais recente do Xamarin.Forms e também adicionamos uma nova opção de modelo para um aplicativo do shell do Xamarin.Forms. O shell tem como objetivo reduzir a complexidade de aplicativos, aumentando simultaneamente a produtividade do desenvolvedor e com foco no consumo de memória e na velocidade de renderização. Esse modelo fornece um aplicativo de Shell inicializado para Android e iOS.
Desempenho e confiabilidade de Build do Android
No Visual Studio 2017 versão 15.9 e no Visual Studio para Mac 7.7, fizemos aprimoramentos iniciais de desempenho de build e de exatidão de build. No Visual Studio 2019 e no Visual Studio para Mac 7.8, tornamos o build e a implantação ainda mais rápidos.
- Agora, você usará as ferramentas de empacotamento de última geração do Android. Para habilitar esse recurso, adicione um sinalizador do MSBuild no
.csproj
do projeto:- aapt2 divide o empacotamento do Android em duas etapas: compilar e vincular. Isso melhora o desempenho de builds incrementais e fornece relatórios de erros anteriores. Por exemplo, se há alterações em um único arquivo, você só precisa recompilar esse arquivo.
<AndroidUseAapt2>True</AndroidUseAapt2>
- aapt2 divide o empacotamento do Android em duas etapas: compilar e vincular. Isso melhora o desempenho de builds incrementais e fornece relatórios de erros anteriores. Por exemplo, se há alterações em um único arquivo, você só precisa recompilar esse arquivo.
- Ao habilitar essa ferramenta nos seus projetos, você habilita o desempenho aprimorado tanto em tempo de build quanto em runtime. Para obter mais detalhes sobre essas propriedades, consulte nossa documentação sobre o processo de build no Xamarin.Android.
Aprimoramentos do Android Emulator
No Visual Studio 2019, é mais fácil criar imagens do Android Emulator. Também continuamos a trabalhar com a equipe do Windows no Windows 10 atualização de outubro de 2018, versão 1809, para melhorar o desempenho do Android Emulator quando em execução no Hyper-V.
- Novos usuários podem criar sua primeira imagem, simplesmente pressionando o ícone de execução.
- Nossa experiência de aquisição de emulador determina automaticamente a melhor configuração para a instalação e se beneficia de inicialização rápida e aceleração de hardware (com o Hyper-V ou Intel HAXM) por padrão.
- Quando deseja criar uma outra imagem, você pode selecionar Criar Android Emulator na lista suspensa para abrir o Android Device Manager.
Acelere seus tempos de build com nossos aprimoramentos para build no Xamarin.Android
Lançamos um conjunto de melhorias de desempenho de build inicial. A partir de hoje, o Xamarin.Android 9.1.1+ inclui melhorias de desempenho de build significativas em comparação com a versão anterior. Confira nossa Comparação de desempenho de build do Xamarin.Android 15.9 vs. 16.0 para obter mais detalhes.
Implantação rápida aprimorada para Xamarin.Android
A Implantação Rápida forneceu até agora tempos mais rápidos de implantação incremental, ignorando a recompilação ou a reimplantação do pacote Android (arquivo .apk) em cenários em que nenhuma alteração foi feita a nenhum ativo, recurso, bibliotecas nativas compartilhadas empacotadas dentro do aplicativo ou classes definidas pelo usuário que herdam de Java.Lang.Object
.
A Implantação Rápida Aprimorada expande o suporte para a implantação rápida cobrir tanto as bibliotecas nativas compartilhadas quanto as classes que herdam de Java.Lang.Object
. Builds de implantação rápida que usam esses novos aprimoramentos só precisarão gerar um novo arquivo .apk em um número limitado de cenários, por exemplo, quando o AndroidManifest.xml for alterado devido à adição de uma nova subclasse Android.App.Application
ou Activity
.
Esses aprimoramentos ainda não estão habilitados por padrão na versão prévia atual. Para habilitá-los, defina a propriedade $(AndroidFastDeploymentType)
do MSBuild para Assemblies:Dexes
no seu arquivo .csproj:
<PropertyGroup>
<AndroidFastDeploymentType>Assemblies:Dexes</AndroidFastDeploymentType>
</PropertyGroup>
Suporte para o Compilador Dex (d8) e o Redutor de Código (r8) de última geração no Xamarin.Android
O Xamarin.Android agora é compatível com o compilador dex (d8) e o redutor de código (r8) mais recentes do Android.
Para habilitar esses recursos, defina as propriedades do MSBuild $(AndroidDexTool)
e $(AndroidLinkTool)
para d8
e r8
, respectivamente, em seu arquivo .csproj
- O d8 é um compilador dex de última geração que executa mais rapidamente e produz arquivos .dex menores, com melhor desempenho de runtime.
<PropertyGroup>
<AndroidDexTool>d8</AndroidDexTool>
</PropertyGroup>
- O r8 é uma nova ferramenta para redução e minimização que converte o código de bytes Java em código dex otimizado, que substitui a necessidade de ProGuard.
<PropertyGroup>
<AndroidLinkTool>r8</AndroidLinkTool>
</PropertyGroup>
Para obter mais detalhes sobre d8 e r8, confira nossa documentação.
Aprimoramentos do Xamarin.Android Designer
Fizemos vários aprimoramentos de produtividade nas interações no modo divisão.
- Arraste e solte diretamente da caixa de ferramentas para o editor de código-fonte para ajudar a realizar rapidamente o scaffold de seus layouts Android.
- Selecione elementos diretamente do seu período de definição de XML no editor de código-fonte. Implementamos isso sincronizando a posição do cursor com a exibição do Android correspondente, permitindo que você acesse rapidamente as propriedades de um elemento no painel de propriedade à direita do editor.
- Use uma visualização de cores embutida no código XML para que você possa ver quais cores estão sendo utilizadas em seus controles.
- Use nosso recurso de informações rápidas ao focalizar um valor para obter mais informações sobre ele, tais como onde ele está definido ou qual é o valor hexadecimal da cor.
Aprimoramentos do Xamarin.Android Designer com suporte inicial para layouts com restrição
Começamos um esforço para melhorar a velocidade de inicialização do Android Designer. Como parte desse esforço, também aprimoramos as mensagens que o designer fornece durante o carregamento.
Junto com essas melhorias, o Android Designer agora dá suporte nativo ao Android Pie (9.0) e fornece preenchimento automático para atributos ConstraintLayout
.
Obtenha um IntelliSense de XML aprimorado e otimizações de comentários com o Xamarin.Android Designer
Ao usar o IntelliSense para adicionar um widget a um layout, uma experiência completa de snippet agora é fornecida para que os atributos necessários possam ser fornecidos desde o início. Adicionamos a inserção ou remoção inteligente de comentários para layouts XML do Android.
Seja mais produtivo usando a opção Ir para Definição e use o IntelliSense de XML nos arquivos de recurso do Android e no AndroidManifest.xml
Agora você pode usar Ctrl + clique em URLs de recursos para navegar até o arquivo ou linha em que eles estão definidos.
O IntelliSense/preenchimento automático agora é compatível com outros arquivos XML do Android que não sejam layouts (cores, cadeias de caracteres, desenháveis, menu, manifesto do Android, etc.).
Plataforma Universal do Windows
- A extensão do IntelliCode agora dá suporte a XAML.
- Para reduzir o tamanho e a complexidade da instalação do Visual Studio, os emuladores do Windows Phone foram removidos dela. Agora será preciso baixar os emuladores manualmente.
- As ferramentas de tempo de design do XAML para aplicativos da UWP direcionados a SDKs do Windows 10 antes do Windows 10 Fall Creators Update (build 16299) foram removidas. Redirecione seus aplicativos para o Windows 10 versão 1709 ou superior para usar o Designer XAML ou usar o editor XAML.
- Projetos de teste da UWP usando
project.json
para definir dependências do NuGet não são mais compatíveis. Você deve atualizar seu projeto para usar o novo formatoPackageReference
. - Aplicativos JavaScript da UWP não são mais compatíveis com o Visual Studio 2019. Não é possível criar ou abrir projetos da UWP em JavaScript (arquivos com extensão
jsproj
). Você pode saber mais na documentação sobre a criação de PWAs (aplicativos Web progressivos) que são executados perfeitamente no Windows. - Você pode continuar a anexar a aplicativos UWP de JavaScript como antes, no entanto as ferramentas de criação de perfil de JavaScript (Rede, CPU e Criador de perfil de memória) não estão mais disponíveis no Visual Studio 2019.
Atualizações do modelo de ferramentas do Office
No Visual Studio 2019, fizemos algumas alterações aos modelos do Office, do SharePoint e do VSTO.
- Os modelos do SharePoint 2019 que foram adicionados no Visual Studio 2017 15.9 também estão disponíveis no Visual Studio 2019.
- Removemos o suporte para fluxos de trabalho de máquina de estado ou de fluxo de trabalho sequencial do SharePoint. Embora não vá ser capaz de criar ou abrir esses fluxos de trabalho no Visual Studio 2019, você poderá continuar a editá-los em versões anteriores do Visual Studio.
- Modelos do Office 2010 não estarão mais disponíveis. No entanto, você ainda pode abrir projetos existentes do Office 2010 no Visual Studio 2019.
- Os modelos do Office 2013 e 2016 foram renomeados para refletir que eles dão suporte ao Office 2013 e posteriores.
Team Explorer e Azure DevOps
Estamos lançando uma nova experiência centrado no desenvolvedor simplificada ao se conectar do Team Explorer a um projeto do Azure DevOps.
Concentre-se em itens de trabalho relevantes, filtrando e dinamizando sua exibição com base nos itens de trabalho atribuídos a você, aqueles que você está seguindo, aqueles em cuja discussão você é mencionado e aqueles com base em sua atividade.
- Dentro de cada exibição, você pode criar um item de trabalho embutido, realizar edições simples embutidas, marcar um item de trabalho como concluído e associar um item de trabalho a alterações pendentes.
Crie uma ramificação local de um item de trabalho que relacionará automaticamente o item de trabalho às alterações feitas a essa ramificação local. Essa é a experiência padrão. Se quiser alternar para a experiência herdada, você poderá fazê-lo configurando a experiência de itens de trabalho no Visual Studio. Observe que essa nova experiência somente é verdadeira para repositórios Git. A nova experiência dos repositórios do TFVC estará disponível em uma atualização posterior.
Pesquise itens de trabalho ao fazer uma #menção na mensagem de confirmação de alterações pendentes. Para obter mais detalhes, consulte a página Exibir e adicionar itens de trabalho usando os itens de trabalho.
O suporte para o Microsoft Project foi removido do plug-in Integração do Office para Team Foundation Server 2019 para Visual Studio 2019 devido a uma taxa baixa de adoção no Azure DevOps. Agora, você precisará exportar seus itens de trabalho para o Excel e colá-los manualmente no projeto.
O suporte ao PowerPoint foi removido do plug-in Integração do Office para Team Foundation Server 2019 para Visual Studio 2019. No entanto, os usuários ainda podem criar storyboards no PowerPoint e vinculá-los manualmente a itens de trabalho no Azure DevOps.
Application Insights e HockeyApp
- A janela de tendências do Application Insights foi removida no Visual Studio 2019 em favor de alternativas com recursos mais avançados. Em vez disso, você pode usar a janela de pesquisa do Application Insights no Visual Studio ou o conjunto avançado de ferramentas de diagnóstico no Application Insights no portal do Azure.
- Os assistentes para adicionar o SDK do HockeyApp e criar distribuições beta foram removidos. Em vez disso, é recomendável usar o Visual Studio App Center, o sucessor do HockeyApp. Você ainda pode usar o HockeyApp normalmente, mas sem esses atalhos no Visual Studio.
Problemas corrigidos no Visual Studio 2019 RC
atualizado mais recentemente em 26 de abril de 2019
- O valor não pode ser nulo. Nome do parâmetro: pUnk ao fazer check-in do código no TFS.
- "Designer de subtipo" é adicionado desnecessariamente a arquivos baseados em xml, como csproj.
- TLS 1.0: a solicitação foi anulada: não foi possível criar um canal seguro SSL/TLS.
- Gerenciador de Soluções: a sensibilidade da rolagem de gesto no teclado sensível ao toque é alta demais.
- [MSConnect 1173006] A Lista de Tarefas com o filtro definido para Toda a Solução não exibe tarefas/pendências quando o arquivo é fechado.
- O Xamarin.iOS não pode selecionar o ativo de imagem para exibição de imagem.
- Erro fatal C1001: erro interno do compilador.
- Visual Studio 2019 – EF6 edmx文件无法保存-VS 2019 Preview 1 – O arquivo edmx do EF6 não pode ser salvo.
- [WebKit] uma classe indefinida não é permitida como um argumento para a característica de tipo intrínseco de compilador '__is_assignable' (regressão).
- Visual Studio 2019: o gerenciador de pacotes do nuget tem baixo contraste.
- Team Explorer – Alterações: painel não dimensionado à janela do Team Explorer.
- A lista de servidores do Visual Studio 2017 SQL Server Object Explorer não persiste .
- Problemas do IntelliSense com o modo linux-x64.
- O índice está fora do intervalo. Deve ser não negativo e menor que o tamanho da coleção. Nome do parâmetro: index.
- DESFAZER do Visual Studio 2017 não funciona/para de funcionar (relatado NOVAMENTE!!!!).
- O IntelliSense não está funcionando para arquivos criados no WSL.
- Erro do IntelliSense: inicialização do membro estático constexpr do C++ 11 causa o erro “O membro pode não ser inicializado”.
- VS não restaura a posição da janela ao alternar dentro/fora da depuração.
- Os itens da caixa de ferramentas de terceiros são recarregados sempre que o VS2019 Versão Prévia 2.2 é iniciado.
- 'Definir como Projeto de Inicialização' causa falha no IDE após a atualização para o VS2019 Versão Prévia 3.
- Falha do Visual Studio 2019 ao criar projetos C++ do Visual Studio 2017.
- Problema corrigido na atualização da Caixa de Ferramentas.
- Os controles de caixa de ferramentas estão deixando o arquivo vssettings muito grande.
- SSDT: correção dos erros Falha no logon ao executar uma função de comparação de Novos Dados .
- SSDT: correção do erro Origem indisponível ao executar a Comparação de Esquemas .
- SSDT: correção de falha na geração de scripts do Script de Geração de Comparação de Esquemas .
- A interface do usuário "Localizando próxima correspondência" de Localizar nos arquivos é inconveniente.
- Localizar arquivos permanece usando o documento atual por padrão.
- Referência rápida congela VS 2019 RC.
- PackageId:MsSqlCmdLnUtils;PackageAction:Install;ReturnCode:1603;.
- A Lista de Erros não mostra erros porque ela tem como escopo "Documento atual".
- Não é possível usar o ponto de interrupção condicional no valor PropertyInfo.Name.
- O Visual Studio falha ao analisar as macros no final de um arquivo.
- A pesquisa no Visual Studio de 2019 está muito lenta.
- O Visual Studio trava ao iniciar a depuração.
- O vdproj não é compatível com o Visual Studio 2019 RC.
- A imagem de boas-vindas do Instalador do Visual Studio contém um elemento ofensivo para chinês.
- O pré-requisito da extensão do VSIX foi removido no Visual Studio RC 2019, interrompendo a compatibilidade da extensão.
- Criar Projeto da Tela Inicial ignora a pasta do projeto selecionada.
- A caixa de diálogo Propriedades de cpp é não aparece ao usar o item de menu Projeto ou selecionar o menu suspenso "Gerenciar configuração".
- Ferramentas de build do Visual Studio 2019 – o título de prompt do desenvolvedor diz "Prompt de Comando do Desenvolvedor para o Visual Studio 2017".
- Tradução em alemão da Ferramenta de Comentários: Ajuda > Enviar Comentários > Relatar um Problema.
- 自动完成功能,如果双击候选项,会丢失输入焦点,需要单机编辑器才能继续输入– Função AutoComplete, se clicar duas vezes no candidato, você perderá o foco de entrada e precisará de um editor autônomo para continuar a inserir.
- Menus de contexto, às vezes, são colocados no monitor errado em uma configuração de vários monitores.
- Conflito do Visual Studio 2019 com o Pinyin QQ.
- Não é possível arrastar uma janela maximizada do Visual Studio.
- Violação de acesso C++ /CLI 15.9.5 ISO C++ Último Rascunho Standard desde 15.9.5.
- A caixa de diálogo modal de progresso ficará aberta permanentemente mesmo quando o IDE estiver respondendo ('Preparando Solução', 'Criando Projeto', Editar e Continuar etc).
- PackageId:OpenJDKV1;PackageAction:Uninstall;ReturnCode:0;.
- Visual Studio 2019 – A caixa de ferramentas sempre mostra Inicializando.
- IntelliSense em arquivos Razor (.cshtml) não está funcionando.
- A comparação de esquema SSDT não realça as diferenças nos arquivos.
- Exceção do Visual Studio ao abrir arquivos cshtml do Razor.
- Falha ao inicializar a extensão.
- ASP Core: erro em Criar exibição.
- VS 2019 RC – Não é possível criar WinForms (.Net Core) – vários erros.
- As referências do projeto não estão carregando após a mudança de branch.
- Erro de scaffolding: não há scaffolders com suporte neste item.
- A configuração de carga funciona somente antes da conclusão da primeira instalação.
- Tipo de projeto suspenso = o texto é parcialmente oculto quando "Tornar o texto maior" é usado.
- Localização incorreta.
- A janela Propriedades no Designer de Formulários mostra a barra de rolagem vertical sem a alça de arrasto com o dimensionamento automático na tela 4K no Visual Studio 2019 RC.
- O preenchimento automático do Razor funciona até você usar as teclas tab/enter, em seguida, ele usa html.
- O VSIXInstaller.exe falha aleatoriamente quando várias extensões são instaladas sequencialmente no Visual Studio 2019 RC.1.
- Mover um } causa uma falha no Visual Studio.
- Controles da interface do usuário do Telerik para WPF desabilitados no Visual Studio 2019 Preview 3 e Preview 4.
- System.OperationCanceledException sem tratamento.
- O Visual Studio 2019 RC falha na inicialização quando é usado um IME de terceiros (QQ Pinyin, Google IME).
- O Visual Studio 2019 Preview 4 falhava se a janela não encaixada fosse fechada.
- Erro do IntelliSense: inicialização do membro estático constexpr do C++ 11 causa o erro “O membro pode não ser inicializado”.
- A página inicial “Remover da Lista” para de funcionar.
- $(VCIDEInstallDir) é um caminho inválido. Barra invertida ausente em Microsoft.Cpp.Common.props.
- O Visual Studio Preview 2019 2.0+ falha ao abrir o filtro de solução.
- Gerenciar barra de ferramentas Extensões gera uma exceção.
- Teste de compilador de configuração do CMake falha para LLVM/clang-cl
- SSDT: correção para aprimorar o desempenho de soluções de carregamento com vários projetos.
- SSDT: correção para arquivos do SQL que nem sempre são excluídos ao executar uma Comparação de Esquemas entre um banco de dados e um projeto, e uma tabela de exclusão é executada posteriormente.
- SSDT: correções de acessibilidade para aprimorar as funcionalidades de narração.
- SSDT: substituição do driver sqlncli mais antigo pelo novo Microsoft ODBC Driver for SQL Server.
- Corrigimos o recarregamento lento de vários projetos do C# e do Visual Basic.
- Quando o IntelliSense estiver presente, quando um usuário digitar Shift + Enter, a seleção ativa será concluída e uma nova linha será inserida.
- Corrigimos um problema de PMA em que a lâmpada e as dicas de ferramentas do editor não eram renderizadas corretamente.
- Notificações sobre falhas causadas pelas extensões agora aparecem novamente.
- Notificações sobre o desempenho do Visual Studio foram protegidas contra violação.
- Corrigimos um problema com a renderização da barra de ferramentas quando arrastada entre telas.
- Corrigimos um problema com a renderização de Opções de Ferramentas ao executar com o reconhecimento por monitor habilitado.
- Várias classes de DpiHelper foram preteridas (extensibilidade).
- Corrigimos o dimensionamento da tela inicial para corresponder melhor ao fator de escala do monitor principal.
- Corrigimos um problema na importação de configurações em que avisos/erros não eram sempre relatados corretamente.
- Corrigimos um problema em que as Opções de Ferramentas relatavam renderização de software, independentemente da camada de renderização.
- Corrigimos um problema em que o nome da pasta aberta não era exibido na região da barra de título.
- Corrigimos um problema com o posicionamento de Localizar nos Arquivos quando o reconhecimento por monitor está habilitado.
- Corrigimos um problema com a renderização do adorno do encaixe quando o reconhecimento por monitor está habilitado.
- Agora você pode usar a Depuração de Viagem no Tempo com o Depurador de Instantâneos nos aplicativos ASP.NET executados em uma VM do Azure. Observe que esse recurso pode não funcionar em todas as regiões do Azure nesta versão.
- Atualizamos o scaffolding de Dockerfile nas Ferramentas do Visual Studio para Kubernetes para usar o Registro de Contêiner da Microsoft em vez do Docker Hub.
- Corrigimos um problema nas Ferramentas do Visual Studio para Kubernetes em que a modificação do Dockerfile.develop não fazia com que o serviço fosse reimplantado.
- Corrigimos um problema nas Ferramentas do Visual Studio para Kubernetes em que um serviço em um projeto do Azure Dev Spaces podia não ser iniciado.
- Corrigimos um problema nas Ferramentas do Visual Studio para Kubernetes em que a execução de um serviço em um projeto do Azure Dev Spaces parava quando a depuração parava no Visual Studio.
- Corrigimos um problema nas Ferramentas do Visual Studio para Kubernetes em que, às vezes, uma caixa de diálogo de erro de referência nula era exibida durante a seleção de contas na caixa de diálogo do Azure Dev Spaces.
- Corrigimos um problema nas Ferramentas do Visual Studio para Kubernetes em que a caixa de diálogo de seleção de cluster era exibida durante a adição de suporte para orquestração do Kubernetes.
- Corrigimos a renderização do Assistente de Configurações de Importação e Exportação durante a execução com reconhecimento do monitor
- Corrigimos o redimensionamento da caixa de diálogo Novo Projeto durante a execução com reconhecimento do monitor
- Realizamos um conjunto de refinamentos visuais na janela de início
Problemas Conhecidos
Veja todos os problemas conhecidos existentes e as soluções alternativas disponíveis no Visual Studio 2019 versão 16.0, seguindo o link abaixo.
Comentários e sugestões
Adoraríamos ouvir o que você tem para nos dizer! 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 ícone 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.