Partilhar via


Ícone do Visual StudioNotas 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

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.


Ícone das Notas de Versão 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.


Ícone das Notas de Versão 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.


Ícone das Notas de Versão 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.


Ícone das Notas de Versão 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.

Ícone das Notas de Versão 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.


Ícone das Notas de Versão 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.


Ícone das Notas de Versã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

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.


Ícone das Notas de Versão 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


Ícone das Notas de Versão 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.


Ícone das Notas de Versão 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.


Ícone das Notas de Versão 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

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

Há uma vulnerabilidade de falsificação ao criar um Suplemento Web do Outlook, se a autenticação multifator está habilitada

CVE-2020-0789 Vulnerabilidade de negação de serviço do serviço instalador de extensão do Visual Studio

Há uma vulnerabilidade de negação de serviço quando o serviço instalador de extensão do Visual Studio manipula incorretamente os links físicos. Um invasor que explorasse essa vulnerabilidade com sucesso poderia fazer com que um sistema de destino parasse de responder.


Ícone das Notas de Versão 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.


Ícone das Notas de Versão 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.


Ícone das Notas de Versão 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.


Ícone das Notas de Versão 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

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.


Ícone das Notas de Versão 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

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.


Ícone das Notas de Versão 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.


Ícone das Notas de Versão 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


Ícone das Notas de Versão 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

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.


Ícone das Notas de Versão 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


Ícone das Notas de Versão 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


Ícone das Notas de Versão 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


Ícone das Notas de Versão Visual Studio 2019

lançada em 02 de abril de 2019

Resumo das Novidades no Visual Studio 2019

Instalar

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

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 a switch 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 e Index que estão sendo usados no CoreFX para divisão, incluindo a sintaxe literal x..y para intervalos.
  • Os fluxos assíncronos representados por IAsyncEnumerable<T> podem ser enumerados de forma assíncrona com await foreach e podem ser produzidos com os métodos de iterador async IAsyncEnumerable<T>.
  • Declarações using: descarte no final do bloco atual, sem aumentar o nível de aninhamento. Os structs ref podem ser descartados implementando um método Dispose() público.
  • Funções locais static: as funções locais marcadas com static não podem referenciar this 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á apenas y a x se x for null.

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
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

Ferramentas de Contêiner

Desenvolvimento móvel com o Xamarin

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.
Opções de atualização de produto
*Opções de Atualização 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.
Janela de início
*Nova experiência da Janela Iniciar*

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.
Pesquisa do Visual Studio com resultados
*Pesquisa Avançada no Visual Studio*
  • Veja informações de integridade associadas ao seu arquivo aberto no momento por meio do recurso de Indicador de Integridade do Documento.
Indicador de Integridade do Documento com problemas
*Indicador de Integridade do Documento – Problema no documento*
Indicador de Integridade do Documento sem problemas
*Indicador de Integridade do Documento – Nenhum problema*
  • 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.
Caixa de diálogo de configuração Limpeza de Código
*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).
Menu de contexto Anel da Área de Transferência
*Menu de contexto do anel da área de transferência*
  • 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.
Perfis de limpeza do Visual Studio Code
*Perfis de limpeza de código do Visual Studio*
  • 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.
Caixas de diálogo extensões e atualizações com marcas
*Caixas de diálogo Extensões e Atualizações com marcas*
  • 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. Não carregar projetos
  • 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. Filtros de solução
  • 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:
Opções de latência de digitação do Visual Studio
*Opções de latência de digitação do Visual Studio*
  • 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.
Configurações de restauração de carga de solução
*Configurações de restauração de carga da solução*
* Agora você pode desabilitar a restauração do estado da janela de ferramentas da sessão anterior e sempre carregar o Gerenciador de Soluções e o Team Explorer na inicialização. Essa alteração foi implementada porque restaurar as janelas de ferramentas de sessões anteriores pode atrasar os carregamentos de solução na inicialização. * Ative/desative essa opção em **Ferramentas > Opções > Ambiente > Inicialização**.

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.
Como pesquisar palavras-chave na Inspeção
Pesquisar na janela Inspeção
  • 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.
Lista suspensa do especificador de formato em Inspeção
Lista suspensa de especificador de formato na janela Inspeção
  • Agora você pode usar o suporte personalizado e do visualizador de Conjunto de Dados e para o .NET Core.
Visualizador de DataSet do .NET Core
Visualizador de conjunto de dados para aplicativos .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.

Pontos de interrupção de dados do .NET Core
Pontos de interrupção de dados no aplicativo .NET Core
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
Vídeo de formato do dotnet
Executar o formato dotnet na linha de comando.

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.
Nova experiência de solicitação de pull
Nova experiência de solicitação de pull

