Compartilhar via


Notas de versão do Visual Studio IconVisual Studio 2017 versão 15.8

Observação

A versão com suporte do Visual Studio 2017 é a versão 15.9.

Importante

Esta não é a versão mais recente do Visual Studio. Para baixar a versão mais recente, visite https://visualstudio.microsoft.com/downloads/ e consulte as notas de versão do Visual Studio 2022.

Visual Studio Blog

O Blog do Visual Studio é a fonte oficial de insights do produto da Equipe de Engenharia do Visual Studio. Você pode encontrar informações detalhadas sobre as versões do Visual Studio 2017 versão 15.8 nas seguintes postagens:

Versões do Visual Studio 2017 versão 15.8

Importante

Avisos de consultoria de segurança do Visual Studio 2017 versão 15.8

Resumo dos novos recursos notáveis na versão 15.8

Principais problemas corrigidos na versão 15.8

Estes são os problemas relatados pelo cliente resolvidos na versão 15.8:

Veja todos os problemas relatados pelo cliente corrigidos no Visual Studio 2017 versão 15.8.

O Portal da Comunidade de Desenvolvedores


Detalhes das novidades na versão 15.8

Ícone Release Notes IconVisual Studio 2017 versão 15.8.0

lançado em 14 de agosto de 2018

Novos recursos na versão 15.8

Install

Agora você tem a opção de baixar todos os arquivos de instalação antes de iniciar a instalação.

  • Para usar essa nova opção, selecione a opção "Baixar tudo e instalar" no instalador (Figura 1). Sugerimos essa opção se você tiver uma conexão de Internet mais lenta.
  • A opção padrão permanece "Instalar durante o download", que baixa e instala em paralelo.
Baixar o Otion
(Figura 1) Opção Baixar

Performance

Esta versão contém as seguintes melhorias de desempenho:

  • A alternância de ramificação para projetos C#, VB e C++ é muito mais rápida para soluções grandes, pois o recarregamento da solução não é mais necessário.
  • Reduzimos o tempo para descarregar e recarregar um pequeno conjunto de projetos C# e VB em soluções grandes de minutos para vários segundos.
  • Adicionamos uma opção para desabilitar a reabertura de documentos abertos na sessão anterior, pois reabrir determinados tipos de arquivos ou designers pode atrasar a carga da solução.
    • Alterne essa opção em Soluções > gerais de projetos de opções > de ferramentas >>.

Desempenho de Teste

Melhoramos significativamente o desempenho ao executar alguns testes em uma solução grande com vários projetos de teste. Em nossos laboratórios, uma solução com mais de 10.000 MSTests executou um único teste até 82% mais rápido!

Melhoria de desempenho do Visual Basic

O Visual Basic agora fornece uma melhoria significativa de desempenho ao usar o padrão CInt(Fix(number)) para converter de tipos não inteiros em inteiros.

Criação de perfil de desempenho

Esta versão contém os seguintes aprimoramentos de criação de perfil de desempenho:

  • Adicionamos a capacidade de iniciar a criação de perfil em um estado em pausa:

    • A ferramenta Uso da CPU no Alt-F2 (Criador de Perfil de Desempenho) agora pode ser iniciada em um estado em pausa (Figura 2). Isso pode ser útil enquanto aguarda um cenário digno de uma investigação de uso da CPU. Se a coleção de uso da CPU estiver desabilitada na inicialização, o Criador de Perfil de Desempenho não coletará nenhum dado de pilha de exemplo de uso da CPU até que ele esteja habilitado especificamente. Isso resulta em uma quantidade menor de dados a serem coletados e analisados, tornando as investigações de desempenho mais eficientes.

    • Para iniciar uma sessão com a coleção de exemplo de uso de CPU desabilitada, clique no ícone de engrenagem ao lado do Uso da CPU na página de inicialização do Performance Profiler. Na página de propriedade Uso da CPU, desmarque Habilitar Criação de Perfil de CPU (Amostragem) e clique em OK para salvar as configurações.

      Página de configurações da Ferramenta de Uso da CPU
      (Figura 2) Configurações da Ferramenta de Uso da CPU
    • Depois de iniciar o aplicativo de destino (clique em Iniciar na página inicial do Criador de Perfil de Desempenho), você verá o grafo de utilização da CPU (Figura 3), que permite controlar a criação de perfil da CPU. Para habilitar a coleta de dados de pilha de exemplo de uso da CPU, selecione Habilitar criação de perfil de CPU no meio da exibição ou clique em Registrar Perfil de CPU logo abaixo do grafo de utilização da CPU. Você pode clicar em Registrar Perfil de CPU para habilitar/desabilitar a coleta de dados de exemplo quantas vezes quiser. A cor do grafo de utilização da CPU muda para indicar se a coleção de exemplo está habilitada/desabilitada nesse momento.

      Exibição de monitoramento da Ferramenta de Uso da CPU
      (Figura 3) Grafo de utilização de uso da CPU
  • Adicionamos uma ferramenta de Acompanhamento de Alocação de Objeto do .NET:

    • A Ferramenta de Controle de Alocação de Objeto do .NET une a família de ferramentas disponíveis no Criador de Perfil de Desempenho. Invocar essa ferramenta para uma sessão de criador de perfil de desempenho inicia a coleção de um rastreamento de pilha para cada alocação de objeto .NET que ocorre no aplicativo de destino. Esses dados de pilha são analisados juntamente com informações de tipo de objeto e tamanho para revelar detalhes da atividade de memória do seu aplicativo. Você pode determinar rapidamente os padrões de alocação em seu código e identificar anomalias. Além disso, para eventos de GC (Coleta de Lixo), você pode determinar facilmente quais objetos foram coletados e retidos e identificar rapidamente os tipos de objeto que dominam o uso de memória do aplicativo.
    • Isso é especialmente útil para os gravadores de API para ajudar a minimizar as alocações. Muitos aplicativos ultrapassarão os limites de buffer envolvidos na coleta de dados de diagnóstico, mas pequenos aplicativos de teste que exercem os principais cenários de uma API podem ser diagnosticados muito bem. Enquanto seu aplicativo de teste está em execução, o Criador de Perfil de Desempenho exibe um grafo de linha de Objetos Dinâmicos (contagem), bem como um grafo da barra Delta do Objeto (% alteração).
    • Para usar a Ferramenta de Acompanhamento de Alocação de Objeto do .NET, exiba a página inicial do Criador de Perfil de Desempenho (Figura 4), selecione um destino para o perfil (o destino padrão é o projeto de inicialização na solução), verifique o Acompanhamento de Alocação de Objeto do .NET em Ferramentas Disponíveis e clique em Iniciar.
    Página inicial do Criador de Perfil de Desempenho
    (Figura 4) Página inicial do Criador de Perfil de Desempenho

Criação de perfil de desempenho (uso da CPU)

