Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Notas de versão do
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:
- Visual Studio 2017 versão 15.8 -- Leia a última postagem no blog!
Versões do Visual Studio 2017 versão 15.8
- 2 de novembro de 2018 – Atualização de manutenção do Visual Studio 2017 versão 15.8.9
- 24 de outubro de 2018 – Atualização de manutenção do Visual Studio 2017 versão 15.8.8
- 10 de outubro de 2018 – Atualização de manutenção do Visual Studio 2017 versão 15.8.7
- 02 de outubro de 2018 – Atualização de manutenção do Visual Studio 2017 versão 15.8.6
- 20 de setembro de 2018 – Atualização de manutenção do Visual Studio 2017 versão 15.8.5
- 11 de setembro de 2018 – Atualização de manutenção do Visual Studio 2017 versão 15.8.4
- 6 de setembro de 2018 – Atualização de manutenção do Visual Studio 2017 versão 15.8.3
- 28 de agosto de 2018 – Atualização de manutenção do Visual Studio 2017 versão 15.8.2
- 17 de agosto de 2018 – Atualização de manutenção do Visual Studio 2017 versão 15.8.1
- 14 de agosto de 2018 – Versão secundária do Visual Studio 2017 versão 15.8
Importante
Avisos de consultoria de segurança do Visual Studio 2017 versão 15.8
- 10 de outubro de 2018 – Atualização de manutenção do Visual Studio 2017 versão 15.8.7
- 11 de setembro de 2018 – Atualização de manutenção do Visual Studio 2017 versão 15.8.4
- 14 de agosto de 2018 – Visual Studio 2017 versão 15.8
- 10 de julho de 2018 – Visual Studio 2017 versão 15.8 Versão prévia 4
- 26 de junho de 2018 – Visual Studio 2017 versão 15.8 Versão prévia 3
- 08 de maio de 2018 – Visual Studio 2017 versão 15.8 Versão prévia 1
Resumo dos novos recursos notáveis na versão 15.8
- O instalador agora oferece a opção de baixar todos os arquivos antes de iniciar a instalação.
- Melhoramos o desempenho durante o descarregamento/recarregamento do projeto e a alternância de ramificação.
- Os tempos de carregamento da solução podem ser aprimorados desabilitando a restauração automática de documentos.
- Fizemos melhorias significativas no desempenho do teste ao executar soluções grandes com vários projetos de teste.
- O Visual Basic agora fornece uma melhoria significativa de desempenho.
- A Criação de Perfil de Desempenho agora oferece a capacidade de pausar/retomar a coleta de dados e uma nova ferramenta de Controle de Alocação de Objetos do .NET foi adicionada.
- Fizemos melhorias na ferramenta uso da CPU para Criação de Perfil de Desempenho.
- Adicionamos novos recursos de produtividade , como limpeza de código, refatoração inverter-se, Ir para Bloco Delimitado, suporte a vários cursos e novos perfis de teclado.
- Você pode escolher sua instância de destino ao depurar extensões.
- Inicie o Depurador de Instantâneos diretamente na página de resumo de publicação.
-
Introduzimos o F# 4.5, uma nova versão de linguagem que dá suporte
Span<'T>completo e contém melhorias significativas nos rastreamentos de pilha para código assíncrono. - Melhoramos o desempenho e adicionamos novos recursos em ferramentas F# , como Ctrl+Click to Go to Definition.
- Os aprimoramentos no conjunto de ferramentas do C++ incluem melhorias no otimizador e vinculador do SSA.
- As adições de desenvolvimento entre plataformas do C++ incluem atualizações do ClangFormat e modelos de configuração no CMake e no Open Folder para MinGW, Linux e Windows.
- As alterações na produtividade do C++ incluem o Modelo IntelliSense, dicas de ferramentas de Informações Rápidas em macros, conversão em lâmpadas constexpr, rabiscos de análise de código no editor e muito mais.
- As melhorias de depuração do C++ incluem atualizações do Just My Code e novos pontos de interrupção de dados.
- Há inúmeros recursos e melhorias do JavaScript e typeScript .
- Agora você pode gerenciar bibliotecas do lado do cliente em seus projetos Web.
- Adicionamos uma nova experiência de contêiner do Docker de projeto único para projetos Web do ASP.NET Core.
- Agora você pode personalizar a marca para uma imagem do Docker com as melhorias de publicação feitas nesta versão.
- As melhorias do Xamarin incluem suporte para o Xcode 9.4 e builds incrementais android mais inteligentes.
- Você pode usar o emulador Android do Google lado a lado com o Hyper-V no Windows 10 April 2018 Update.
- Adicionamos um editor de exibição dividida para o designer Xamarin.Android.
- O Visualizador do Xamarin.Forms agora tem suporte à caixa de ferramentas e o movemos para um editor de exibição dividida.
- Agora você pode usar a depuração entre idiomas com o Python 3.7.0rc1.
- As configurações locais de Migração do Azure Function para o Azure agora exibem novos valores.
- Com o suporte adicionado para o Azure Functions, agora você tem um novo host de destino na caixa de diálogo Configurar Entrega Contínua para o Azure.
- O aprimoramento do painel de resumo do Gerenciador de Testes agora fornece um status de teste mais informativo.
- Extensões do Adaptador de Teste do .NET: alteração e substituição significativas.
- Adicionamos suporte nativo para o Protocolo do Servidor de Idiomas.
- Agora você tem suporte a segredos para ASP.NET projetos do .NET Framework.
- O Visual Studio agora ajuda você a atualizar ASP.NET aplicativos do .NET Framework para melhorar o desempenho da compilação.
- O Visual Studio agora oferece ferramentas de desenvolvimento do .NET Framework 4.7.2 para plataformas compatíveis com o runtime 4.7.2 incluído.
- Os pacotes de carregamento automático assíncrono são atrasados até que a inicialização e a carga da solução sejam concluídas.
- O Visual Studio 2017 das Ferramentas de Build agora dá suporte ao fluxo de trabalho e inclui o VSSDK.
- O status do Git e do TFS agora é atualizado corretamente para alterações de arquivos externos em projetos do .NET Core.
- O SDK do .NET Core 2.1.400 está incluído.
Principais problemas corrigidos na versão 15.8
Estes são os problemas relatados pelo cliente resolvidos na versão 15.8:
- O SSDT não está presente nas Ferramentas de Build do Visual Studio 2017.
- O Anaconda falha ao desinstalar durante a atualização (Erro 87).
- A atualização para 15.7 gera erro: PackageId:Anaconda3.Exe.x64; PackageAction:Uninstall; ReturnCode:87;.
- A atualização do Visual Studio gera o BuildError UWP no MakePri 0x80073b0f e 0xdef00532 erros em minha solução.
- O VS 2017 tem problemas com o recurso de modelo de exportação do ASP.NET Core.
- Gerenciador de Testes (testes do SpecFlow): vai para o arquivo de classe de recurso e não para o arquivo de recurso.
- O modelo de projeto exportado de um projeto C++ contém apenas um vcxproj e vcxproj.filters, nenhuma origem ou cabeçalhos.
- Codegen inválido em x64.
- O menu de contexto de clique com o botão direito do mouse em uma Pasta de Solução não faz nada na Versão Prévia 2 da Enterprise 15.8.
- O VS2017 não se lembra da posição e do tamanho da tela para uso em três monitores.
- UTF8-no-BOM faz com que a janela de diferenciação exiba um aviso de codificação errônea.
- Clicar duas vezes em uma palavra seleciona apenas para o início da palavra, não a palavra inteira.
- O VS2015 e o VS2017 criam uma pasta de Depuração vazia no caminho definido por $(SolutionDir), apesar de $(OutDir) e $(IntDir) usarem configurações completamente diferentes.
- Se você criar um projeto baseado em diálogo MFC no ambiente japonês com o VS2017, a edição da caixa de diálogo causará erros no build.
- Baixe a exibição de Texto de Progresso no Instalador do Visual Studio.
- Clique com o botão direito do mouse no projeto executável no Gerenciador de Soluções –> Depurar –> Iniciar nova instância escolhe o projeto aleatório da solução para o início.
- O build da linha de comando DEVENV falha com: essa operação só pode ocorrer no thread da interface do usuário.
- Localizar e substituir lembra os tipos de arquivo.
- As mensagens de erro não podem ser lidas no console do Gerenciador de Pacotes devido à cor da fonte e à cor da tela de fundo.
- Falha na visualização de publicação da Web do Visual Studio Community 2017 15.4.1 sem autorização.
- Abra os resultados do teste no VS 2017 para Builds XAML.
Veja todos os problemas relatados pelo cliente corrigidos no Visual Studio 2017 versão 15.8.
Detalhes das novidades na versão 15.8
Ícone
Visual 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.
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.
(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.
(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.
(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
ifcursor 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_operatorsdotnet_style_parentheses_in_relational_binary_operatorsdotnet_style_parentheses_in_other_binary_operatorsdotnet_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_assignmentdotnet_style_prefer_conditional_expression_over_return
-
Inverter se permite inverter sua lógica em instruções if-else. Coloque o
- 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.
(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).
(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
voidptrtipo. - Novo
NativePtr.ofVoidPtreNativePtr.toVoidPtrfunções no FSharp.Core. - Novos tipos
inref<'T>eoutref<'T>, que são byrefs somente leitura e byrefs somente gravação, respectivamente. Isso corresponde ain refeout refem C#. - A capacidade de produzir
ByRefLikestructs (comoSpaneReadOnlySpan). - A capacidade de produzir
IsReadOnlystructs. - Desreferência implícita de
byref- einref- 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
AccessViolatioNExceptionusoyield!com enumeráveis baseados em struct. - Agora é possível herdar de
FSharpFuncnovo. - 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
WarningsNotAsErrorssinalizador 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.FromFunceFuncConvert.FromActionAPIs que digitamSystem.FunceSystem.Actionsobrecarregam, 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. -
TryGetValueagora é 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
boolenquanto usa uma comparação genérica rápida, contribuida por Vasily Kirichenko. - O texto
Array.allPairsde 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
printfque 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
Dictionarye chamadas subsequentesContainsKeyItemfoi alterado para usoTryGetValuepor 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 emasync.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).
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).
- 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).
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).
- 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).
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).
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):
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.
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.
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.
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.
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).
- 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:
- Blog do RTM do .NET Framework 4.7.2
- Notas de versão do .NET Framework 4.7.2
- Problemas conhecidos no .NET Framework 4.7.2
- Compatibilidade de aplicativos no .NET Framework 4.7.2
- Alterações de API
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.
---
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
Visual 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
Visual 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:
- Publicar item de menu de contexto de arquivo único ausente.
- Operações de rede git não estão funcionando: não é possível gerar git-askpass.exe.
- Falha na carga "Pacote do Editor de Recursos do Visual C++".
- A Transformação de Visualização apresenta um erro.
- Não é possível digitar chave de fechamento.
- Referência de objeto não definida como uma instância de um objeto ao implantar o projeto do Service Fabric após a atualização 15.8.0.
- Erro de instalação "Não há suporte para o formato do caminho fornecido".
- Falha na tarefa ExpandPriContent. Caracteres ilegais no caminho.
- Erro do instalador "Não foi possível criar uma instância do tipo System.Collections.Genertic.Iset'1[Signer]".
- A implantação do Service Fabric falha na versão 15.8.0.
- Não é possível criar um pacote de aplicativos para a Windows Store.
- Geração de código incorreta para recursos fortemente tipados.
- Associação de teclado para layout italiano.
- IntelliSense desfeito nº 9999.
- Ao trabalhar em um projeto do Unity e o Unity reescrever vários arquivos de projeto, as Ferramentas do Visual Studio para Unity agora recarregarão automaticamente a solução.
- O cliente agora receberá uma caixa de diálogo para fechar aplicativos do Office se estiver bloqueando a instalação do Visual Studio e causando uma falha no 1303.
Ícone
Visual 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:
- O Visual Studio 2017 versão 15.8.2 continha um build de pré-lançamento do SDK do .NET Core 2.1.401 incompatível com o Visual Studio. Corrigimos esse problema com o Visual Studio 2017 versão 15.8.3.
- Falha na criação de caso de teste do VSCppUnit.
- O Python IntelliSense não está funcionando no Python 2.7.
- Designer XAML fazendo com que o Visual Studio feche inesperadamente.
Ícone
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 pelo cliente resolvidos na versão 15.8.4:
- A função Constexpr com parâmetro explícito (nulo) falha na versão MSVC 15.8.0.
- TypeScriptLspCodeActionProvider encontrou um erro e foi desabilitado.
- O pacote 'Componentes da Web Compartilhados' não foi carregado corretamente.
- A edição do CSS com o Link do Navegador habilitado pode falhar no Visual Studio.
- A implantação do Service Fabric falha na versão 15.8.0.
- Erro incorreto do ponteiro constexpr para membros com VS2017 15.8.
- A Constexpr não dá suporte a __declspec(dllimport) no VS2017 15.8.
- A diferença do C++ VS 2017 Atualização 8 no ponteiro de função membro entre os modos C++14 e C++17 leva a falhas.
- TestExplorer bloqueando a interface do usuário no build mais recente.
- [WebKit] "Símbolo já definido" para definição de membro de modelo estático (regressão).
- Erro do compilador interno do VS 15.8.0.
- Erro interno do compilador na função constexpr.
- A Janela do Gerenciador de Testes permanece em branco com o Express.
- O Visual Studio 2017 não abre no computador habilitado para FIPS.
- Erro do compilador interno do VS2017 15.8 'msc1.cpp', linha 1518 ao avaliar a função constexpr simples.
- Erro fatal C1001 após a atualização para o VS 15.8.0.
- Migrando para o VS2017 15.8: erro interno do compilador ao usar funções constexpr como parâmetros de modelo.
- Erro interno do compilador ao compilar uma função de modelo com uma constexpr no VC++ 15.8.0.
- O código gerado pelo compilador VC 15.8.1 leva à falha.
Avisos de Segurança
- Vulnerabilidade de negação de serviço do .NET Core CVE-2018-8409
- CVE-2018-8409 ASP.NET vulnerabilidade de negação de serviço principal
Ícone
Visual 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:
- A dica de ferramenta do depurador não se expande na sessão de depuração do Xamarin.iOS.
- O depurador não me deixa sair do ponto de execução (Android).
- Depois de atualizar para 15.8.1, a dica de dados não é mostrada ao depurar.
- A dica de dados do depurador não expande [Editor].
- Exceção:MSB0001: Erro interno do MSBuild: já registrado para tempo de build.
- Caminho errado para o recurso no manifesto do ClickOnce após a atualização para o VS 15.8.1.
- Erro de manifesto clickOnce na versão 15.8.
- ClickOnce Publish não tem determinadas referências.
- ClickOnce: arquivo de idioma copiado para o local errado.
- Referência ausente na pasta de publicação ClickOnce.
- Compilar projetos F# no estilo do SDK non-.NET resulta em um erro interno do MSBuild, a menos que o paralelismo do MSBuild esteja definido como 1.
- F# não é NGEN'd no Visual Studio.
- O F# implanta o binário FSharp.Core 4.5.0.0 no local 4.4.3.0.
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
Visual Studio 2017 versão 15.8.6
lançado em 02 de outubro de 2018
Resumo das novidades na versão 15.8.6
- O SDK mais recente do Windows 10 está disponível.
Principais problemas corrigidos na versão 15.8.6
Estes são os problemas relatados pelo cliente resolvidos na versão 15.8.6:
- Os pacotes NuGet para o Intellisense estão quebrados.
- O Visual Studio fecha após abrir o sln.
- O editor XML App.Config ainda está congelando em 15.8.4.
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
Visual 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
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 pelo cliente resolvidos na versão 15.8.8:
- /DEBUG:FASTLINK nenhuma informação de depuração para tipos STL incluídos via PCH.
- Codegen incorreto visto no compilador RTW 15.8.
- Corrupção de heap no desenrolamento de pilha ao sublinhar a função.
- O vinculador consome 6 GB de memória para um caso de teste específico.
Ícone
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 pelo cliente resolvidos na versão 15.8.9:
- Adicionado suporte ao Xcode 10.1 nas Ferramentas do Visual Studio para Xamarin.
- O modelo do Xamarin.Forms foi atualizado para o Xamarin.Forms 3.3.0.
- A atualização 15.8.6 interrompe projetos do instalador.
- Erro interno do compilador no VS15.8 msc1.cpp linha 1518.
- Microsoft Visual Studio 2017 Installer Projects 0.8.8 e VS 15.8.6.
- O SFINAE não detecta a função sobrecarregada correspondente na versão prévia do VS versão prévia 3 15.9.0.
- Falha do Designer XAML no fechamento do Visual Studio.
Problemas conhecidos
Veja todos os problemas conhecidos existentes e soluções alternativas disponíveis no Visual Studio 2017 versão 15.8.
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.