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


Comunidade de Desenvolvedores | Requisitos de Sistema | Compatibilidade | Código Distribuível | Termos de Licença | Blogs | Problemas Conhecidos



Observação

Esta não é a versão mais recente do Visual Studio. Para baixar a versão mais recente, visite as notas sobre a versão atual para o Visual Studio 2019.


Para baixar o Visual Studio 2017, clique no botão de download e faça o logon com a sua Assinatura do Visual Studio quando for solicitado. Se você não tiver uma Assinatura do Visual Studio, poderá criá-la gratuitamente clicando em "Criar uma nova conta Microsoft" na página de logon. É recomendável usar o Visual Studio 2019 para obter os recursos e as correções de bugs mais recentes.

Visite a página da versão anterior para baixar outros produtos do Visual Studio 2017.


Novidades na 15.8

O Blog do Visual Studio é a fonte oficial de insights do produto da equipe de engenharia do Visual Studio. É possível encontrar informações detalhadas sobre as versões do Visual Studio 2017 15.8 nas seguintes postagens:

Versões do Visual Studio 2017 15.8

Importante

Avisos da Consultoria de Segurança do Visual Studio 2017 versão 15.8

Resumo dos novos recursos importantes na 15.8

Principais problemas corrigidos na 15.8

Estes são os problemas relatados por clientes e solucionados na 15.8:

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

The Developer Community Portal


Detalhes das novidades na 15.8

Release Notes Icon Visual Studio 2017 versão 15.8.0

lançado em 14 de agosto de 2018

Novas funcionalidades na 15.8

Instalar

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, depois instalar" no instalador (Figura 1) . Sugerimos esta opção caso você tenha uma conexão de Internet mais lenta.
  • A opção padrão permanece "Instalar durante o download", que baixa e instala em paralelo.
Download Otion
(Figura 1) Opção de download

Desempenho

Esta versão conta com as seguintes melhorias de desempenho:

  • Alternar branches para projetos do C#, do VB e do C++ é muito mais rápido para soluções grandes, pois o recarregamento de solução não é mais necessário.
  • Reduzimos o tempo para descarregar e recarregar um pequeno conjunto de projetos do C# e do VB em soluções grandes de minutos para vários segundos.
  • Adicionamos uma opção para desabilitar a reabertura de documentos que estavam abertos na sessão anterior, uma vez que a reabertura de determinados tipos de arquivos ou designers pode atrasar o carregamento da solução.
    • Ative/desative essa opção em Ferramentas > Opções > Projetos > Soluções > Geral.

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 teste único 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 para inteiros.

Criação de Perfil de Desempenho