Esta versão contém as seguintes melhorias na ferramenta uso da CPU do Criador de Perfil de Desempenho (disponível por meio do ALT-F2):

  • O modo de exibição Árvore de Chamadas agora exibe a execução assíncrona por pilha de chamadas lógicas por padrão. Você pode desativar esse comportamento desmarcando a opção Costurar Código Assíncrono na lista suspensa Filtro do modo de exibição principal uso da CPU.
  • Adicionamos uma exibição Módulos/Funções que exibe informações de desempenho por módulo (dll) e por função em um módulo. É possível exibir a exibição Módulos/Funções no menu de contexto disponível ao selecionar uma função no modo de exibição principal uso da CPU ou na lista suspensa Exibição nas exibições Árvore de Chamadas ou Chamador/Receptor.
  • A indicação da instância foi adicionada ao grafo uso da CPU na exibição principal da ferramenta uso da CPU. Você pode exibir as instâncias quando uma função está em execução (por exemplo, na pilha) clicando duas vezes em uma função listada em qualquer uma das exibições de Uso da CPU.

Produtividade

Esta versão contém os seguintes aprimoramentos de produtividade:

  • Você pode executar limpeza de código adicional com o Documento de Formato (Ctrl + K, D ou Ctrl + E, D) para desenvolvimento em C#. Configure a limpeza acessando oEditor> de Texto deOpções>de Ferramentas>C#>Formatação> de Estilo>de Código Geral.
  • Adicionamos mais refatorações e ações rápidas usando Ctrl + . ou Alt + Enter:
    • Inverter se permite inverter sua lógica em instruções if-else. Coloque o if cursor na palavra-chave para disparar essa refatoração.
    • Adicionar parâmetro do método callsite permite que você adicione um parâmetro a um método adicionando um argumento a um conjunto de chamadas de método e disparando Ações Rápidas e Refatorações.
    • Remover parênteses desnecessários remove parênteses em torno de operadores binários que não são essenciais para compilação. Você pode configurar essa regra de estilo por meio doEditor> de Texto deOpções>de Ferramentas>C#>Code Style>Geral ou .editorconfig:
      • dotnet_style_parentheses_in_arithmetic_binary_operators
      • dotnet_style_parentheses_in_relational_binary_operators
      • dotnet_style_parentheses_in_other_binary_operators
      • dotnet_style_parentheses_in_other_operators
    • Use condicionalidades ternárias em atribuições e instruções de retorno também podem ser configuradas como uma regra de estilo nasOpções de>Ferramentas>... ou por meio de .editorconfig:
      • dotnet_style_prefer_conditional_expression_over_assignment
      • dotnet_style_prefer_conditional_expression_over_return
  • Adicionamos novos comandos e melhorias à janela Ir para Todos :
    • Ir para Bloco Delimitador (Ctrl + Alt + UpArrow) permite que você navegue rapidamente até o início do bloco de código delimitador.
    • Ir para Próximo/Problema Anterior (Alt + PgUp/PgDn) permite que você pule para o próximo/anterior problema (erro, rabiscos, lâmpada).
    • Vá para Membro (Ctrl + T, M) agora está no escopo do arquivo por padrão. Você pode alterar o padrão de volta para a solução alternando o Escopo para Documento Atual (Ctrl + Alt + C).
  • Agora você pode criar pontos de inserção e seleções em vários locais arbitrários em um arquivo com suporte a vários cursos. Isso permite que você adicione, edite ou exclua texto em vários lugares simultaneamente.
    • Insira os conjuntos com Ctrl + Alt + LeftMouseClick.
    • Adicione uma seleção e um cursor no próximo local que corresponda à seleção atual com Shift + Alt + Ins.
    • Consulte Editar > Vários Conjuntos para obter uma lista completa de ações.
  • Acesse um menu de navegação contextual com Alt + '.
  • Mantenha suas associações de teclas consistentes com dois novos perfis de teclado: Visual Studio Code e ReSharper (Visual Studio). Você pode encontrar esses esquemas no Teclado do Ambiente > de Opções > de Ferramentas > e no menu suspenso superior.

Resolução de Erros

Esta versão contém os seguintes aprimoramentos de depuração:

  • Quando você tem mais de uma instância do Visual Studio 2017 instalada, agora você pode selecionar em qual instância implantar sua extensão ao depurar (Figura 5). Dessa forma, você pode, por exemplo, desenvolver no canal de lançamento do Visual Studio durante a depuração no canal de visualização.

    Selecione sua instância de depuração
    (Figura 5) Selecionar Instância de Depuração
  • Agora você pode anexar o Depurador de Instantâneos diretamente na página Publicar resumo (Figura 6).

    Anexar o Depurador de Instantâneos na página Publicar Resumo
    (Figura 6) Anexar o Depurador de Instantâneos do Resumo de Publicação
  • Agora, damos suporte à exibição de Tarefas Gerenciadas por meio da janela Tarefas durante a depuração de minidumps com heap.

Ferramentas para desenvolvedores da Plataforma Universal do Windows

Fizemos muitas melhorias importantes no designer XAML para projetos direcionados à Plataforma Universal do Windows com uma versão de plataforma de destino do Windows 10 Fall Creators Update (build 16299) ou posterior. Estas melhorias incluem:

  • Agora você pode editar coleções no Inspetor de Propriedades.
  • O designer agora permite que modelos e estilos sejam editados, inclusive quando as definições para essas entidades são definidas em outros documentos.
  • As propriedades do tipo IconElement (como Ícone em um AppBarButton) agora têm um editor personalizado no Inspetor de Propriedades facilitando a definição dessas propriedades.
  • O designer, o editor e o Editar e Continuar agora devem funcionar corretamente com x:DefaultBindMode.
  • A experiência do Visual State Manager no Blend agora dá suporte ao AdaptiveTrigger.

F# 4.5 e F# Tools para Visual Studio

Apresentamos a linguagem F# versão 4.5 com esta versão. Isso também corresponde à nova família 4.5.x do FSharp.Core (a biblioteca de núcleos F#). Você pode ler as especificações de cada uma dessas alterações no repositório RFC F#. Há também muitas melhorias nas ferramentas F# para Visual Studio com esta versão.

F# 4.5

Aqui estão alguns dos destaques com a linguagem F# versão 4.5:

Suporte ao Span'T<>

Implementamos Span<'T> e relacionamos recursos para que o consumo efetivo e a produção de APIs usando Spanconstructos , Memorye ref-like, sejam possíveis com F#. Os recursos para isso incluem:

  • Novo voidptr tipo.
  • Novo NativePtr.ofVoidPtr e NativePtr.toVoidPtr funções no FSharp.Core.
  • Novos tipos inref<'T> e outref<'T>, que são byrefs somente leitura e byrefs somente gravação, respectivamente. Isso corresponde a in ref e out ref em C#.
  • A capacidade de produzir ByRefLike structs (como Span e ReadOnlySpan).
  • A capacidade de produzir IsReadOnly structs.
  • Desreferência implícita de byref- e inref- retorna de métodos.
  • A capacidade de produzir membros de extensão em byref/inref/outref.