MSBuild

  • A versão de ferramentas do MSBuild foi alterada de 15.0 para Current. O MSBuild.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:

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 a String.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 .dlls 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ção open 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 e ref 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.
Atribuição de itens de trabalho e melhorias de #mention
Atribuição de itens de trabalho e melhorias de #mention

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.
Realce de caminho crítico na ferramenta de uso da CPU
Realce de caminho crítico na ferramenta de uso da CPU

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.
As expressões regulares já têm suporte para analisador
Suporte ao analisador de expressão regular
  • 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.
Ferramenta de Uso da CPU no Criador de Perfil de Desempenho
Ferramenta de Uso da CPU no 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.
Interface do usuário de seleção de destino do Depurador de Instantâneos
Interface do usuário de seleção de destino do Depurador de Instantâneos
  • 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 de Console.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

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
    Refatoração para efetuar pull de membros para nível superior com opções de caixa de diálogo
    Caixa de diálogo Efetuar Pull de Membros Para Nível Superior
    • 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.

Novas cores de classificação do Roslyn
Novas cores de classificação do Roslyn

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.
Adição do Google Chrome com os argumentos personalizados usando ‘Procurar com’
Adicionando o Google Chrome com os argumentos personalizados usando 'Procurar com...'
Observação: por padrão, o Visual Studio iniciará o Chrome usando um diretório de dados diferente da instância normal do Chrome, a menos que você forneça o caminho para o diretório de dados como um argumento. Como resultado, se você precisar que alguma extensão esteja disponível ao usar essa instância do Chrome, você precisará instalá-la na primeira utilização.

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.

Criação de um aplicativo de contêiner para Kubernetes
Criação de um 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.

Adição do suporte a orquestrador de contêineres
Adição do suporte a 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.

Prompt para ponto de extremidade publicamente acessível
Prompt para ponto de extremidade publicamente acessível

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.

Selecionar o Azure Dev Spaces como destino de inicialização de depuração
Selecionar o Azure Dev Spaces como destino de inicialização de depuração

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.

Configuração do Azure Dev Spaces
Configuração do Azure Dev Spaces

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.

Caixa de diálogo Habilitar o Dev Spaces
Caixa de diálogo Habilitar o Dev Spaces

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.

Status de criação do controlador do Azure Dev Spaces por meio de tarefas em segundo plano
Status de criação do controlador do Azure Dev Spaces por meio de tarefas em segundo plano

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.

Botão de depuração do Azure Dev Spaces
Botão de depuração do Azure Dev Spaces

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.

Novo GIF de comparação de projeto do Xamarin
Criar um novo projeto do Xamarin no Visual Studio versão 15.9 (à esquerda) e Visual Studio 2019 (à direita)
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.

Indicador de progresso do build do Xamarin
Indicador de progresso do build do Xamarin
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.

Lista suspensa do dispositivo do Xamarin.Forms
Lista suspensa do dispositivo do Xamarin.Forms
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.

Painel de propriedades do Xamarin.Forms
Painel de propriedades do Xamarin.Forms
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.

Desempenho de build do Android
*O build do Android agora é mais rápido do que pegar uma xícara de café*
  • 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>
  • 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.
Caixa de Ferramentas para Editor de Origem do Android Designer
  • 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.
Editor de Origem para Editor de Propriedades do Android Designer
  • 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.
Visualização de cores do Android Designer
  • 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.
Informações rápidas do Android Designer
*Informações rápidas em ação*
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.

Saída do Android Designer

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.

Recurso Ir para a Definição do Android Designer

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 formato PackageReference.
  • 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.

    Hub de itens de trabalho do Azure DevOps
    *Hub de itens de trabalho do Azure DevOps*
  • 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.

    #menções do Azure DevOps
    *#menções do Azure DevOps*
  • 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.

Ícone das Notas de Versão Problemas corrigidos no Visual Studio 2019 RC

atualizado mais recentemente em 26 de abril de 2019


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.

Problemas conhecidos do Visual Studio 2019

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 Ícone de Comentários está localizado no canto superior direito. Você pode fazer uma sugestão de produto ou acompanhar os problemas na Comunidade de Desenvolvedores do Visual Studio, em que você pode fazer perguntas, encontrar respostas e propor novos recursos. Você também pode obter ajuda gratuita com a instalação por meio de nosso suporte via chat ao vivo.


Blogs

Aproveite as informações e recomendações disponíveis no site Blogs de Ferramentas de Desenvolvedor para ficar em dia com as novas versões e conferir postagens detalhadas sobre uma grande variedade de recursos.


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

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


Início da página