Esta versão conta com 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 Criador de Perfil de Desempenho (ALT-F2) agora pode ser iniciada em um estado em pausa (Figura 2) . Isso pode ser útil durante a espera para que um cenário seja digno de uma investigação de Uso da CPU. Se a coleta 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 ela seja especificamente habilitada. Isso resulta em uma quantidade menor de dados para ser coletada e analisada, tornando as investigações de desempenho mais eficientes.

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

      CPU Usage Tool settings page
      (Figura 2) Configurações da ferramenta de Uso da CPU
    • Depois de iniciar o aplicativo de destino (clique em Iniciar na página de inicialização 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 da CPU no meio da exibição ou clique em Gravar Perfil da CPU logo abaixo do grafo de utilização da CPU. Clique em Gravar Perfil da CPU para habilitar/desabilitar a coleta de dados de exemplo quantas vezes desejar. A cor do grafo de utilização da CPU muda de cor para indicar se a coleção de amostra está habilitada/desabilitada naquele momento.

      CPU Usage Tool monitoring view
      (Figura 3) Grafo de Utilização da CPU
  • Adicionamos uma ferramenta de Rastreamento de Alocação de Objeto .NET:

    • A ferramenta de Rastreamento de Alocação de Objeto .NET une a família de ferramentas disponíveis para o Criador de Perfil de Desempenho. A invocação dessa ferramenta para uma sessão do criador de perfil de desempenho inicia a coleta de um rastreamento de pilha para cada alocação de objeto .NET ocorrida no aplicativo de destino. Esses dados de pilha são analisados juntamente com as informações de tipo e tamanho do objeto para revelar detalhes da atividade de memória do seu aplicativo. Você pode determinar rapidamente os padrões de alocação no código e identificar anomalias. Além disso, para eventos de GC (Coleta de Lixo), você pode determinar com facilidade quais objetos foram coletados e mantidos e identificar rapidamente os tipos de objeto que dominam o uso de memória do aplicativo.
    • Isso é especialmente útil para gravadores de API para ajudar a minimizar as alocações. Muitos aplicativos causarão um estouro dos limites de buffer envolvidos na coleta de dados de diagnóstico, mas os aplicativos de teste pequenos que exercitam cenários de uma chave de API podem ser diagnosticados muito bem. Embora o aplicativo de teste esteja em execução, o Criador de Perfil de Desempenho exibe um grafo de linha de Objetos Ativos (contagem), bem como um grafo de barras de Delta de Objeto (% de alteração).
    • Para usar a Ferramenta de Rastreamento de Alocação de Objeto .NET, exiba a página de inicialização do Criador de Perfil de Desempenho (Figura 4) , selecione um destino a ser analisado (o destino padrão é o projeto de inicialização na solução), marque a opção Rastreamento de Alocação de Objeto .NET em Ferramentas Disponíveis e, em seguida, clique em Iniciar.
    Performance Profiler launch page
    (Figura 4) Página de inicialização do Criador de Perfil de Desempenho

Criação de Perfil de Desempenho (Uso da CPU)

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

  • Agora o Modo de exibição de árvore de chamadas mostra a execução assíncrona por pilha de chamadas lógica por padrão. Você pode desativar esse comportamento desmarcando a opção Costurar Código Assíncrono no menu suspenso Filtrar da exibição principal de Uso da CPU.
  • Adicionamos uma exibição Módulos/Funções que mostram informações de desempenho por módulo (dll) e por função em um módulo. É possível mostrar a exibição de Módulos/Funções no menu de contexto disponível ao selecionar uma função na exibição principal de Uso da CPU ou do menu suspenso Exibir nos modos de exibição de Árvore de Chamadas ou Chamador/Receptor.
  • A indicação de instância foi adicionada ao grafo Uso da CPU na exibição principal da ferramenta Uso da CPU. Exiba as instâncias quando uma função está em execução (por exemplo, na pilha) clicando duas vezes em uma função listada em uma das exibições Uso da CPU.

Produtividade

Esta versão conta com os seguintes aprimoramentos de produtividade:

  • Você pode executar a limpeza de código adicional com Formatar Documento (Ctrl+K, D ou Ctrl+E, D) para desenvolvimento em C#. Configure a limpeza acessando Ferramentas > Opções > Editor de texto > C# > Estilo de código > Formatação > Geral.
  • Adicionamos mais refatorações e ações rápidas usando Ctrl + . ou Alt + Enter:
    • Inverter if permite que você inverta a lógica em instruções if-else. Coloque o cursor na palavra-chave if para disparar essa refatoração.
    • Adicionar parâmetro do site de chamada do método permite que você adicione um parâmetro a um método adicionando um argumento ao site de chamada de um método e disparando Ações Rápidas e Refatorações.
    • Remover parênteses desnecessários remove os parênteses em torno de operadores binários que não são essenciais para a compilação. Você pode configurar essa regra de estilo em Ferramentas > Opções > Editor de texto > C# > Estilo de código > 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
    • A opção Usar condicionais ternários em atribuições e instruções return também pode ser configurada como uma regra de estilo em Ferramentas > Opções > ... ou por meio do .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 o Bloco Delimitador (Ctrl + Alt + Seta para Cima) permite que você navegue rapidamente até o início do bloco de código delimitador.
    • Ir para o Problema Seguinte/Anterior (Alt + PgUp/PgDn) permite que você pule para o problema seguinte/anterior (erro, rabisco, lâmpada).
    • Ir para Membro (Ctrl + T, M) agora tem escopo para o arquivo por padrão. Você pode alterar o padrão para solução ativando/desativando o Escopo do Documento Atual (Ctrl + Alt + C).
  • Agora você pode criar pontos de inserção e seleções em vários locais aleatórios arbitrários em um arquivo com compatibilidade com vários sinais de interpolação. Isso permite que você adicione, edite ou exclua o texto em vários locais simultaneamente.
    • Insira sinais de interpolação com Ctrl + Alt + Clique com o botão esquerdo do mouse.
    • Adicione uma seleção e sinal de interpolação no próximo local que corresponde à seleção atual com Shift + Alt + Ins.
    • Confira Editar > Vários Acentos Circunflexos para obter uma lista completa de ações.
  • Acessar 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) . Encontre esses esquemas em Ferramentas > Opções > Ambiente > Teclado e no menu suspenso superior.

Depuração

Esta versão conta com os seguintes aprimoramentos de depuração:

  • Agora, quando você tiver mais de uma instância do Visual Studio 2017 instalada, poderá selecionar em qual instância implantar sua extensão durante a depuração (Figura 5) . Dessa forma, você pode, por exemplo, desenvolver no canal de versão do Visual Studio enquanto realiza a depuração no canal de versão prévia.

    Select your debug instance
    (Figura 5) Selecionar instância de depuração
  • Agora você pode anexar o Depurador de Instantâneos diretamente por meio da página Publicar resumo (Figura 6) .

    Attach Snapshot Debugger from Publish Summary page
    (Figura 6) Anexar 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 minidespejos com heap.

Ferramentas para Desenvolvedores da Plataforma Universal do Windows

Fizemos várias melhorias importantes para o designer XAML para projetos direcionados para a Plataforma Universal do Windows com uma versão de plataforma de destino dos do Windows 10 Fall Creators Update (build 16299) ou posterior. Essas melhorias incluem:

  • Agora você pode editar coleções na Inspeção de Propriedade.
  • O designer agora permite que Modelos e Estilos sejam editados, incluindo quando as definições para essas entidades são definidas em outros documentos.
  • As propriedades do tipo IconElement (por exemplo, um Ícone em um AppBarButton) agora têm um editor personalizado na Inspeção de Propriedade, facilitando a definição dessas propriedades.
  • O designer, o editor e a opção Editar e Continuar agora devem funcionar corretamente com x:DefaultBindMode.
  • A experiência do Gerenciador de Estado Visual no Blend agora é compatível com AdaptiveTrigger.