Esse conjunto de recursos corrige um bug no design inicial de byref-returns no F# 4.1, em que funções, métodos e propriedades retornando byref's não estavam desreferenciando implicitamente o valor retornado. Fazemos essa alteração para colocar o recurso em linha com o modo como o C# lida refcom -returns. Uma mensagem de erro é usada quando uma anotação de tipo indica que uma desreferência implícita de um refretorno agora é usada.

Além disso, esse conjunto de recursos também corrige um bug no compilador F# em que "Substituição de struct do mal" era possível; Ou seja, chamar um método em um struct F# pode substituir o struct real que foi chamado por outro. O this parâmetro em um struct agora é considerado um inref<MyStruct>. com um erro que sugere que você adicione um campo mutável se você quiser modificar o struct.

Você pode saber mais sobre span construções semelhantes e refsemelhantes no RFC para este conjunto de recursos.

Fósforo! em expressões de computação

O F# 4.5 apresenta match!, uma nova palavra-chave para uso em expressões de computação, contribuiu inteiramente por John Wostenberg. Esse açúcar sintactico é equivalente a um let! seguido por um match sobre o resultado. Você pode saber mais no RFC para match!.

Relaxando a necessidade de upcast com yield expressões em sequência, lista e matriz

O F# 4.5 agora relaxa alguns casos em que um upcast ao usar yield era necessário para converter um subtipo em um supertipo. Essa restrição já não era necessária para essas expressões, pois f# 3.1 quando não estava usando yield, portanto, isso torna as coisas mais consistentes com o comportamento existente. Você pode saber mais no RFC para esse recurso.

Permitindo recuo em colchetes de lista e matriz

O F# 4.5 agora relaxa a regra de recuo para colchetes de lista e matriz que exigiam que eles fossem recuados um escopo para frente quando em sua própria linha. Esse requisito anterior sempre foi bastante confuso, especialmente para iniciantes em F#. Além disso, não é necessário para expressões de sequência F#. Agora, isso traz expressões de matriz e lista para o mesmo estado consistente que as expressões de sequência. Você pode saber mais no RFC para esse recurso.

Enumerar casos emitidos como públicos

O F# 4.5 agora emite casos de enumeração como públicos em todas as circunstâncias, para se alinhar com a forma como o C# emite casos de enumeração. Isso também torna mais fácil para as ferramentas de criação de perfil analisar logs do código F#, em que o valor em vez do nome do rótulo foi emitido. Você pode saber mais no RFC para esse recurso.

Melhorias do compilador F#

Melhorias no compilador F#, além dos recursos de linguagem mencionados anteriormente, estão no F# 4.5. Elas incluem:

  • Melhoramos o trabalho de desempenho do compilador removendo até 2,2% de todas as alocações no compilador F# (em vários cenários).
  • Corrigimos um bug que resulta em um AccessViolatioNException uso yield! com enumeráveis baseados em struct.
  • Agora é possível herdar de FSharpFunc novo.
  • As chamadas de cauda são desabilitadas por padrão para compilações de depuração de F# para .NET Core. Eles estão habilitados para lançamento, correspondendo ao compilador F# da área de trabalho.
  • A normalização de referência F# foi corrigida para permitir que você controle referências transitivas de assembly gravadas em um arquivo de saída. Isso permite que você execute o equivalente ao redirecionamento de assembly no .NET Core.
  • Corrigimos um bug em que a mensagem de erro usada ao tentar usar a invocação dinâmica em funções embutidas era ignorada. A mensagem de erro agora se propaga.
  • O F# agora respeita o WarningsNotAsErrors sinalizador que você pode definir em arquivos de projeto.
  • Quando branches de uma correspondência de padrão não retornam a mesma condição de tipo de mensagem de erro, foi atualizada para ser mais amigável por Isaac Abraham.
  • Um bug de erro interno quando uma implementação de interface de compilação que não tem uma implementação de método sobrecarregado foi corrigida pelo Steffen Forkmann.
  • Algumas cópias desnecessárias da matriz na fase de lexing do compilador foram removidas por Gauthier Segay.
  • As correspondências de padrão incompletas em enumerações F# agora produzem um aviso detalhado que fornece um exemplo de um caso não coberto, contribuido por John Wostenberg.
  • #nowarn "2003" agora é respeitado, contribuiu Matthias Diitrich.
  • Um bug em que métodos de extensões C# de consumo podem falhar na resolução de sobrecarga F# foi corrigido por Steffen Forkmann.
  • Um bug interno da estrutura de dados QueueList foi corrigido por Steffen Forkmann.
  • Várias otimizações menores e esforços de limpeza de código foram contribuidos por Steffen Forkmann, Eugene Auduchinok e ncave.

F# Core Library 4.5.x

As seguintes adições à Biblioteca do F# Core agora estão disponíveis:

  • Foi feito um trabalho significativo para melhorar os rastreamentos de pilha para async { } expressões de computação. Agora você deve ser capaz de ver o código do usuário e os números de linha de usuário em rastreamentos de pilha. Você pode saber mais no RFC para esse recurso.
  • FuncConvert.FromFunc e FuncConvert.FromAction APIs que digitam System.Func e System.Action sobrecarregam, para ajudar na interoperação com C#. Você pode saber mais no RFC para esse recurso.
  • ValueOption é um novo tipo disponível, que é o primeiro de um conjunto de recursos futuros que, em última análise, visa melhorar o desempenho para padrões ativos. Você pode saber mais no RFC para esse recurso.
  • TryGetValue agora é um novo membro no tipo mapa F#. Você pode saber mais no RFC para esse recurso.
  • Corrigimos o alto uso da CPU após a primeira invocação de MailboxProcessor.TryReceive.
  • A comparação por bool enquanto usa uma comparação genérica rápida, contribuida por Vasily Kirichenko.
  • O texto Array.allPairs de resumo foi atualizado para estar correto, contribuiu Patrick McDonald

Melhorias de ferramentas do F#

Melhorias significativas nas ferramentas do F#, como aprimoramentos de desempenho e alguns novos recursos do editor estão incluídos nesta versão. Como sempre, com um grande número de contribuições da comunidade de software livre F#. Aqui estão os destaques:

  • Melhoramos o desempenho do IntelliSense para projetos no estilo SDK do .NET de todos os formulários, incluindo aqueles que usam vários direcionamentos.
  • Um esforço da comunidade para analisar e melhorar o desempenho do IntelliSense para arquivos muito grandes foi contribuido por Vasily Kirichenko, Steffen Forkmann e Gauthier Segay. O IntelliSense em arquivos muito grandes (mais de 10 mil linhas de código) é aproximadamente duas vezes mais rápido agora.
  • O aviso para um FSharp.Core desatualizado (apesar do pacote ter sido instalado) não está mais presente em projetos no estilo SDK do .NET.
  • A dica de ferramenta de descrição que exibe a documentação XML para um membro depois . no IntelliSense não atinge mais o tempo limite após 10 segundos.
  • Um bug em que você não pôde definir pontos de interrupção em argumentos do construtor de objetos foi corrigido.
  • Um bug em que um símbolo renomeado seria duplicado quando ele for um parâmetro genérico foi corrigido.
  • Os modelos do .NET Framework (modelos clássicos do F#) agora consomem FSharp.Core de um pacote NuGet para se alinharem aos modelos do SDK F# do .NET.
  • A conclusão automática da chave transacional agora está disponível para(), , [], {}e [||][<>]pares de chaves. Fizemos esse trabalho em colaboração com Gibran Rosa.
  • Agora você pode ir para a definição com Ctrl + Clique em um símbolo F#. As configurações para esse gesto também são respeitadas na janela Opções de Ferramentas>.
  • A interface do usuário de desempenho do IntelliSense foi modificada para permitir a configuração de informações de verificação de tipo obsoletas para vários recursos do IDE. As explicações para cada opção agora estão presentes nas dicas de ferramentas para as configurações.
  • O realce da partida de chave agora realça corretamente as chaves, concluídas em colaboração com Vasily Kirichenko.
  • Vá para a definição agora navega corretamente quando um tipo é definido recursivamente, contribuindo por Vasily Kirichenko.
  • Um bug em que um namespace importado automaticamente não foi aberto quando a parte superior de um arquivo estava vazia foi corrigido por Vasily Kirichenko.
  • Um bug em printf que os especificadores que continham os ponto foram malcolorizados foi corrigido por Vasily Kirichenko.
  • Um bug em que todas as aberturas foram consideradas não utilizados dentro de um módulo recursivo foi corrigido por Vasily Kirichenko.
  • O desempenho do analisador opens não utilizado foi aprimorado significativamente por Vasily Kirichenko.
  • A preenchimento automático de atributos agora sugere apenas opções que são, na verdade, atributos, contribuidas por Vasily Kirichenko.
  • As dicas de ferramenta de Ajuda de Assinatura agora são geradas para parâmetros estáticos do Provedor de Tipos no site de chamada do construtor, contribuindo por Vasily Kirichenko.
  • Um bug em que os tipos de valor usados como unidades de medida eram coloridos como tipos de referência foi corrigido por Vasily Kirichenko.
  • Um bug em que a colorização semântica pode desaparecer para alguns arquivos enquanto a rolagem foi corrigida por Vasily Kirichenko.
  • Agora há uma implementação experimental do CodeLens, contribuindo com Victor Peter Rouven Müller. Você pode ativá-lo no Editor de Texto > opções > F# > Code Lens.
  • Um bug em que o serviço do compilador F# elide incorretamente os nomes dos módulos na documentação XML foi corrigido por Sebastian Urban.
  • O código usado com Dictionary e chamadas subsequentes ContainsKeyItem foi alterado para uso TryGetValuepor Eugene Auduchinok.
  • Jakob Majoka também contribuiu no processo de consumo de uma API diferente para dicas de ferramentas.

Melhorias de infraestrutura, empacotamento e software livre

Fizemos os seguintes aprimoramentos na infraestrutura, empacotamento e nossa experiência de contribuição de software livre:

  • O compilador F# distribuído com o Visual Studio não é mais instalado como um singleton no local do SDK do Compilador F#. Agora está totalmente lado a lado com o Visual Studio, o que significa que as instalações lado a lado do Visual Studio finalmente terão experiências verdadeiras de ferramentas e linguagem F# lado a lado.
  • O pacote NuGet FSharp.Core agora está assinado.
  • O log de ETW foi adicionado às ferramentas e ao compilador do F#.
  • Os arquivos muito grandes control.fs/control.fsino FSharp.Core foram divididos em async.fs/async.fsi, , event.fs/event.fsi, e .eventmodule.fs/eventmodule.fsimailbox.fs/mailbox.fsiobservable.fs/observable.fsi
  • Adicionamos versões no estilo SDK do .NET de nossos artefatos de teste de estresse de desempenho do projeto.
  • Removemos Newtonsoft.json de nossa base de código e agora você tem um pacote a menos baixado para colaboradores do OSS.
  • Agora usamos as versões mais recentes de System.Collections.Immutable e System.Reflection.Metadata.

Melhorias na conformidade e no conjunto de ferramentas do C++

Esta versão contém as seguintes melhorias de conformidade e conjunto de ferramentas do C++:

  • Um novo pré-processador baseado em token, experimental, que está em conformidade com os padrões C++11 (incluindo recursos de pré-processador C99), habilitado com a opção /experimental:preprocessor. Isso é controlado com macro _MSVC_TRADITIONAL, que é definida 1 ao usar o pré-processador tradicional e 0 ao usar o pré-processador compatível com os novos padrões experimentais.
  • O Prompt de Comando do Desenvolvedor do Visual Studio dá suporte à habilitação dos runtimes mitigados do Visual C++ Spectre Variant 1 (-vcvars_spectre_libs = spectre). Mais informações sobre mitigações do Spectre estão disponíveis no Blog da Equipe do Visual C++.
  • Duas novas adições ao Otimizador SSA focadas na geração de código C++ moderna: eliminação redundante do repositório e dobra de branches redundantes.
  • Memória otimizada mapeou o desempenho de E/S no vinculador para reduzir os tempos de vínculo.

Desenvolvimento multiplataforma do C++

Adicionamos, melhoramos e adicionamos o seguinte ao desenvolvimento multiplataforma do C++ para esta versão:

  • Adicionado o modelo Adicionar>Novo Item para gerar um arquivo de formato .clang seguindo a convenção de codificação especificada para ClangFormat emOpções>. Se a convenção do Visual Studio estiver selecionada, o arquivo gerado tentará corresponder à configuração atual de formatação do Visual Studio do usuário com base nas Opções de Ferramentas>.
  • Atualizou a versão de clang-format.exe enviada para 6.0.0.
  • Modelos para simplificar a adição de configurações a CppProperties.json.
  • Adicionados modelos para simplificar a adição de configurações a CMakeSettings.json(Figura 7).
Modelos de configuração do CMake
(Figura 7) Modelos de configuração para O CMake

Produtividade do C++

Fizemos os seguintes aprimoramentos e melhorias na produtividade do C++:

  • As dicas de ferramentas de Informações Rápidas do C++ em macros agora mostram para o que elas se expandem, em vez de apenas sua definição. Isso é particularmente útil para macros complexas que fazem referência a outras macros, pois esclarece o que o identificador de macro é substituído pelo pré-processador.
  • Foi adicionada uma nova lâmpada de correção rápida para converter macros básicas em constexpr como uma nova ferramenta para modernizar o código.
  • O IntelliSense para modelos fornece mais detalhes sobre argumentos de modelo para aproveitar ao máximo o IntelliSense em seu corpo de modelo (Figura 8).
IntelliSense de modelo
(Figura 8) IntelliSense de modelo
  • Estamos trabalhando para atualizar nossa experiência de análise de código. Agora você pode habilitar os novos recursos em andamento noEditor> de Texto deOpções>de Ferramentas>C++>Análise de Código>. A análise de código pode ser executada em segundo plano quando os arquivos são abertos ou salvos e os resultados são exibidos na lista de erros e como rabiscos verdes no editor (Figura 9).
Análise de código no editor
(Figura 9) Análise de código no editor

Melhorias de depuração do C++

Fizemos as seguintes melhorias de depuração:

  • O Just My Code agora permite que você percorra o código de bibliotecas C++ do sistema ou de terceiros, além de recolher essas chamadas na janela de pilha de chamadas. Você pode controlar esse comportamento para qualquer biblioteca C++ quando seu código é compilado com /JMC e os caminhos de bibliotecas que não são de usuário são especificados em um arquivo .natjmc. Se a biblioteca do sistema chamar o código do usuário, quando você intervir, o depurador ignorará todo o código do sistema e parará na primeira linha de retorno de chamada de código de usuário (Figura 10).
Apenas meu código
(Figura 10) Apenas meu código
  • Os pontos de interrupção de dados agora podem ser definidos dentro das janelas Watch, Quickwatch, Autos e Locals, permitindo que você interrompa quando um valor armazenado na memória é alterado em apenas alguns cliques curtos.
  • O Link de Origem permite inserir informações sobre o código-fonte original de uma biblioteca ou executável no PDB durante a compilação.
  • Ao depurar, a janela do console agora permanece aberta por padrão quando o programa encerra a execução (semelhante à execução do programa sem o depurador). Esse comportamento pode ser alternado de volta para fechar o console automaticamente na Depuração > Geral de Opções > de Ferramentas>.

Aprimoramentos de JavaScript e TypeScript

TypeScript 3.0

O Visual Studio 2017 versão 15.8 agora inclui o TypeScript 3.0 por padrão. Para obter mais detalhes sobre esta versão, consulte o comunicado de versão do TypeScript 3.0.

Suporte de Vue.js aprimorado

O suporte para a biblioteca de Vue.js foi aprimorado e, em particular, o suporte para arquivos .vue, também conhecidos como "componentes de arquivo único". Isso fornece aprimoramentos ao editar blocos de script dentro de arquivos .vue, incluindo suporte para blocos de script criados em TypeScript por meio do lang="ts" atributo no elemento script. (Observação: um processo de build usando WebPack ou similar deve ser usado para converter os arquivos .vue nos arquivos HTML e JS necessários no runtime. Consulte a página Componentes de Arquivo Único para obter mais detalhes).

Se a carga de trabalho Node.js estiver instalada, agora haverá modelos de "Aplicativo Web Vue.js Básico" nos caminhos "JavaScript/Node.js" ou "TypeScript/Node.js" na caixa de diálogo Novo Projeto. O abaixo mostra um exemplo de edição de código TypeScript dentro de um bloco de script em um arquivo .vue (Figura 11).

Editando um arquivo .vue
(Figura 11) Editando arquivos .vue

Melhorias do ESLint

Reimplementamos o suporte do ESLint para esta versão. O ESLint tem os seguintes aprimoramentos e melhorias:

  • Em vez de apenas linting arquivos salvos, o Visual Studio agora lint arquivos JavaScript à medida que você editar, também.
  • Os resultados podem ser relatados para todos os arquivos JS em seu projeto, não apenas arquivos abertos; se houver partes do projeto que você não deseja linted, um arquivo .eslintignore agora pode ser usado para especificar diretórios e arquivos que devem ser ignorados.
  • O ESLint foi atualizado para usar o ESLint 4 por padrão, mas se o projeto tiver uma instalação local do ESLint, ele usará essa versão.

O ESLint pode estar desabilitado globalmente no Visual Studio desmarcando a configuração Habilitar ESLint no **Editor > de Texto de Opções > de Ferramentas > Javascript/Typescript > Linting ** (Figura 12).

Opções de ESLint
(Figura 12) Opções de ESLint

Abrir melhorias de pasta para Node.js

Há várias melhorias trabalhando com JavaScript e TypeScript no cenário Abrir Pasta quando a " carga de trabalhoNode.js" é instalada. Por exemplo, gerenciando pacotes NPM, criando TypeScript, iniciando e depurando com Node.exe, executando scripts NPM e executando testes de unidade.

Consulte Desenvolver código JavaScript e TypeScript no Visual Studio sem soluções ou projetos} para obter mais informações.