Ferramentas do F# 4.5 e F# para Visual Studio

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

F# 4.5

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

Suporte para Span<'T>

Implementamos Span<'T> e os recursos relacionados para que o consumo efetivo e a produção de APIs usando constructos semelhantes a Span, Memory e ref sejam possíveis com o F#. Os recursos para isso incluem:

  • Novo tipo voidptr.
  • Novas funções NativePtr.ofVoidPtr e NativePtr.toVoidPtr 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 no C#.
  • A capacidade de produzir structs ByRefLike (como Span e ReadOnlySpan).
  • A capacidade de produzir structs IsReadOnly.
  • Desreferência implícita de retornos byref e inref de métodos.
  • A capacidade de produzir membros de extensão em byref/inref/outref.

Esse conjunto de funcionalidades corrige um bug no design inicial de retornos byref no F# 4.1, em que as funções, os métodos e as propriedades que retornavam byrefs não estavam desreferenciando implicitamente o valor retornado. Fizemos essa alteração para alinhar o recurso com como o C# lida com retornos ref. Uma mensagem de erro é usada quando uma anotação de tipo indica que uma desreferência implícita de um retorno ref é usada agora.

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

Você pode saber mais sobre os constructos semelhantes a span e ref no RFC desse conjunto de recursos.

Match! em expressões de computação

O F# 4.5 introduz match!, uma nova palavra-chave para uso em expressões de computação, uma contribuição inteiramente de John Wostenberg. Essa simplificação da sintaxe é equivalente a um let! seguido por um match no resultado. Você pode saber mais no RFC de match!.

Atenuar a necessidade de elevação com yield em sequência, lista e expressões de matriz

O F# 4.5 agora atenua alguns casos em que uma elevação ao usar yield era necessária para converter um subtipo em um supertipo. Essa restrição já não era necessária para essas expressões desde o F# 3.1 quando não era feito o uso de yield, portanto isso torna as coisas mais consistentes com o comportamento existente. Você pode saber mais no RFC desse recurso.

Permitindo o recuo em colchetes de lista e matriz

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

Casos de enumeração 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 a como o C# emite casos de enumeração. Isso também torna mais fácil para as ferramentas de criação de perfil analisarem logs do código F#, em que o valor em vez de o nome do rótulo foi emitido. Você pode saber mais no RFC desse recurso.

Melhorias do compilador do F#