Melhorias de desempenho do editor

Nas versões anteriores, todas as operações de serviço de linguagem JavaScript e TypeScript eram atendidas por um único processo de Node.js. Isso poderá causar atrasos no editor se comandos que afetam a digitação do usuário (como formatação automática após uma nova linha) forem enviados enquanto uma operação potencialmente longa já estava em processo (como analisar código para erros). Para atenuar isso, um processo separado agora é usado para as operações que mais afetam a edição. Esse processo é significativamente mais leve em recursos do sistema do que o processo de serviço de idioma existente. No entanto, se você quiser desabilitar o novo processo, marque a caixa Desabilitar o processo de sintaxe dedicado no JavaScript/TypeScript > Language Service do Editor > de Texto de Opções > de Ferramentas>.

Ferramentas da Web do Visual Studio

O Gerenciador de Bibliotecas é um novo recurso incluído no Visual Studio 2017. Ele ajuda você a gerenciar bibliotecas do lado do cliente em seus projetos Web.

Ferramentas de Contêiner

Adicionamos uma nova experiência de contêiner do Docker de projeto único para projetos Web do ASP.NET Core. Isso complementa as ferramentas de contêiner baseadas em Docker Compose existentes e fornece uma maneira mais simples e fácil de criar, depurar e criar contêineres do Docker diretamente do Visual Studio.

Você pode adicionar suporte ao Docker ao criar o projeto (Figura 13):

Habilitar o suporte do Docker
(Figura 13) Habilitar o suporte do Docker

Ou você pode habilitar o suporte do Docker a um projeto existente por meio do menu de contexto do projeto no Gerenciador de Soluções (Figura 14). Depois de fazer isso, o Visual Studio criará um único Dockerfile no projeto. Você tem a opção de escolher o Windows ou o Linux.

Adicionar suporte ao Docker
(Figura 14) Adicionar suporte ao Docker

O Visual Studio também adiciona um perfil de inicialização do depurador (Figura 15) para o Docker para que o projeto possa ser depurado durante a execução em um contêiner.

Perfil de Inicialização do Docker
(Figura 15) Perfil de Inicialização do Docker

Se você tiver uma solução com vários projetos do Docker, por padrão, apenas um contêiner será executado quando você optar por iniciar a solução. Se você quiser executar vários contêineres simultaneamente, clique com o botão direito do mouse na solução no Gerenciador de Soluções, selecione Definir Projetos de Inicialização e, em seguida, Vários projetos de inicialização e, em seguida, defina a lista suspensa Ação como Iniciar ou Iniciar sem depurar todos os projetos que você deseja executar.

Depois de executar o projeto em contêineres da maneira desejada, clique com o botão direito do mouse no projeto e selecione Criar Imagem do Docker para criar uma imagem localmente, quando estiver pronto para enviar por push para o Registro de Contêiner do Azure ou o DockerHub.

Você também pode adicionar a funcionalidade existente baseada em Docker Compose a um projeto Web do ASP.NET Core por meio da nova opção de Suporte do Orquestrador de Contêineres (Figura 16). Clique com o botão direito do mouse no projeto Web do ASP.NET Core no Gerenciador de Soluções, selecione Adicionar > Suporte ao Orquestrador de Contêiner e selecione Docker Compose no menu suspenso.

Adicionar suporte ao Orquestrador de Contêineres
(Figura 16) Adicionar suporte à orquestração

Publicar aprimoramentos

Esta versão contém os seguintes aprimoramentos de publicação:

  • Ao publicar um contêiner do Docker em um registro de contêiner, agora você pode personalizar a marca para a imagem. Você pode adicionar manualmente uma marca (o padrão é "mais recente") ou usar uma marca gerada automaticamente para garantir que cada marca seja exclusiva.
  • Ao criar um novo Serviço de Aplicativo do Azure, você também pode configurar o Application Insights para coletar telemetria automaticamente. Se você escolher uma região que também tenha o Application Insights, ela será habilitada por padrão. Se você escolher uma região que ainda não contenha o Application Insights, poderá especificar manualmente uma região diferente para o recurso do Application Insights na lista suspensa.
  • Ao publicar projetos do Azure Functions, você pode optar por publicar usando o novo recurso Executar do Zip .

Ferramentas do Visual Studio para Xamarin

Esta versão contém as seguintes atualizações para o Xamarin:

  • Adicionamos suporte para o Xcode 9.4.
  • Quando você cria um novo projeto do Xamarin.Forms, a opção de compartilhamento de código padrão agora é .NET Standard. A opção de projeto compartilhado ainda está disponível.
  • Adicionamos melhorias de build incremental do Android. O Xamarin.Android usa arquivos gerados no diretório de saída intermediário para obter builds incrementais mais rápidos do que os builds completos. Anteriormente, se você alterasse a estrutura de destino do projeto, ela invalidaria os arquivos e resultaria em uma compilação completa na próxima execução. Nesta versão, agora preservamos os arquivos em pastas por estrutura para que você possa alternar entre estruturas de destino diferentes e ainda se beneficiar de builds incrementais. A limpeza do projeto permite que você recupere o espaço em disco usado pelos arquivos preservados.
  • Adicionamos suporte mínimo para projetos de associação Xamarin.Mac no Visual Studio 2017. Isso permite que o Visual Studio carregue e reconheça projetos de associação do Xamarin.Mac com suporte. Você também pode criar projetos de associação do Xamarin.Mac. No entanto, o processo de build é executado localmente sem usar a cadeia de ferramentas nativa do Mac, portanto, os assemblies IL gerados não podem ser usados para execução ou depuração em aplicativos.

Hyper-V suporte ao Android Emulator

Esta versão adiciona suporte ao emulador do Google Android compatível com o Hyper-V ao ser executado na Atualização de abril de 2018 do Windows 10 (Figura 17). Isso permite que você use o emulador Android do Google lado a lado com outras tecnologias baseadas em Hyper-V, incluindo Hyper-V máquinas virtuais, ferramentas do Docker, o emulador do HoloLens e muito mais. Os desenvolvedores de aplicativos móveis que usam Hyper-V agora têm acesso a um emulador Android rápido que sempre dá suporte às APIs mais recentes do Android, trabalha com o Google Play Services pronto para uso e dá suporte a todos os recursos do emulador android, incluindo câmera, localização geográfica e Inicialização Rápida.

Captura de tela do emulador do Google Android e do emulador do HoloLens em execução ao mesmo tempo.
(Figura 17) Google Android Emulator e HoloLens Emulator

Xamarin.Android Designer

Fizemos melhorias significativas na experiência do designer para Xamarin.Android. Os destaques incluem:

  • Foi introduzido um editor de modo de exibição dividida que permite que você crie, edite e visualize seus layouts ao mesmo tempo (Figura 18).
Captura de tela do editor de exibição dividida do Xamarin.Android.
(Figura 18) Editor de exibição dividida do Xamarin.Android
  • Melhor experiência do IntelliSense e confiabilidade de controles personalizados.
  • Suporte a dados de exemplo para valores fornecidos pelo sistema.

Visualizador do Xamarin.Forms

O Visualizador do Xamarin.Forms agora tem suporte à caixa de ferramentas ao usar o Xamarin.Forms versão 3.1.0.583944 ou superior. Os controles do Xamarin.Forms serão exibidos na caixa de ferramentas para que sejam mais detectáveis para aqueles novos no kit de ferramentas. Você também pode arrastar e soltar um controle no editor de código XAML para adicionar o controle à página. O Visualizador do Xamarin.Forms agora faz parte do editor XAML. Você pode abri-lo e fechá-lo com o ícone expandir na borda do painel do editor.

Python

Esta versão adiciona as seguintes melhorias para desenvolvedores do Python:

  • O Python IntelliSense agora usa definições de tipos para fornecer resultados mais avançados para bibliotecas em que as conclusões automáticas não podem ser inferidas pela análise estática.
  • O depurador experimental, anunciado pela primeira vez nas versões prévias 15.7, agora é o mecanismo de depuração padrão usado para Python, fornecendo depuração mais rápida e confiável para código Python.
  • Adicionamos suporte para o Python 3.7, incluindo correções para habilitar recursos de depuração de anexação, criação de perfil e depuração de modo misto (entre idiomas).
  • Para obter mais informações sobre os recursos acima, confira nossa postagem de blog do Python no Visual Studio 2017 versão 15.8 .

Migrar configurações de função local do Azure

A caixa de diálogo "Configurações do Aplicativo Gerenciado" disponível na página de resumo de publicação agora exibe valores de seu arquivo local.settings.json e permite migrar valores para seu aplicativo remoto de funções do Azure hospedado no Azure.

Connected Services

Agora você pode configurar a entrega contínua para funções do Azure diretamente do Visual Studio 2017 para soluções com projetos de funções do Azure.

Aprimoramento do Gerenciador de Testes

O Gerenciador de Testes agora exibe um painel de resumo de status de teste mais informativo (painel inferior do gerenciador de testes) quando um dos agrupamentos na exibição de hierarquia é selecionado. O painel agora exibe quantos testes falharam, passaram ou não foram executados nesse agrupamento.

Novos recursos de extensibilidade

Protocolo do Servidor de Idiomas

O Visual Studio agora tem suporte nativo para o Protocolo do Servidor de Idiomas. Os autores de extensão podem criar extensões que se comunicam com servidores de linguagem existentes para adicionar suporte a idiomas adicionais ao Visual Studio. Os usuários de extensão podem instalar essas extensões para começar a usar seu idioma favorito dentro do Visual Studio, como o Rust.

Modelo asyncPackage

Os autores de extensão agora podem usar modelos de item para criar AsyncPackages para otimizar o desempenho de sua extensão. Leia mais sobre AsyncPackages.

Pacotes de extensões

Compartilhe facilmente seu conjunto favorito de extensões ou configure uma nova instalação do Visual Studio com todas as suas extensões usando um pacote de extensão. Os pacotes de extensão permitem que você crie uma lista de extensões, empacote-as em uma extensão e use-a rapidamente para instalar essas extensões em massa.