As melhorias do compilador do F#, além dos recursos da linguagem mencionados anteriormente, estão no F# 4.5. Elas incluem:

  • Melhoramos trabalho de desempenho do compilador removendo até 2,2% de todas as alocações no compilador do F# (em vários cenários).
  • Corrigimos um bug que resulta em uma AccessViolatioNException ao usar yield! com enumeráveis baseados em struct.
  • Agora é possível herdar de FSharpFunc novamente.
  • Chamadas tail estão desabilitadas por padrão para builds de depuração do F# para .NET Core. Elas estão habilitadas para a versão, correspondendo assim ao compilador do F# de área de trabalho.
  • A normalização de referência de F# foi corrigida para permitir que você controle referências de assembly transitivas 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 durante a tentativa de usar a invocação dinâmica em funções embutidas era ignorada. Agora a mensagem de erro é propagada.
  • O F# agora respeita o sinalizador WarningsNotAsErrors que pode ser definido em arquivos de projeto.
  • A condição de tipo quando branches de uma correspondência de padrão não retornam a mesma mensagem de erro foi atualizada para ser mais amigável por Isaac Abraham.
  • Um bug de erro interno ao compilar a implementação da interface que não tem uma implementação de método sobrecarregada foi corrigido por Steffen Forkmann.
  • Algumas cópias de matriz desnecessárias na fase de léxico do compilador foram removidas por Gauthier Segay.
  • As correspondências de padrão incompletas em enumerações do F# agora geram um aviso detalhado que fornece um exemplo de um caso não coberto, contribuição de John Wostenberg.
  • `#nowarn "2003" agora é respeitado, contribuição de Matthias Diitrich.
  • Um bug em que o consumo de métodos de extensões do C# poderia falhar na resolução de sobrecarga do F# foi corrigido por Steffen Forkmann.
  • Um bug de estrutura de dados QueueList foi corrigido por Steffen Forkmann.
  • Vários esforços de limpeza de código e otimizações menores foram contribuições de Steffen Forkmann, Eugene Auduchinok e ncave.

Biblioteca Principal do F# 4.5.x

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

  • Um trabalho significativo foi feito para melhorar os rastreamentos de pilha para expressões de computação async { }. Agora você deve ser capaz de ver o código do usuário e os números de linha do usuário em rastreamentos de pilha. Você pode saber mais no RFC desse recurso.
  • As APIs FuncConvert.FromFunc e FuncConvert.FromAction que o tipo System.Func e System.Action sobrecarrega, para ajudar na interoperação com C#. Você pode saber mais no RFC desse recurso.
  • ValueOption é um novo tipo disponível, que é o primeiro em um conjunto de recursos futuros basicamente destinado ao melhor desempenho de Padrões Ativos. Você pode saber mais no RFC desse recurso.
  • TryGetValue agora é um novo membro do tipo de Mapa do F#. Você pode saber mais no RFC desse recurso.
  • Corrigimos o Alto uso da CPU na primeira invocação de MailboxProcessor.TryReceive.
  • A comparação para bool agora usa a comparação genérica rápida, contribuição de Vasily Kirichenko.
  • O texto de resumo para Array.allPairs foi atualizado para estar correto, contribuição de Patrick McDonald

Aprimoramentos de ferramentas de F#

Melhorias significativas nas ferramentas F#, como melhorais de desempenho, e algumas novas funcionalidades de editor foram incluídas nesta versão. Como sempre, com um grande número de contribuições da comunidade de software livre do F#. Aqui estão os destaques:

  • Melhoramos o desempenho do IntelliSense para projetos do estilo do SDK do .NET para todas as formas, incluindo as que usam vários destinos.
  • Um esforço da comunidade para analisar e melhorar o desempenho do IntelliSense para arquivos muito grandes foi uma contribuição de Vasily Kirichenko, Steffen Forkmann e Gauthier Segay. O IntelliSense em arquivos muito grandes (mais de 10 mil linhas de código) está aproximadamente duas vezes mais rápido agora.
  • O aviso para um FSharp.Core desatualizado (independentemente do pacote sendo instalado) não está mais presente em projetos do estilo do SDK do .NET.
  • A dica de ferramenta da descrição que exibe a documentação XML para um membro após . no IntelliSense não atinge mais o tempo limite após 10 segundos.
  • Foi corrigido um bug em que não era possível definir pontos de interrupções em argumentos do construtor de objetos.
  • Foi corrigido um bug em que um símbolo renomeado seria duplicado quando ele fosse um parâmetro genérico.
  • Os modelos do .NET Framework (modelos do F# clássicos) agora consumem o FSharp.Core de um pacote do NuGet, para se alinharem aos modelos do F# do SDK do .NET.
  • O preenchimento de chaves automático e transacional agora está disponível para os pares de chaves (), [], {}, [||] e [<>]. Realizamos esse trabalho em colaboração com Gibran Rosa.
  • Agora você pode ir para definição com Ctrl + Clique em um símbolo do F#. As configurações para esse gesto também serão respeitadas na janela Ferramentas > Opções.
  • A interface do usuário de desempenho do IntelliSense foi modificada para permitir a configuração de informações de typecheck obsoletas para vários recursos do IDE. As explicações sobre cada opção agora estão presentes nas dicas de ferramentas das configurações.
  • O realce de correspondência de chaves agora realça as chaves corretamente, concluído em colaboração com Vasily Kirichenko.
  • Ir para definição agora navega corretamente quando um tipo é definido recursivamente, contribuição de Vasily Kirichenko.
  • Um bug em que um namespace importado automaticamente não era aberto quando a parte superior de um arquivo estava vazia foi corrigido por Vasily Kirichenko.
  • Um bug em que os especificadores printf que continham pontos eram coloridos incorretamente foi corrigido por Vasily Kirichenko.
  • Um bug em que todas as aberturas eram consideradas não utilizadas dentro de um módulo recursivo foi corrigido por Vasily Kirichenko.
  • O desempenho do analisador de Aberturas Não Utilizadas foi melhorado significativamente por Vasily Kirichenko.
  • O preenchimento automático para atributos agora sugere apenas as opções que são realmente atributos, contribuição de Vasily Kirichenko.
  • Agora dicas de ferramenta da Ajuda da Assinatura são geradas para parâmetros estáticos do Provedor de Tipos no site de chamada do construtor, contribuição de 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 poderia desaparecer para alguns arquivos durante a rolagem foi corrigido por Vasily Kirichenko.
  • Agora há uma implementação de CodeLens experimental, contribuição de Victor Peter Rouven Müller. Você pode ativá-la em Opções > Editor de Texto > F#> CodeLens.
  • Um bug em que o serviço de compilador do F# omitiria incorretamente os nomes de módulo na documentação XML foi corrigido por Sebastian Urban.
  • O código que usa Dictionary com ContainsKey e as chamadas Item subsequentes foi alterado para usar TryGetValue, por Eugene Auduchinok.
  • Jakob Majoka também contribuiu no processo de consumir uma API diferente para Dicas de Ferramentas.

Melhorias de infraestrutura, empacotamento e software livre

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

  • O compilador do F# distribuído com o Visual Studio não instala mais um singleton na localização do SDK do Compilador do F#. Agora ele 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 de linguagem e ferramentas do F# realmente lado a lado.
  • O pacote do NuGet do FSharp.Core agora está assinado.
  • O registro em log do ETW foi adicionado ao compilador e às ferramentas do F#.
  • Os arquivos control.fs/control.fsi muito grandes no FSharp.Core foram divididos em async.fs/async.fsi, event.fs/event.fsi, eventmodule.fs/eventmodule.fsi, mailbox.fs/mailbox.fsi e observable.fs/observable.fsi.
  • Adicionamos versões de estilo do SDK do .NET dos nossos artefatos de teste de estresse de desempenho de projeto.
  • Removemos o Newtonsoft.json de nossa base de códigos, e agora você tem um pacote a menos baixado para colaboradores de OSS.
  • Agora usamos as versões mais recentes de System.Collections.Immutable e System.Reflection.Metadata.

Melhorias de conformidade e conjunto de ferramentas do C++

Esta versão conta com as seguintes melhorias de conformidade e conjunto de ferramentas do C++:

  • Um novo pré-processador baseado em token experimental que está em conformidade com padrões do C++11 (incluindo recursos do pré-processador C99), habilitado com a opção /experimental:preprocessor. Isso é controlado com a macro _MSVC_TRADITIONAL, que é definida como 1 ao usar o pré-processador tradicional e 0 ao usar o novo pré-processador experimental em conformidade com os padrões.
  • O Prompt de Comando do Desenvolvedor do Visual Studio é compatível com a habilitação de runtimes mitigados de variante 1 do Visual C++ Spectre (-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 voltadas para a geração de código C++ moderna: eliminação de armazenamento com redundância e dobra de branches com redundância.
  • Desempenho de E/S mapeado de memória otimizada no vinculador para reduzir os tempos de vinculação.

Desenvolvimento multiplataforma do C++

Adicionamos, melhoramos e adicionamos o seguinte ao desenvolvimento multiplataforma do C++ para essa 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 em Ferramentas > Opções. Se a convenção do Visual Studio for selecionada, o arquivo gerado tentará corresponder à configuração de formatação atual do Visual Studio do usuário em Ferramentas > Opções.
  • Atualizada a versão de clang-format.exe fornecido 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 para CMakeSettings.json (Figura 7) .
Configuration templates for CMake
(Figura 7) Modelos de configuração para o CMake

Produtividade do C++

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

  • Dicas de ferramenta Informações Rápidas do C++ em macros agora mostram no que eles se expandem, em vez de apenas sua definição. Isso é particularmente útil para macros complexas que referenciam outras macros, pois isso esclarece pelo 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 para constexpr como uma nova ferramenta para modernizar o código.
  • O IntelliSense para modelos fornece a você mais detalhes sobre os argumentos de modelo para aproveitar ao máximo o IntelliSense no corpo do modelo (Figura 8) .
Template IntelliSense
(Figura 8) IntelliSense de modelo
  • Estamos trabalhando para atualizar nossa experiência de análise de código. Agora você pode habilitar as novas funcionalidades em andamento em Ferramentas > Opções > Editor de Texto > C++ > Experimental > Análise de Código. A análise de código pode ser executada em segundo plano quando arquivos são abertos ou salvos, e os resultados são exibidos na lista de erros e como linhas onduladas verdes no editor (Figura 9) .
In-editor code analysis
(Figura 9) Análise de código no editor

Melhorias na depuração do C++

Fizemos as seguintes melhorias de depuração:

  • Apenas Meu Código 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 todas as bibliotecas C++ quando seu código é compilado com /JMC e os caminhos de bibliotecas que não são de usuários são especificados em um arquivo .natjmc. Se a biblioteca do sistema chamar o código do usuário, quando você entrar, o depurador ignorará todo o código de sistema e parará na primeira linha de retorno de chamada do código de usuário (Figura 10) .
Just My Code
(Figura 10) Apenas Meu Código
  • Os pontos de interrupção de dados agora podem ser definidos dentro das janelas Inspecionar, Quickwatch, Autos e Locais, permitindo que você interrompa quando um valor armazenado na memória mudar com apenas alguns breves cliques.
  • O Link de Origem permite que você insira informações sobre um executável ou o código-fonte original da biblioteca no PDB durante a compilação.
  • Durante a depuração, a janela do console agora permanece aberta por padrão quando o programa termina a execução (semelhante à execução do programa sem o depurador). Esse comportamento pode ser alternado de volta para fechar o console automaticamente em Ferramentas > Opções > Depuração > Geral.

Melhorias 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, confira o comunicado de versão do TypeScript 3.0.

Suporte aprimorado para o Vue.js

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

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

Editing a .vue file
(Figura 11) Editando arquivos .vue

Melhorias no ESLint

Reimplementamos o suporte para o ESLint nesta versão. O ESLint traz os seguintes aprimoramentos:

  • Em vez de apenas fazer linting dos arquivos salvos, o Visual Studio agora também fará linting de arquivos JavaScript no momento da edição.
  • Os resultados podem ser relatados para todos os arquivos JS do projeto, não apenas para os arquivos abertos; se houver partes do projeto que você não deseja submeter ao linting, um arquivo .eslintignore poderá 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 em vez daquela.

O ESLint pode ser desabilitado globalmente no Visual Studio desmarcando a opção Habilitar ESLint em **Ferramentas > Opções > Editor de Texto > JavaScript/TypeScript > Linting ** (Figura 12) .

ESLint Options
(Figura 12) Opções do ESLint

Melhorias na opção Abrir Pasta para o Node.js

Há várias melhorias no trabalho com o JavaScript e o TypeScript no cenário da opção Abrir Pasta quando a "carga de trabalho Node.js" é instalada. Por exemplo, gerenciamento de pacotes NPM, build do TypeScript, inicialização e depuração com o Node.exe, execução de scripts NPM e execução de testes de unidade.

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

Melhorias de desempenho do editor

Em versões anteriores, todas as operações de serviço de linguagem do JavaScript e do TypeScript eram atendidas por um único processo do Node.js. Isso podia causar atrasos no editor se os comandos que afetam a digitação do usuário (como a formatação automática após uma nova linha) eram enviados enquanto uma operação potencialmente demorada já estivesse em processo (por exemplo, a análise de código em busca de 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 no processo de serviço de linguagem existente. No entanto, caso deseje desabilitar o novo processo, marque a caixa Desabilitar processo de sintaxe dedicado em Ferramentas > Opções > Editor de Texto > JavaScript/TypeScript >Serviço de Linguagem.

Ferramentas da Web do Visual Studio

O Gerenciador de Bibliotecas é um novo recurso incluído no Visual Studio 2017. Ele ajuda a gerenciar bibliotecas do lado do cliente em seus projetos da 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 o conjunto de ferramentas de contêiner com base em Docker Compose existentes e fornece uma maneira mais simples e fácil de criar, depurar e compilar contêineres do Docker diretamente do Visual Studio.

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

Enable Docker Support
(Figura 13) Habilitar suporte ao Docker

Se preferir, habilite o suporte ao Docker em 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 cria um único Dockerfile no projeto. Você tem a opção de escolher Windows ou Linux.

Add Docker Support
(Figura 14) Adicionar suporte ao Docker

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

Docker Launch Profile
(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 ao escolher iniciar a solução. Caso deseje executar vários contêineres simultaneamente, no Gerenciador de Soluções, clique com o botão direito do mouse na solução e selecione Definir Projetos de Inicialização, Vários projetos de inicialização e, em seguida, defina a lista suspensa Ação como Iniciar ou Iniciar sem depuração para todos os projetos que deseja executar.

Depois que seu projeto em contêineres estiver em execução da maneira desejada, é possível clicar com o botão direito do mouse no projeto e selecionar Criar a Imagem do Docker para criar uma imagem localmente, quando estiver pronto para enviar por push ao Registro de Contêiner do Azure ou ao DockerHub.

Adicione também a funcionalidade existente baseada no Docker Compose a um projeto Web do ASP.NET Core por meio da nova opção Suporte de 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 de Orquestrador de Contêineres e, em seguida, selecione Docker Compose no menu suspenso.

Add Container Orchestrator Support
(Figura 16) Adicionar suporte de orquestração

Melhorias de publicação

Esta versão conta com as seguintes melhorias 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 Serviço de Aplicativo do Azure, configure também o Application Insights para coletar a telemetria automaticamente. Se você escolher uma região que também tem o Application Insights, ele será habilitado por padrão. Se você escolher uma região que ainda não contém o Application Insights, poderá especificar manualmente uma região diferente para seu recurso do Application Insights na lista suspensa.
  • Ao publicar projetos do Azure Functions você pode optar por publicar usando o novo recurso Run-From-Zip.

Ferramentas do Visual Studio para Xamarin

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

  • Adicionamos o suporte para 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 incrementais do Android. O Xamarin.Android usa arquivos gerados no diretório de saída intermediário para alcançar builds incrementais que são mais rápidos que builds completos. Anteriormente, se você alterasse a estrutura de destino do seu projeto, isso invalidaria os arquivos e resultaria em um build completo na próxima execução. Nessa versão, agora preservamos os arquivos em pastas por estrutura para que você possa alternar entre diferentes estruturas de destino e ainda se beneficiar dos 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 do Xamarin.Mac no Visual Studio 2017. Isso permite que o Visual Studio carregue e reconheça os projetos de associação do Xamarin.Mac como compatíveis. 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 a execução ou a depuração em aplicativos.

Suporte ao Android Emulator do Hyper-V

Esta versão adiciona suporte ao Google Android Emulator que é compatível com o Hyper-V durante a execução na Atualização de abril de 2018 do Windows 10 (Figura 17) . Isso permite que você use o Android Emulator do Google lado a lado com outras tecnologias baseadas em Hyper-V, incluindo máquinas virtuais Hyper-V, conjunto de ferramentas do Docker, emulador HoloLens e muito mais. Os desenvolvedores de aplicativos móveis que usam o Hyper-V agora têm acesso a um Android Emulator rápido que sempre é compatível com as APIs do Android mais recentes, funciona com o Google Play Services e é compatível com todos os recursos do Android Emulator, incluindo a câmera, a geolocalização e a Inicialização Rápida.

Screenshot of both the Google Android emulator and HoloLens emulator running at the same time.
(Figure 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 incluído um editor de modo divisão que permite que você crie, edite e visualize seus layouts ao mesmo tempo (Figura 18) .
Screenshot of the Xamarin.Android split-view editor.
(Figura 18) Editor de modo divisão do Xamarin.Android
  • Experiência do IntelliSense e confiabilidade dos controles personalizados melhoradas.
  • Suporte a dados de amostra de valores fornecidos pelo sistema.

Pré-visualizador do Xamarin.Forms

O Pré-visualizador do Xamarin.Forms agora é compatível com a 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 os iniciantes no conjunto de ferramentas. Você também pode arrastar e soltar um controle no editor de código XAML para adicionar o controle à página. Agora, o Visualizador de Xamarin.Forms faz parte do editor XAML. Você pode abrir e fechá-lo com o ícone de expansão na borda do painel do editor.

Python

Essa versão adiciona as seguintes melhorias para desenvolvedores de Python:

  • O Python IntelliSense agora usa definições typeshed para fornecer resultados mais completos para bibliotecas em que os preenchimentos automáticos não podem ser inferidos 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 o Python, fornecendo a depuração mais rápida e confiável para o código Python.
  • Adicionamos suporte para Python 3.7, incluindo correções para habilitar os recursos de depuração de anexação de depuração, criação de perfil e modo misto (em qualquer linguagem).
  • Para obter mais informações sobre as funcionalidades acima, veja nossa postagem no blog sobre o Python no Visual Studio 2017 versão 15.8.

Migrar as configurações do Azure Functions local

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

Serviços conectados

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

Melhoria do Gerenciador de Testes

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

Novos recursos de extensibilidade

Language Server Protocol

Agora o Visual Studio tem compatibilidade nativa para o Language Server Protocol. Os autores de extensão podem criar extensões que se comunicam com servidores de linguagem existentes para adicionar suporte a linguagens adicionais ao Visual Studio. Os usuários de extensão podem instalar essas extensões para começar a usar sua linguagem favorita dentro do Visual Studio, como Rust.

Modelo AsyncPackage

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

Pacotes de extensão

Compartilhe com facilidade seu conjunto de extensões favorito ou configure uma nova instalação do Visual Studio com todas as suas extensões usando o pacote de extensões. Os pacotes de extensão permitem que você crie uma lista de extensões, empacote-as em uma extensão e as use 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 2.1.400 do .NET Core. Os novos recursos de SDK incluem:

  • Modelos do NUnit adicionados
  • 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 encerrados 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 de acompanhamento do Git e do TFS corretos no Gerenciador de Soluções em precisar recarregar a solução.

Extensão do Adaptador de Teste do .NET

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

  • Alteração da falha: todos os projetos de teste devem incluir a referência ao NuGet do adaptador de teste do .NET no arquivo .csproj. Se não incluírem, a saída desse teste aparecerá 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 {<Full path of test project>} não faz referência a qualquer adaptador do NuGet do .NET. A execução ou a detecção de testes pode não funcionar para esse projeto. É recomendável referenciar os adaptadores de teste NuGet em cada projeto de teste na solução.
  • As estruturas de teste do .NET têm lançado seus adaptadores em pacotes do NuGet e se distanciando de extensões do Visual Studio. O suporte para adaptadores de teste do .NET fornecidos por meio de extensões foi preterido, mas ainda é compatível. Isso significa que duas novas opções estão disponíveis em Ferramentas > Opções > Teste.
    • A primeira opção permite que o Visual Studio use apenas os adaptadores de teste que encontra na pasta do 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 faça o "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 de adaptador de teste. As duas opções são selecionadas por padrão, portanto, nenhum comportamento padrão será alterado nesta versão.
  • Observação: os adaptadores de teste não .NET não são afetados com essa alteração.

Suporte de segredos .NET Framework do ASP.NET

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

Melhorar o desempenho do .NET Framework do ASP.NET

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

.NET Framework 4.7.2

Agora o Visual Studio 2017 versão 15.8 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 diversos novos recursos e melhorias, bem como várias correções de confiabilidade, estabilidade, segurança e desempenho.

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

Atrasar o carregamento de pacote

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


---

Release Notes Icon Avisos da Consultoria de Segurança do Visual Studio 2017 versão 15.8

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

CVE-2018-8292 Vulnerabilidade da divulgação de informações confidenciais do .NET Core

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

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

CVE-2018-8409 Vulnerabilidade de Ataque de Negação de Serviço do .NET Core

Há uma vulnerabilidade de negação de serviço no .NET Core 2.1 quando System.IO.Pipelines manipula solicitações incorretamente. Um invasor que explorasse com êxito essa vulnerabilidade poderia causar uma negação de serviço em relação a um aplicativo que utiliza o System.IO.Pipelines. A vulnerabilidade pode ser explorada remotamente, sem autenticação. Um invasor não autenticado remoto pode explorar essa vulnerabilidade fornecendo solicitações especialmente criadas para o aplicativo.

CVE-2018-8409 Vulnerabilidade de Ataque de Negação de Serviço do ASP.NET Core

Há uma vulnerabilidade de negação de serviço no ASP.NET Core 2.1 que 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. Um invasor não autenticado remoto pode explorar essa vulnerabilidade fornecendo solicitações especialmente criadas para o aplicativo do ASP.NET Core.

Visual Studio 2017 versão 15.8 – lançada 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

Há uma vulnerabilidade de elevação de privilégio em um serviço do Visual Studio que pode levar a privilégios do sistema por um usuário não administrador durante a gravação de arquivos. Um invasor que aproveitou essa vulnerabilidade pôde gravar arquivos como sistema tendo apenas o acesso no nível de usuário. Esta atualização de segurança resolve esse problema pela representação do usuário atual para validar o acesso ao local do arquivo.

Visual Studio 2017 versão 15.8 Versão prévia 4 -- lançada 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 de código remoto que pode levar à exploração do computador de um usuário, abrindo um arquivo de recurso ou projeto especialmente criado. A atualização de segurança resolve a vulnerabilidade corrigindo o modo como o Visual Studio verifica a marcação de origem de um arquivo.

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

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

CVE-2018-8232 Vulnerabilidade de falsificação do .NET Microsoft Macro Assembler

Vulnerabilidade para falsificação relacionada a validação de código incorreta pelo Microsoft Macro Assembler. A atualização de segurança resolve a vulnerabilidade, garantindo que o Microsoft Macro Assembler valide a lógica de código adequadamente.

CVE-2018-8171 Vulnerabilidade de bypass da funcionalidade de segurança do ASP.NET Core

Uma vulnerabilidade de bypass de recurso de segurança do ASP.NET Core existe quando o número de tentativas de logon incorretas não é validado. Isso pode levar a um invasor a tentar um número infinito de tentativas de autenticação. A atualização resolve a vulnerabilidade, validando o número de tentativas de logon incorretas.

Visual Studio 2017 versão 15.8 Versão prévia 3 -- lançada 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 do Git. A vulnerabilidade pode levar à execução de código arbitrário quando um usuário clona um repositório mal-intencionado.

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

CVE-2018-0765 Aviso de segurança da Microsoft sobre a vulnerabilidade de ataque de negação de serviço do .NET Core

  • A Microsoft está publicando este comunicado de segurança para fornecer informações sobre uma vulnerabilidade no .NET Core na versão 2.0 do .NET nativo. Esse comunicado também fornece orientação 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 ocorre quando o .NET Framework e o .NET Core processam documentos XML incorretamente. Um invasor que explorasse com êxito essa vulnerabilidade poderia causar uma negação de serviço em relação a um aplicativo nativo do .NET, .NET Framework ou .NET Core.
  • A atualização resolve a vulnerabilidade corrigindo como o .NET Framework, .NET Core e aplicativos nativos do .NET manipulam o processamento de documentos XML.
  • É recomendável atualizar para o ASP.NET Core 2.0.8. se o aplicativo for do ASP.NET Core.

Release Notes Icon Visual Studio 2017 versão 15.8.1

lançado em 17 de agosto de 2018

Principais problemas corrigidos no 15.8.1

Estes são os problemas resolvidos no 15.8.1:

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

Release Notes Icon Visual Studio 2017 versão 15.8.2

lançado em 28 de agosto de 2018

Principais problemas corrigidos no 15.8.2

Estes são os problemas relatados por clientes e solucionados na 15.8.2:


Release Notes Icon Visual Studio 2017 versão 15.8.3

lançado em 6 de setembro de 2018

Principais problemas corrigidos no 15.8.3

Estes são os problemas relatados por clientes e solucionados na 15.8.3:


Release Notes Icon Visual 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 por clientes e solucionados na versão 15.8.4:

Avisos de Consultoria de Segurança


Release Notes Icon Visual Studio 2017 versão 15.8.5

lançado em 20 de setembro de 2018

Resumo das Novidades na 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 por clientes e solucionados na versão 15.8.5:

Detalhes das novidades na versão 15.8.5

Ferramentas do Visual Studio para Xamarin

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


Release Notes Icon Visual Studio 2017 versão 15.8.6

lançado em 02 de outubro de 2018

Resumo das Novidades na 15.8.6

Principais problemas corrigidos na versão 15.8.6

Estes são os problemas relatados por clientes e solucionados na 15.8.6:

Detalhes das novidades na versão 15.8.6

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

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


Release Notes Icon Visual Studio 2017 versão 15.8.7

lançado em 10 de outubro de 2018

Novidades na 15.8.7

Azure DevOps

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

Avisos de Consultoria de Segurança

CVE-2018-8292 Vulnerabilidade da divulgação de informações confidenciais do .NET Core


Release Notes Icon Visual 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 por clientes solucionados na 15.8.8:


Release Notes Icon Visual 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 por clientes solucionados na versão 15.8.9:


Problemas conhecidos

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

Visual Studio 2017 Known Issues


Comentários e sugestões

Adoraríamos ouvir sua opinião! 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 Report a Problem Icon 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.

Developer Tools Blogs


Histórico de Notas de Versão 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.


Início da página