Publicação de extensão de linha de comando

Publique suas extensões no Visual Studio Marketplace usando a linha de comando.

SDK do .NET Core 2.1.400

O Visual Studio 2017 versão 15.8 inclui o SDK do .NET Core 2.1.400. Os novos recursos do SDK incluem:

  • Adição de modelos NUnit
  • Adicionado suporte para ferramentas globais assinadas
  • Texto de ajuda aprimorado para maior clareza

32 problemas foram encerrados na CLI do .NET Core.
20 problemas foram fechados no SDK do .NET Core.

Controle do código-fonte

Para projetos do .NET Core, os arquivos adicionados diretamente ao projeto por meio do Explorador de Arquivos agora mostrarão os ícones corretos de acompanhamento do Git e do TFS no Gerenciador de Soluções sem a necessidade de recarregar a solução.

Extensão do adaptador de teste do .NET

O Adaptador de Teste do .NET tem a seguinte alteração e substituição significativas:

  • Alteração significativa: todos os projetos de teste devem incluir a referência nuGet do adaptador de teste do .NET em seu csproj. Se não o fizerem, essa saída de teste será exibida no projeto se a descoberta por uma extensão do adaptador de teste for iniciada após um build ou se o usuário tentar executar os testes selecionados:
    • O projeto de teste {<Caminho completo do projeto> de teste} não faz referência a nenhum adaptador NuGet do .NET. A descoberta ou execução de teste pode não funcionar para este projeto. É recomendável fazer referência aos adaptadores de teste do NuGet em cada projeto de teste na solução.
  • As estruturas de teste do .NET têm lançado seus adaptadores em pacotes NuGet e se afastado das extensões do Visual Studio. O suporte para adaptadores de teste do .NET entregues por meio de extensões é preterido, mas ainda tem suporte. Isso significa que duas novas opções estão disponíveis no Teste de Opções > de Ferramentas>.
    • A primeira opção permite que o Visual Studio use apenas os adaptadores de teste encontrados na pasta de assembly de teste (populada pela referência do NuGet do adaptador de teste) ou conforme especificado no arquivo runsettings.
    • A segunda opção permite que o Visual Studio "fallback" para o comportamento antigo e pesquise extensões de adaptador de teste para projetos que não têm uma referência do NuGet do adaptador de teste. Ambas as opções são verificadas por padrão, portanto, nenhum comportamento padrão será alterado nesta versão.
  • Observação: Non-.NET adaptadores de teste não são afetados com essa alteração.

suporte a segredos do .NET Framework ASP.NET

Para ASP.NET, projetos do .NET Framework destinados ao .NET Framework 4.7.1 ou superior, agora você pode abrir e armazenar segredos que não deseja no código-fonte no usersecrets.xml clicando com o botão direito do mouse no projeto e selecionando "Segredos do Usuário Gerenciado".

Melhorar ASP.NET desempenho do .NET Framework

Se o pacote do Compilador .NET referenciado estiver desatualizado em um projeto do .NET Framework ASP.NET, o Visual Studio solicitará que você atualize o pacote quando você abrir o projeto para melhorar o desempenho do build.

.NET Framework 4.7.2

O Visual Studio 2017 versão 15.8 agora oferece as ferramentas de desenvolvimento do .NET Framework 4.7.2 para todas as plataformas compatíveis com o runtime 4.7.2 incluído. O .NET Framework 4.7.2 oferece vários novos recursos e melhorias, bem como inúmeras correções de confiabilidade, estabilidade, segurança e desempenho.

Você pode encontrar mais detalhes sobre o .NET Framework 4.7.2 nestes artigos:

Atrasar o carregamento do pacote

O Visual Studio agora atrasa o carregamento de pacotes assíncronos configurados para carregamento automático até que o IDE do Visual Studio tenha sido totalmente iniciado e a solução tenha sido carregada. Essa alteração não afeta pacotes carregados automaticamente de forma síncrona. Os usuários podem examinar o Centro de Status da Tarefa no canto inferior esquerdo da barra de status para monitorar o progresso. Os autores de extensão que criam assíncronos devem testar sua extensão. Para obter mais informações, consulte Aprimorando a capacidade de resposta de cenários críticos atualizando o comportamento de carregamento automático para extensões.


---

Ícone de Notas de Versão Avisos de consultoria de segurança do Visual Studio 2017 versão 15.8

Versão do Serviço do Visual Studio 2017 versão 15.8.7– lançada em 10 de outubro de 2018

Vulnerabilidade de Divulgação de Informações do .NET Core CVE-2018-8292

Existe uma vulnerabilidade de bypass de recurso de segurança no .NET Core quando as informações de autenticação HTTP são expostas inadvertidamente em uma solicitação de saída que encontra um redirecionamento HTTP. Um invasor que explorou essa vulnerabilidade com êxito pode usar as informações para comprometer ainda mais o aplicativo Web. A atualização de segurança aborda a vulnerabilidade corrigindo como os aplicativos .NET Core lidam com redirecionamentos HTTP.

Versão do Serviço do Visual Studio 2017 versão 15.8.4– lançada em 11 de setembro de 2018

Vulnerabilidade de negação de serviço do .NET Core CVE-2018-8409

Existe uma vulnerabilidade de negação de serviço no .NET Core 2.1 quando o System.IO.Pipelines manipula incorretamente as solicitações. Um invasor que explorou essa vulnerabilidade com êxito pode causar uma negação de serviço contra um aplicativo que está aproveitando System.IO.Pipelines. A vulnerabilidade pode ser explorada remotamente, sem autenticação. Um invasor remoto não autenticado pode explorar essa vulnerabilidade fornecendo solicitações especialmente criadas para o aplicativo.

CVE-2018-8409 ASP.NET vulnerabilidade de negação de serviço principal

Existe uma vulnerabilidade de negação de serviço no ASP.NET Core 2.1 que lida incorretamente com solicitações da Web. Um invasor que explorou essa vulnerabilidade com êxito pode causar uma negação de serviço em um aplicativo Web ASP.NET Core. A vulnerabilidade pode ser explorada remotamente, sem autenticação. Um invasor remoto não autenticado pode explorar essa vulnerabilidade fornecendo solicitações da Web especialmente criadas para o aplicativo ASP.NET Core.

Visual Studio 2017 versão 15.8– lançado em 14 de agosto de 2018

CVE-2018-0952 Vulnerabilidade de elevação de privilégio do coletor padrão do hub de diagnóstico

Existe uma vulnerabilidade de elevação de privilégio em um serviço do Visual Studio, o que pode levar a privilégios do sistema por um usuário não administrador ao escrever arquivos. Um invasor que se aproveitou disso poderia escrever arquivos como sistema, tendo apenas acesso ao nível do usuário. Essa atualização de segurança resolve esse problema representando o usuário atual para validar o acesso ao local do arquivo.

Visual Studio 2017 versão 15.8 Versão prévia 4 -- lançado em 10 de julho de 2018

CVE-2018-8172 Vulnerabilidade de execução de código remoto do Visual Studio

Uma vulnerabilidade de execução remota de código que pode levar à exploração do computador de um usuário abrindo um projeto ou arquivo de recurso especialmente criado. A atualização de segurança aborda a vulnerabilidade corrigindo como o Visual Studio verifica a marcação de origem de um arquivo.

Vulnerabilidade de execução remota de código CVE-2018-8260 .NET Framework

Existe uma vulnerabilidade de execução de código remoto no software .NET que pode levar à exploração do computador de um usuário, permitindo que os invasores executem código arbitrário no contexto do usuário atual. A atualização de segurança aborda a vulnerabilidade corrigindo como o .NET verifica a marcação de origem de um arquivo.

Vulnerabilidade de Adulteração de Macro Assembler da Microsoft CVE-2018-8232 .NET

Vulnerabilidade de adulteração relacionada ao código de validação incorreta do Microsoft Macro Assembler. A atualização de segurança resolve a vulnerabilidade garantindo que o Microsoft Macro Assembler valide corretamente a lógica de código.

Vulnerabilidade de bypass de recurso de segurança principal ASP.NET do CVE-2018-8171

Existe uma vulnerabilidade de bypass de recurso de segurança ASP.NET principal quando o número de tentativas de logon incorretas não é validado, o que pode levar um invasor a tentar tentativas de autenticação infinitas. A atualização aborda a vulnerabilidade validando o número de tentativas de logon incorretas.

Visual Studio 2017 versão 15.8 Versão Prévia 3 -- lançado em 26 de junho de 2018

CVE-2018-11235 Consultoria de Segurança da Microsoft para Vulnerabilidade de Segurança do Git

Corrigimos uma vulnerabilidade de segurança no Git que foi divulgada pela comunidade git. A vulnerabilidade pode levar à execução arbitrária de código quando um usuário clona um repositório mal-intencionado.

Visual Studio 2017 versão 15.8 Versão prévia 1 -- lançado em 08 de maio de 2018

CVE-2018-0765 Consultoria de Segurança da Microsoft para vulnerabilidade de negação de serviço do .NET Core

  • A Microsoft está lançando esse aviso de segurança para fornecer informações sobre uma vulnerabilidade no .NET Core e no .NET native versão 2.0. Esse aviso também fornece diretrizes sobre o que os desenvolvedores podem fazer para atualizar seus aplicativos para remover essa vulnerabilidade.
  • A Microsoft está ciente de uma vulnerabilidade de negação de serviço que existe quando o .NET Framework e o .NET Core processam incorretamente documentos XML. Um invasor que explorou essa vulnerabilidade com êxito pode causar uma negação de serviço em um aplicativo nativo .NET Framework, .NET Core ou .NET.
  • A atualização aborda a vulnerabilidade corrigindo como os aplicativos nativos do .NET Framework, do .NET Core e do .NET lidam com o processamento de documentos XML.
  • Se o aplicativo for um aplicativo ASP.NET Core, os desenvolvedores também serão aconselhados a atualizar para ASP.NET Core 2.0.8.

Ícone Release Notes IconVisual Studio 2017 versão 15.8.1

lançado em 17 de agosto de 2018

Principais problemas corrigidos na versão 15.8.1

Esses são os problemas resolvidos na versão 15.8.1:

  • Corrigido um problema em que o Visual Studio fechava inesperadamente quando uma janela do navegador era fechada durante a depuração de um projeto Web.

Ícone Release Notes IconVisual Studio 2017 versão 15.8.2

lançado em 28 de agosto de 2018

Principais problemas corrigidos na versão 15.8.2

Estes são os problemas relatados pelo cliente resolvidos na versão 15.8.2:


Ícone Release Notes IconVisual Studio 2017 versão 15.8.3

lançado em 6 de setembro de 2018

Principais problemas corrigidos na versão 15.8.3

Estes são os problemas relatados pelo cliente resolvidos na versão 15.8.3:


Ícone Release Notes IconVisual Studio 2017 versão 15.8.4

lançado em 11 de setembro de 2018

Principais problemas corrigidos na versão 15.8.4

Estes são os problemas relatados pelo cliente resolvidos na versão 15.8.4:

Avisos de Segurança


Ícone Release Notes IconVisual Studio 2017 versão 15.8.5

lançado em 20 de setembro de 2018

Resumo das novidades na versão 15.8.5

  • Agora as Ferramentas do Visual Studio para Xamarin dão suporte a Xcode 10.

Principais problemas corrigidos na versão 15.8.5

Estes são os problemas relatados pelo cliente resolvidos na versão 15.8.5:

Detalhes das novidades na versão 15.8.5

Ferramentas do Visual Studio para Xamarin

As Ferramentas do Visual Studio para Xamarin agora dão suporte ao Xcode 10, que permite criar e depurar aplicativos para iOS 12, tvOS 12 e watchOS 5. Veja como se preparar para o iOS 12 e nossa introdução ao iOS 12 para obter mais detalhes sobre os novos recursos disponíveis.


Ícone Release Notes IconVisual Studio 2017 versão 15.8.6

lançado em 02 de outubro de 2018

Resumo das novidades na versão 15.8.6

Principais problemas corrigidos na versão 15.8.6

Estes são os problemas relatados pelo cliente resolvidos na versão 15.8.6:

Detalhes das novidades na versão 15.8.6

SDK mais recente do Windows 10 para desenvolvedores da Plataforma Universal do Windows

O SDK mais recente do Windows 10 (build 17763) agora está disponível como um componente opcional para a carga de trabalho de desenvolvimento da Plataforma Universal do Windows. Você pode adicionar esse SDK à carga de trabalho selecionando a caixa de seleção do SDK do Windows 10 (10.0.17763.0 ).


Ícone Release Notes IconVisual Studio 2017 versão 15.8.7

lançado em 10 de outubro de 2018

Novidades na versão 15.8.7

Azure DevOps

O Visual Studio Team Services agora é o Azure DevOps! Você verá essa nova identidade visual no Team Explorer e em referências no Visual Studio.

Avisos de Segurança

Vulnerabilidade de Divulgação de Informações do .NET Core CVE-2018-8292


Ícone Release Notes IconVisual Studio 2017 versão 15.8.8

lançado em 24 de outubro de 2018

Principais problemas corrigidos na versão 15.8.8

Estes são os problemas relatados pelo cliente resolvidos na versão 15.8.8:


Ícone Release Notes IconVisual Studio 2017 versão 15.8.9

lançado em 2 de novembro de 2018

Principais problemas corrigidos na versão 15.8.9

Estes são os problemas relatados pelo cliente resolvidos na versão 15.8.9:


Problemas conhecidos

Veja todos os problemas conhecidos existentes e soluções alternativas disponíveis no Visual Studio 2017 versão 15.8.

Problemas conhecidos do Visual Studio 2017


Histórico de Notas de Lançamento do Visual Studio 2017

Para saber mais sobre as versões anteriores do Visual Studio 2017, confira a página Histórico de Notas de Versão do Visual Studio 2017.