Notas de versão do Visual Studio 2017 versão 15.8Visual Studio 2017 version 15.8 Release Notes
Comunidade de Desenvolvedores | Requisitos de Sistema | Compatibilidade | Código Distribuível | Termos de Licença | Blogs | Problemas ConhecidosDeveloper Community | System Requirements | Compatibility | Distributable Code | License Terms | Blogs | Known Issues
Observação
Esta não é a versão mais recente do Visual Studio.This is not the latest version of Visual Studio. Para baixar a versão mais recente, visite as notas sobre a versão atual para o Visual Studio 2019.To download the latest release, please visit the current release notes for 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.To download Visual Studio 2017, click the download button and log in with your Visual Studio Subscription when prompted. 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.If you don’t have a Visual Studio Subscription, you can create one for free by clicking on “Create a new Microsoft account” on the login page. É recomendável usar o Visual Studio 2019 para obter os recursos e as correções de bugs mais recentes.We recommend using Visual Studio 2019 to get the latest features and bug fixes.
Visite a página da versão anterior para baixar outros produtos do Visual Studio 2017.Visit the older version page to download other Visual Studio 2017 products.
Novidades na 15.8What's New in 15.8
O Blog do Visual Studio é a fonte oficial de insights do produto da equipe de engenharia do Visual Studio.The Visual Studio Blog is the official source of product insight from the Visual Studio Engineering Team. É possível encontrar informações detalhadas sobre as versões do Visual Studio 2017 15.8 nas seguintes postagens:You can find in-depth information about Visual Studio 2017 version 15.8 releases in the following posts:
- Visual Studio 2017 versão 15.8 -- Leia a última postagem no blog!Visual Studio 2017 version 15.8 -- Read the latest blog post!
Versões do Visual Studio 2017 15.8Visual Studio 2017 version 15.8 Releases
- 2 de novembro de 2018 – Atualização de Manutenção do Visual Studio 2017 versão 15.8.9November 2, 2018 -- Visual Studio 2017 version 15.8.9 Servicing Update
- 24 de outubro de 2018 -- Visual Studio 2017 versão 15.8.8 Atualização de ManutençãoOctober 24, 2018 -- Visual Studio 2017 version 15.8.8 Servicing Update
- 10 de outubro de 2018 -- Visual Studio 2017 versão 15.8.7 Atualização de ManutençãoOctober 10, 2018 -- Visual Studio 2017 version 15.8.7 Servicing Update
- 02 de outubro de 2018 -- Visual Studio 2017 versão 15.8.6 Atualização de ManutençãoOctober 02, 2018 -- Visual Studio 2017 version 15.8.6 Servicing Update
- 20 de setembro de 2018 -- Visual Studio 2017 versão 15.8.5 Atualização de ManutençãoSeptember 20, 2018 -- Visual Studio 2017 version 15.8.5 Servicing Update
- 11 de setembro de 2018 -- Visual Studio 2017 versão 15.8.4 Atualização de ManutençãoSeptember 11, 2018 -- Visual Studio 2017 version 15.8.4 Servicing Update
- 6 de setembro de 2018 -- Visual Studio 2017 versão 15.8.3 Atualização de ManutençãoSeptember 6, 2018 -- Visual Studio 2017 version 15.8.3 Servicing Update
- 28 de agosto de 2018 -- Visual Studio 2017 versão 15.8.2 Atualização de ManutençãoAugust 28, 2018 -- Visual Studio 2017 version 15.8.2 Servicing Update
- 17 de agosto de 2018 -- Visual Studio 2017 versão 15.8.1 Atualização de ManutençãoAugust 17, 2018 -- Visual Studio 2017 version 15.8.1 Servicing Update
- 14 de agosto de 2018 – Visual Studio 2017 versão 15.8 Versão SecundáriaAugust 14, 2018 -- Visual Studio 2017 version 15.8 Minor Release
Importante
Avisos da Consultoria de Segurança do Visual Studio 2017 versão 15.8Visual Studio 2017 version 15.8 Security Advisory Notices
- 10 de outubro de 2018 -- Visual Studio 2017 versão 15.8.7 Atualização de ManutençãoOctober 10, 2018 -- Visual Studio 2017 version 15.8.7 Servicing Update
- 11 de setembro de 2018 -- Visual Studio 2017 versão 15.8.4 Atualização de ManutençãoSeptember 11, 2018 -- Visual Studio 2017 version 15.8.4 Servicing Update
- 14 de agosto de 2018 -- Visual Studio 2017 versão 15.8August 14, 2018 -- Visual Studio 2017 version 15.8
- 10 de julho de 2018 -- Visual Studio 2017 versão 15.8 Versão prévia 4July 10, 2018 -- Visual Studio 2017 version 15.8 Preview 4
- 26 de junho de 2018 -- Visual Studio 2017 versão 15.8 Versão prévia 3June 26, 2018 -- Visual Studio 2017 version 15.8 Preview 3
- 8 de maio de 2018 -- Visual Studio 2017 versão 15.8 Versão prévia 1May 08, 2018 -- Visual Studio 2017 version 15.8 Preview 1
Resumo dos novos recursos importantes na 15.8Summary of Notable New Features in 15.8
- O instalador agora oferece a opção para baixar todos os arquivos antes de começar a instalação.The installer now offers the option to download all files before starting installation.
- Melhoramos o desempenho durante o descarregamento/recarregamento do projeto e alternância de branch.We improved performance during project unload/reload and branch switching.
- É possível melhorar os tempos de carregamento da solução desabilitando a restauração automática de documentos.Solution load times can be improved by disabling automatic document restore.
- Fizemos melhorias de desempenho de teste significativas durante a execução de soluções grandes com vários projetos de teste.We made significant test performance improvements while running large solutions with multiple test projects.
- O Visual Basic agora fornece uma melhoria de desempenho significativo.Visual Basic now provides you with a significant performance improvement.
- A Criação de Perfil de Desempenho agora oferece a capacidade de pausar/retomar a coleta de dados. Além disso, foi adicionada uma nova ferramenta de Rastreamento de Alocação de Objeto .NET.Performance Profiling now offers the ability to pause/resume data collection and a new .NET Object Allocation Tracking tool has been added.
- Fizemos melhorias na ferramenta Uso da CPU para a Criação de Perfil de Desempenho.We made improvements to the CPU Usage tool for Performance Profiling.
- Adicionamos novos recursos de produtividade, como limpeza de código, refatoração inverter if, Ir para o Bloco Delimitador, compatibilidade com Vários Sinais de Interpolação e novos perfis de teclado.We added new productivity features, such as code cleanup, invert-if refactoring, Go to Enclosing Block, Multi-Caret support, and new keyboard profiles.
- Você pode escolher o destino de instância ao depurar extensões.You can choose your target instance when debugging extensions.
- Inicie o Depurador de Instantâneos diretamente da página de resumo de publicação.Launch the Snapshot Debugger directly from the publish summary page.
- Introduzimos o F# 4.5, uma nova versão de linguagem totalmente compatível com
Span<'T>
e contém melhorias significativas para rastreamentos de pilha para o código assíncrono.We introduced F# 4.5, a new language version that fully supportsSpan<'T>
and contains significant improvements to stack traces for async code. - Aprimoramos o desempenho e adicionamos novas funcionalidades às ferramentas F#, como Ctrl+Clique à Ir para Definição.We improved performance and added new features in F# tools, such as Ctrl+Click to Go to Definition.
- Os aprimoramentos para o conjunto de ferramentas C++ incluem melhorias para o otimizador de SSA e o vinculador.Enhancements to C++ toolset include improvements to the SSA optimizer and linker.
- As adições de desenvolvimento multiplataforma do C++ incluem atualizações de ClangFormat e modelos de configuração no CMake e Abrir Pasta para MinGW, Linux e Windows.C++ cross-platform development additions include ClangFormat updates, and configuration templates in CMake and Open Folder for MinGW, Linux, and Windows.
- As mudanças na produtividade do C++ incluem o IntelliSense do Modelo, dica de ferramenta Informações Rápidas em macros, lâmpadas de conversão para constexpr, rabiscos de análise de código no editor e muito mais.Changes to C++ productivity include Template IntelliSense, Quick Info tooltips on macros, convert to constexpr lightbulbs, in-editor code analysis squiggles, and more.
- As melhorias de depuração de C++ incluem atualizações Apenas Meu Código e novos pontos de interrupção de dados.C++ debugging improvements include Just My Code updates and new data breakpoints.
- Há diversas melhorias e funcionalidades de JavaScript e TypeScript.There are numerous JavaScript and TypeScript improvements and features.
- Agora você pode gerenciar bibliotecas do lado do cliente em seus projetos da Web.You can now manage client-side libraries in your web projects.
- Adicionamos uma nova experiência de contêiner do Docker de projeto único para projetos Web do ASP.NET Core.We added a new single project Docker container experience for ASP.NET Core web projects.
- Agora você pode personalizar a marca para uma imagem do Docker com as melhorias de publicação feitas nesta versão.You can now customize the tag for a Docker image with the publish improvements made in this release.
- As melhorias do Xamarin incluem suporte para Xcode 9.4 e builds incrementais do Android mais inteligentes.Xamarin improvements include support for Xcode 9.4 and smarter Android incremental builds.
- Você pode usar o Android Emulator do Google lado a lado com o Hyper-V na Atualização de abril de 2018 do Windows 10.You can use Google's Android emulator side-by-side with Hyper-V on Windows 10 April 2018 Update.
- Adicionamos um editor de exibição de divisão ao Xamarin.Android Designer.We added a split-view editor for the Xamarin.Android designer.
- Agora, o Visualizador do Xamarin.Forms tem suporte para a caixa de ferramentas, e a mudamos para um editor de exibição dividida.The Xamarin.Forms Previewer now has toolbox support, and we moved it to a split-view editor.
- Agora você pode usar a depuração em qualquer linguagem com o Python 3.7.0rc1.You can now use cross-language debugging with Python 3.7.0rc1.
- Migrar configurações locais do Azure Functions para o Azure agora mostra novos valores.The Migrate local Azure Function settings to Azure now displays new values.
- Com a compatibilidade adicionada para Azure Functions, agora você tem um novo host de destino na caixa de diálogo Configurar Entrega Contínua para o Azure.With added support for Azure Functions, you now have a new target host in the Configure Continuous Delivery to Azure dialog.
- A melhoria do painel de resumo do Gerenciador de Testes agora fornece um status de teste mais informativo.Test Explorer summary pane improvement now provides more informative test status.
- Extensões de Adaptador de Teste de .NET: substituição e alteração da falha..NET Test Adapter Extensions: breaking change and deprecation.
- Adicionamos suporte nativo para o Language Server Protocol.We added native support for the Language Server Protocol.
- Agora você tem suporte a segredos para projetos do .NET Framework do ASP.NET.You now have secrets support for ASP.NET .NET Framework projects.
- O Visual Studio agora ajuda você a atualizar aplicativos .NET Framework do ASP.NET para melhorar o desempenho de build.Visual Studio now helps you upgrade ASP.NET .NET Framework apps to improve build performance.
- Agora o Visual Studio oferece ferramentas de desenvolvimento do .NET Framework 4.7.2 para as plataformas compatíveis com o runtime 4.7.2 incluído.Visual Studio now offers .NET Framework 4.7.2 development tools to supported platforms with 4.7.2 runtime included.
- Os pacotes de carregamento automático assíncronos são atrasados até a inicialização e o carregamento da solução serem concluídos.Async autoload packages are delayed until startup and solution load complete.
- As Ferramentas de Build do Visual Studio 2017 agora dão suporte ao Fluxo de Trabalho e incluem o VSSDK.The Build Tools Visual Studio 2017 now support Workflow and includes the VSSDK.
- O status do Git e o do TFS agora atualizam adequadamente para alterações de arquivo externo em projetos do .NET Core.Git and TFS status now update properly for external file changes in .NET Core projects.
- O SDK do .NET Core 2.1.400 está incluído..NET Core SDK 2.1.400 is included.
Principais problemas corrigidos na 15.8Top Issues Fixed in 15.8
Estes são os problemas relatados por clientes e solucionados na 15.8:These are the customer-reported issues addressed in 15.8:
- SSDT não está presente nas Ferramentas de Build do Visual Studio 2017.SSDT not present in Visual Studio Build Tools 2017.
- O Anaconda falha ao ser desinstalado durante a atualização (Erro 87).Anaconda fails to uninstall during upgrade (Error 87).
- A atualização para a versão 15.7 gera o erro: PackageId:Anaconda3.Exe.x64;PackageAction:Uninstall;ReturnCode:87;.Upgrade to 15.7 generates error: PackageId:Anaconda3.Exe.x64;PackageAction:Uninstall;ReturnCode:87;.
- A atualização do Visual Studio gera erros BuildError UWP em MakePri 0x80073b0f e 0xdef00532 em Minha solução.Visual Studio update generates UWP BuildError at MakePri 0x80073b0f and 0xdef00532 errors at my Solution.
- O VS 2017 tem problemas com o recurso de modelo de exportação do ASP.NET Core.VS 2017 has problems with the ASP.NET Core export template feature.
- O Gerenciador de Testes (testes SpecFlow): vai para o arquivo de classe de recurso, não para o arquivo de recurso.Test Explorer (SpecFlow tests): goes to the feature class file not the feature file.
- O modelo de projeto exportado de um projeto C++ contém apenas um vcxproj e vcxproj.filters, nenhuma fonte ou cabeçalho.Project template exported from a C++ project only contains a vcxproj and vcxproj.filters, no source or headers.
- Geração de código inválida em x64.Bad codegen on x64.
- O menu de contexto de clique com o botão direito do mouse em uma Pasta de Solução não faz nada no Enterprise 15.8 Versão Prévia 2.Right-click context menu on a Solution Folder does nothing in Enterprise 15.8 Preview 2.
- O VS2017 não lembra a posição da tela e o tamanho para uso em três monitores.VS2017 doesn't remember screen position and size for use on 3 monitors.
- UTF8-no-BOM faz com que a janela de comparação exiba aviso de codificação incorreta.UTF8-no-BOM causes diff window to display erroneous encoding warning.
- Clicar duas vezes em uma palavra seleciona apenas o início da palavra, não a palavra inteira.Double-clicking a word only selects to the start of the word, not the entire word.
- O VS2015 e o VS2017 criam uma pasta Depuração vazia no caminho definido por $(SolutionDir), apesar de $(OutDir) e $(IntDir) usarem configurações completamente diferentes.VS2015 and VS2017 create an empty Debug folder in the path defined by $(SolutionDir) despite both $(OutDir) and $(IntDir) using completely different settings.
- Se você criar um projeto baseado em caixa de diálogo do MFC em um ambiente japonês com o VS2017, editar a caixa de diálogo causará erros no build.If you create an MFC dialog-based project in Japanese environment with VS2017, editing the dialog will cause errors in the build.
- Texto de Progresso do Download é exibido no Instalador do Visual Studio.Download Progress Text display on Visual Studio Installer.
- Clicar com o botão direito do mouse no projeto executável em Gerenciador de Soluções -> Depurar -> Iniciar nova instância seleciona um projeto aleatório da solução para iniciar.Right click executable project in Solution Explorer -> Debug -> Start new instance picks random project from solution to start.
- Falha no build da linha de comando DEVENV com: Esta operação só deve ocorrer no thread da interface do usuário.DEVENV Command line build fails with: This operation may only take place in the UI thread.
- Localizar e substituir lembra dos tipos de arquivo.Find and replace remembers file types.
- Mensagens de erro são ilegíveis no console do Gerenciador de pacotes devido à cor da fonte e à cor da tela de fundo.Error messages are unreadable in Package manager console because of font color and background color.
- A versão prévia de publicação da Web do Visual Studio Community 2017 15.4.1 falha com não autorizado.Visual Studio Community 2017 15.4.1 Web publish preview fails with not authorized.
- Abrir resultados do teste no VS 2017 para Builds XAML.Open test results in VS 2017 for XAML Builds.
Confira todos os problemas relatados pelo cliente corrigidos no Visual Studio 2017 versão 15.8.See all customer-reported issues fixed in Visual Studio 2017 version 15.8.
Detalhes das novidades na 15.8Details of What's New in 15.8
Visual Studio 2017 versão 15.8.0Visual Studio 2017 version 15.8.0
lançado em 14 de agosto de 2018released on August 14, 2018
Novas funcionalidades na 15.8New Features in 15.8
InstalarInstall
Agora você tem a opção de baixar todos os arquivos de instalação antes de iniciar a instalação.You now have the option to download all installation files before starting your installation.
- Para usar essa nova opção, selecione a opção "Baixar tudo, depois instalar" no instalador (Figura 1) .To use this new option, select the "Download all, then install" option in the installer (Figure 1). Sugerimos esta opção caso você tenha uma conexão de Internet mais lenta.We suggest this option if you have a slower internet connection.
- A opção padrão permanece "Instalar durante o download", que baixa e instala em paralelo.The default option remains "Install while downloading", which downloads and installs in parallel.

DesempenhoPerformance
Esta versão conta com as seguintes melhorias de desempenho:This release contains the following performance improvements:
- 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.Branch switching for C#, VB, and C++ projects is much faster for large solutions since solution reload is no longer required.
- 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.We reduced the time to unload and reload a small set of C# and VB projects in large solutions from minutes to several seconds.
- 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.We added an option to disable reopening documents that were open in the previous session, as reopening certain types of files or designers can delay solution load.
- Ative/desative essa opção em Ferramentas > Opções > Projetos > Soluções > Geral.Toggle this option in Tools > Options > Projects > Solutions > General.
Desempenho de TesteTest Performance
Melhoramos significativamente o desempenho ao executar alguns testes em uma solução grande com vários projetos de teste.We significantly improved performance when running a few tests in a large solution with multiple test projects. Em nossos laboratórios, uma solução com mais de 10.000 MSTests executou um teste único até 82% mais rápido.In our labs, a solution with over 10,000 MSTests executed a single test up to 82% faster!
Melhoria de desempenho do Visual BasicVisual Basic Performance Improvement
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.Visual Basic now provides a significant performance improvement when using the pattern CInt(Fix(number))
to convert from non-integer types to integers.
Criação de Perfil de DesempenhoPerformance Profiling
Esta versão conta com os seguintes aprimoramentos de criação de perfil de desempenho:This release contains the following performance profiling enhancements:
Adicionamos a capacidade de iniciar a criação de perfil em um estado em pausa:We added the capability to start profiling in a paused state:
A ferramenta Uso da CPU no Criador de Perfil de Desempenho (ALT-F2) agora pode ser iniciada em um estado em pausa (Figura 2) .The CPU Usage tool in the Performance Profiler (ALT-F2) can now be started in a paused state (Figure 2). Isso pode ser útil durante a espera para que um cenário seja digno de uma investigação de Uso da CPU.This can be useful while waiting for a scenario worthy of a CPU Usage investigation. 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.If CPU usage collection is disabled at startup, the Performance Profiler will not collect any CPU usage sample stack data until it is specifically enabled. Isso resulta em uma quantidade menor de dados para ser coletada e analisada, tornando as investigações de desempenho mais eficientes.This results in a smaller amount of data to collect and analyze, thus making your performance investigations more efficient.
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.To start a session with CPU Usage sample collection disabled, click the gear icon next to CPU Usage on the Performance Profiler launch page. 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.On the CPU Usage property page, uncheck Enable CPU Profiling (Sampling) and click OK to save the settings.
(Figura 2) Configurações da ferramenta de Uso da CPU(Figure 2) CPU Usage Tool Settings 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.Once you start the target application (click Start on the Performance Profiler launch page), you will see the CPU utilization graph (Figure 3) which allows you to control CPU profiling. 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.To enable CPU usage sample stack data collection, select Enable CPU profiling in the middle of the view, or click Record CPU Profile just below the CPU utilization graph. Clique em Gravar Perfil da CPU para habilitar/desabilitar a coleta de dados de exemplo quantas vezes desejar.You can click Record CPU Profile to enable/disable sample data collection as many times as you like. 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.The CPU utilization graph color changes to indicate whether sample collection is enabled/disabled at that point in time.
(Figura 3) Grafo de Utilização da CPU(Figure 3) CPU Usage Utilization Graph
Adicionamos uma ferramenta de Rastreamento de Alocação de Objeto .NET:We added a .NET Object Allocation Tracking tool:
- 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.The .NET Object Allocation Tracking Tool joins the family of tools available from the Performance Profiler. 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.Invoking this tool for a performance profiler session initiates the collection of a stack trace for every .NET object allocation that occurs in the target application. 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.This stack data is analyzed along with object type and size information to reveal details of the memory activity of your application. Você pode determinar rapidamente os padrões de alocação no código e identificar anomalias.You can quickly determine the allocation patterns in your code and identify anomalies. 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.In addition, for Garbage Collection (GC) events, you can easily determine which objects were collected and retained and quickly identify object types that dominate the memory usage of the application.
- Isso é especialmente útil para gravadores de API para ajudar a minimizar as alocações.This is especially useful for API writers to help minimize allocations. 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.Many applications will overrun the buffer limits involved in the diagnostics data collection, but small test applications exercising an API's key scenarios can be diagnosed quite well. 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).While your test application is executing, the Performance Profiler displays a line graph of Live Objects (count), as well as an Object Delta (% change) bar graph.
- 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.To use the .NET Object Allocation Tracking Tool, display the Performance Profiler launch page (Figure 4), select a target to profile (the default target is the startup project in the solution), check .NET Object Allocation Tracking under Available Tools, then click Start.
(Figura 4) Página de inicialização do Criador de Perfil de Desempenho(Figure 4) Performance Profiler Launch Page
Criação de Perfil de Desempenho (Uso da CPU)Performance Profiling (CPU Usage)
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):This release contains the following improvements to the CPU Usage tool of the Performance Profiler (available through 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.The Call Tree view now displays asynchronous execution by logical call stack by default. 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.You can turn off this behavior by unchecking the option Stitch Async Code in the Filter dropdown of the CPU Usage main view.
- 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.We added a Modules/Functions view that displays performance information by module (dll) and by function within a module. É 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.One can display the Modules/Functions view from the context menu available when selecting a function in the CPU Usage main view, or from the View dropdown in the Call Tree or Caller/Callee views.
- A indicação de instância foi adicionada ao grafo Uso da CPU na exibição principal da ferramenta Uso da CPU.Instance indication has been added to the CPU Usage graph in the CPU Usage tool's main view. 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.You can view the instances when a function is executing (for instance, on the stack) by double-clicking a function listed in any of the CPU Usage views.
ProdutividadeProductivity
Esta versão conta com os seguintes aprimoramentos de produtividade:This release contains the following productivity enhancements:
- Você pode executar a limpeza de código adicional com Formatar Documento (Ctrl+K, D ou Ctrl+E, D) para desenvolvimento em C#.You can perform additional code cleanup with Format Document (Ctrl + K, D or Ctrl + E, D) for C# development. Configure a limpeza acessando Ferramentas > Opções > Editor de texto > C# > Estilo de código > Formatação > Geral.Configure cleanup by going to Tools > Options > Text Editor > C# > Code Style > Formatting > General.
- Adicionamos mais refatorações e ações rápidas usando Ctrl + .We added more refactorings and quick actions using Ctrl + . ou Alt + Enter:or Alt + Enter:
- Inverter if permite que você inverta a lógica em instruções if-else.Invert If enables you to invert your logic in if-else statements. Coloque o cursor na palavra-chave
if
para disparar essa refatoração.Place your cursor in theif
keyword to trigger this refactoring. - 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.Add parameter from method callsite allows you to add a parameter to a method by adding an argument to a method callsite and triggering Quick Actions and Refactorings.
- 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.Remove unnecessary parentheses removes parentheses around binary operators that are not essential for compilation. Você pode configurar essa regra de estilo em Ferramentas > Opções > Editor de texto > C# > Estilo de código > Geral ou .editorconfig:You can configure this style rule through Tools > Options > Text Editor > C# > Code Style > General or .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:Use ternary conditionals in assignments and return statements can also be configured as a style rule in Tools > Options > ... or through .editorconfig:
dotnet_style_prefer_conditional_expression_over_assignment
dotnet_style_prefer_conditional_expression_over_return
- Inverter if permite que você inverta a lógica em instruções if-else.Invert If enables you to invert your logic in if-else statements. Coloque o cursor na palavra-chave
- Adicionamos novos comandos e melhorias à janela Ir para Todos:We added new commands and improvements to the Go to All window:
- 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.Go to Enclosing Block (Ctrl + Alt + UpArrow) allows you to quickly navigate up to the beginning of the enclosing code block.
- Ir para o Problema Seguinte/Anterior (Alt + PgUp/PgDn) permite que você pule para o problema seguinte/anterior (erro, rabisco, lâmpada).Go to Next/Previous Issue (Alt + PgUp/PgDn) allows you to skip to the next/previous issue (error, squiggle, lightbulb).
- Ir para Membro (Ctrl + T, M) agora tem escopo para o arquivo por padrão.Go to Member (Ctrl + T, M) is now scoped to the file by default. Você pode alterar o padrão para solução ativando/desativando o Escopo do Documento Atual (Ctrl + Alt + C).You can change the default back to solution by toggling the Scope to Current Document (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.You can now create insertion points and selections at multiple, arbitrary locations in a file with multiple caret support. Isso permite que você adicione, edite ou exclua o texto em vários locais simultaneamente.This allows you to add, edit, or delete text in multiple places simultaneously.
- Insira sinais de interpolação com Ctrl + Alt + Clique com o botão esquerdo do mouse.Insert carets with Ctrl + Alt + LeftMouseClick.
- Adicione uma seleção e sinal de interpolação no próximo local que corresponde à seleção atual com Shift + Alt + Ins.Add a selection and caret at next location that matches current selection with Shift + Alt + Ins.
- Confira Editar > Vários Acentos Circunflexos para obter uma lista completa de ações.See Edit > Multiple Carets for full list of actions.
- Acessar um menu de navegação contextual com Alt + ` .Access a contextual navigation menu with Alt + `.
- Mantenha suas associações de teclas consistentes com dois novos perfis de teclado: Visual Studio Code e ReSharper (Visual Studio) .Keep your keybindings consistent with two new keyboard profiles: Visual Studio Code and ReSharper (Visual Studio). Encontre esses esquemas em Ferramentas > Opções > Ambiente > Teclado e no menu suspenso superior.You can find these schemes under Tools > Options > Environment > Keyboard and the top drop-down menu.
DepuraçãoDebugging
Esta versão conta com os seguintes aprimoramentos de depuração:This release contains the following debugging enhancements:
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) .When you have more than one instance of Visual Studio 2017 installed, you can now select which instance to deploy your extension to when debugging (Figure 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.That way you can, for example, develop in the Visual Studio release channel while debugging in the preview channel.
(Figura 5) Selecionar instância de depuração(Figure 5) Select Debug Instance Agora você pode anexar o Depurador de Instantâneos diretamente por meio da página Publicar resumo (Figura 6) .You can now attach the Snapshot Debugger directly from the Publish summary page (Figure 6).
(Figura 6) Anexar Depurador de Instantâneos do Resumo de publicação(Figure 6) Attach Snapshot Debugger from Publish Summary Agora, damos suporte à exibição de Tarefas Gerenciadas por meio da janela Tarefas durante a depuração de minidespejos com heap.We now support viewing Managed Tasks through the Tasks window while debugging minidumps with heap.
Ferramentas para Desenvolvedores da Plataforma Universal do WindowsTools for Universal Windows Platform Developers
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.We made many important improvements to the XAML designer for projects targeting the Universal Windows Platform with a target platform version of the Windows 10 Fall Creators Update (build 16299) or later. Essas melhorias incluem:These improvements include:
- Agora você pode editar coleções na Inspeção de Propriedade.You can now edit collections in the Property Inspector.
- O designer agora permite que Modelos e Estilos sejam editados, incluindo quando as definições para essas entidades são definidas em outros documentos.The designer now allows Templates and Styles to be edited, including when the definitions for those entities are defined in other documents.
- 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.Properties of type IconElement (such as Icon in an AppBarButton) now have a custom editor in the Property Inspector making these properties easier to set.
- O designer, o editor e a opção Editar e Continuar agora devem funcionar corretamente com x:DefaultBindMode.The designer, editor, and Edit and Continue should all now work correctly with x:DefaultBindMode.
- A experiência do Gerenciador de Estado Visual no Blend agora é compatível com AdaptiveTrigger.The Visual State Manager experience in Blend now supports AdaptiveTrigger.
Ferramentas do F# 4.5 e F# para Visual StudioF# 4.5 and F# Tools for Visual Studio
Apresentamos a linguagem F# versão 4.5 com esta versão.We introduced the F# language version 4.5 with this release. Isso também corresponde à nova família de 4.5 do FSharp.Core (a biblioteca principal do F#).This also corresponds with the new 4.5.x family of FSharp.Core (the F# core library). Você pode ler as especificações para cada uma dessas alterações no Repositório RFC do F#.You can read the specs for each of these changes in the F# RFC repository. Também há muitas melhorias nas ferramentas do F# para Visual Studio com essa versão.There are also many improvements to F# tools for Visual Studio with this release.
F# 4.5F# 4.5
Aqui estão alguns dos destaques com a linguagem F# versão 4.5:Here are the some of the highlights with the F# language version 4.5:
Suporte para Span<'T>Span<'T> support
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#.We implemented Span<'T>
and related features so that effective consumption and production of APIs using Span
, Memory
, and ref
-like constructs are possible with F#. Os recursos para isso incluem:The features for this include:
- Novo tipo
voidptr
.Newvoidptr
type. - Novas funções
NativePtr.ofVoidPtr
eNativePtr.toVoidPtr
no FSharp.Core.NewNativePtr.ofVoidPtr
andNativePtr.toVoidPtr
functions in FSharp.Core. - Novos tipos
inref<'T>
eoutref<'T>
, que são byrefs somente leitura e byrefs somente gravação, respectivamente.New typesinref<'T>
andoutref<'T>
, which are read-only byrefs and write-only byrefs, respectively. Isso corresponde ain ref
eout ref
no C#.This correspond toin ref
andout ref
in C#. - A capacidade de produzir structs
ByRefLike
(comoSpan
eReadOnlySpan
).The ability to produceByRefLike
structs (such asSpan
andReadOnlySpan
). - A capacidade de produzir structs
IsReadOnly
.The ability to produceIsReadOnly
structs. - Desreferência implícita de retornos
byref
einref
de métodos.Implicit dereference ofbyref
- andinref
-returns from methods. - A capacidade de produzir membros de extensão em
byref
/inref
/outref
.The ability to produce extension members onbyref
/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 byref
s não estavam desreferenciando implicitamente o valor retornado.This feature set fixes a bug in the initial design of byref
-returns in F# 4.1, where functions, methods, and properties returning byref
's were not implicitly dereferencing the return value. Fizemos essa alteração para alinhar o recurso com como o C# lida com retornos ref
.We make this change to bring the feature in-line with how C# handles ref
-returns. Uma mensagem de erro é usada quando uma anotação de tipo indica que uma desreferência implícita de um retorno ref
é usada agora.An error message is used when a type annotation indicates that an implicit dereference of a ref
- return is now used.
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.Additionally, this feature set also fixes a bug in the F# compiler where "Evil struct replacement" was possible; i.e., calling a method on an F# struct could replace the actual struct that was called with a different one. 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.The this
parameter on a struct is now considered an inref<MyStruct>
, with an error that suggests you add a mutable field if you wish to modify the struct.
Você pode saber mais sobre os constructos semelhantes a span
e ref
no RFC desse conjunto de recursos.You can learn more about span
and ref
-like constructs in the RFC for this feature set.
Match! em expressões de computaçãoMatch! in computation expressions
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.F# 4.5 introduces match!
, a new keyword for use within computation expressions, contributed entirely by John Wostenberg. Essa simplificação da sintaxe é equivalente a um let!
seguido por um match
no resultado.This syntactic sugar is equivalent to a let!
followed by a match
on the result. Você pode saber mais no RFC de match!
.You can learn more in the RFC for match!
.
Atenuar a necessidade de elevação com yield
em sequência, lista e expressões de matrizRelaxing the need to upcast with yield
in sequence, list, and array expressions
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.F# 4.5 now relaxes some cases where an upcast when using yield
was required to convert a subtype into a supertype. 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.This restriction was already not necessary for these expressions since F# 3.1 when not using yield
, so this makes things more consistent with existing behavior. Você pode saber mais no RFC desse recurso.You can learn more in the RFC for this feature.
Permitindo o recuo em colchetes de lista e matrizPermitting indentation on list and array brackets
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.F# 4.5 now relaxes the indentation rule for list and array brackets that required them to be indented one scope forward when on their own line. Esse requisito anterior sempre foi bastante confuso, especialmente para iniciantes no F#.This previous requirement has always been quite confusing, especially for beginners to F#. Além disso, ele não é necessário para expressões de sequência do F#.Additionally, it is not required for F# sequence expressions. Isso agora traz expressões de lista e matriz para o mesmo estado consistente que as expressões de sequência.This now brings array and list expressions to the same consistent state as sequence expressions. Você pode saber mais no RFC desse recurso.You can learn more in the RFC for this feature.
Casos de enumeração emitidos como públicosEnum cases emitted as public
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.F# 4.5 now emits enumeration cases as public under all circumstances, to align with how C# emits enumeration cases. 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.This also makes it easier for profiling tools to analyze logs from F# code, where the value rather than the label name was emitted. Você pode saber mais no RFC desse recurso.You can learn more in the RFC for this feature.
Melhorias do compilador do F#F# Compiler Improvements
As melhorias do compilador do F#, além dos recursos da linguagem mencionados anteriormente, estão no F# 4.5.Improvements to the F# compiler in addition to the previously-mentioned language features are in F# 4.5. Elas incluem:These include:
- Melhoramos trabalho de desempenho do compilador removendo até 2,2% de todas as alocações no compilador do F# (em vários cenários).We improved compiler performance work by removing up to 2.2% of all allocations in the F# compiler (under various scenarios).
- Corrigimos um bug que resulta em uma
AccessViolatioNException
ao usaryield!
com enumeráveis baseados em struct.We fixed a bug that results in anAccessViolatioNException
when usingyield!
with struct-based enumerables. - Agora é possível herdar de
FSharpFunc
novamente.It is now possible to inherit fromFSharpFunc
again. - Chamadas tail estão desabilitadas por padrão para builds de depuração do F# para .NET Core.Tail calls are disabled by default for debug builds of F# for .NET Core. Elas estão habilitadas para a versão, correspondendo assim ao compilador do F# de área de trabalho.They are enabled for release, thus matching the desktop F# compiler.
- 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.F# reference normalization has been fixed to allow you to control transitive assembly references written to an output file. Isso permite que você execute o equivalente ao redirecionamento de assembly no .NET Core.This allows you to perform the equivalent of assembly redirection on .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.We fixed a bug where the error message used when attempting to use dynamic invocation on inline functions was ignored. Agora a mensagem de erro é propagada.The error message now propagates.
- O F# agora respeita o sinalizador
WarningsNotAsErrors
que pode ser definido em arquivos de projeto.F# now respects theWarningsNotAsErrors
flag that you can set in project files. - 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.When branches of a pattern match do not return the same error message type condition, has been updated to be friendlier by 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.An internal error bug when a compiling interface implementation that lacks an overloaded method implementation has been fixed by Steffen Forkmann.
- Algumas cópias de matriz desnecessárias na fase de léxico do compilador foram removidas por Gauthier Segay.Some unnecessary array copying in the lexing phase of the compiler has been removed by 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.Incomplete pattern matches on F# enumerations now produces a detailed warning that gives an example of a case not covered, contributed by John Wostenberg.
- `#nowarn "2003" agora é respeitado, contribuição de Matthias Diitrich.`#nowarn "2003" is now respected, contributed by 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.A bug where consuming C# extensions methods could fail in F# overload resolution has been fixed by Steffen Forkmann.
- Um bug de estrutura de dados QueueList foi corrigido por Steffen Forkmann.An internal QueueList data structure bug was fixed by 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.Various smaller optimizations and code cleanup efforts were contributed by Steffen Forkmann, Eugene Auduchinok, and ncave.
Biblioteca Principal do F# 4.5.xF# Core Library 4.5.x
As seguintes adições à Biblioteca Principal do F# estão disponíveis agora:The following additions to the F# Core Library are now available:
- Um trabalho significativo foi feito para melhorar os rastreamentos de pilha para expressões de computação
async { }
.Significant work has been done to improve stack traces forasync { }
computation expressions. 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.You should now be able to see user code and user line numbers in stack traces. Você pode saber mais no RFC desse recurso.You can learn more in the RFC for this feature. - As APIs
FuncConvert.FromFunc
eFuncConvert.FromAction
que o tipoSystem.Func
eSystem.Action
sobrecarrega, para ajudar na interoperação com C#.FuncConvert.FromFunc
andFuncConvert.FromAction
APIs that typeSystem.Func
andSystem.Action
overloads, to help in interoperation with C#. Você pode saber mais no RFC desse recurso.You can learn more in the RFC for this feature. ValueOption
é um novo tipo disponível, que é o primeiro em um conjunto de recursos futuros basicamente destinado ao melhor desempenho de Padrões Ativos.ValueOption
is a new type available, which is the first in a set of future features ultimately aimed at better performance for Active Patterns. Você pode saber mais no RFC desse recurso.You can learn more in the RFC for this feature.TryGetValue
agora é um novo membro do tipo de Mapa do F#.TryGetValue
is now a new member on the F# Map type. Você pode saber mais no RFC desse recurso.You can learn more in the RFC for this feature.- Corrigimos o Alto uso da CPU na primeira invocação de
MailboxProcessor.TryReceive
.We fixed High CPU usage upon the first invocation ofMailboxProcessor.TryReceive
. - A comparação para
bool
agora usa a comparação genérica rápida, contribuição de Vasily Kirichenko.Comparison forbool
now uses fast generic comparison, contributed by Vasily Kirichenko. - O texto de resumo para
Array.allPairs
foi atualizado para estar correto, contribuição de Patrick McDonaldThe summary text forArray.allPairs
has been updated to be correct, contributed by Patrick McDonald
Aprimoramentos de ferramentas de F#F# Tooling Improvements
Melhorias significativas nas ferramentas F#, como melhorais de desempenho, e algumas novas funcionalidades de editor foram incluídas nesta versão.Significant improvements in the F# tools, such as performance enhancements and some new editor features are included this release. Como sempre, com um grande número de contribuições da comunidade de software livre do F#.As always, with a large number of contributions from the F# open source community. Aqui estão os destaques:Here are the highlights:
- Melhoramos o desempenho do IntelliSense para projetos do estilo do SDK do .NET para todas as formas, incluindo as que usam vários destinos.We improved IntelliSense performance for .NET SDK-style projects of all forms, including those that use multi-targeting.
- 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.A community-driven effort to analyze and improve IntelliSense performance for very large files was contributed by Vasily Kirichenko, Steffen Forkmann, and Gauthier Segay. O IntelliSense em arquivos muito grandes (mais de 10 mil linhas de código) está aproximadamente duas vezes mais rápido agora.IntelliSense in very large files (10k+ lines of code) is roughly twice as fast now.
- 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.The warning for an outdated FSharp.Core (despite the package being installed) is no longer present in .NET SDK-style projects.
- 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.The description tooltip that displays XML documentation for a member after.
in IntelliSense no longer times out after 10 seconds. - Foi corrigido um bug em que não era possível definir pontos de interrupções em argumentos do construtor de objetos.A bug where you could not set breakpoints in object constructor arguments has been fixed.
- Foi corrigido um bug em que um símbolo renomeado seria duplicado quando ele fosse um parâmetro genérico.A bug where a renamed symbol would be duplicated when it is a generic parameter has been fixed.
- 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.Templates for .NET Framework (classic F# templates) now consume FSharp.Core from a NuGet package, to align with .NET SDK F# templates.
- O preenchimento de chaves automático e transacional agora está disponível para os pares de chaves
()
,[]
,{}
,[||]
e[<>]
.Automatic, transactional brace completion is now available for()
,[]
,{}
,[||]
, and[<>]
brace pairs. Realizamos esse trabalho em colaboração com Gibran Rosa.We did this work in collaboration with Gibran Rosa. - Agora você pode ir para definição com Ctrl + Clique em um símbolo do F#.You can now go to definition with Ctrl + Click on an F# symbol. As configurações para esse gesto também serão respeitadas na janela Ferramentas > Opções.The settings for this gesture are also respected in the Tools > Options window.
- 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.The IntelliSense performance UI has been modified to allow configuration of stale typecheck information for various IDE features. As explicações sobre cada opção agora estão presentes nas dicas de ferramentas das configurações.Explanations for each option are now present in tooltips for the settings.
- O realce de correspondência de chaves agora realça as chaves corretamente, concluído em colaboração com Vasily Kirichenko.Brace match highlighting now correctly highlights braces, completed in collaboration with Vasily Kirichenko.
- Ir para definição agora navega corretamente quando um tipo é definido recursivamente, contribuição de Vasily Kirichenko.Go to definition now navigates correctly when a type is defined recursively, contributed by 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.A bug where an auto-imported namespace wasn't opened when the top of a file was empty has been fixed by Vasily Kirichenko.
- Um bug em que os especificadores
printf
que continham pontos eram coloridos incorretamente foi corrigido por Vasily Kirichenko.A bug whereprintf
specifiers that contained dots were miscolored has been fixed by 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.A bug where all opens were considered unused inside of a recursive module has been fixed by Vasily Kirichenko.
- O desempenho do analisador de Aberturas Não Utilizadas foi melhorado significativamente por Vasily Kirichenko.The performance of the Unused Opens analyzer has been improved significantly by Vasily Kirichenko.
- O preenchimento automático para atributos agora sugere apenas as opções que são realmente atributos, contribuição de Vasily Kirichenko.Autocompletion for attributes now only suggests options that are actually attributes, contributed by 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.Signature Help tooltips are now generated for Type Provider static parameters at the constructor call site, contributed by 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.A bug where value types used as units of measure were colored as reference types has been fixed by Vasily Kirichenko.
- Um bug em que a colorização semântica poderia desaparecer para alguns arquivos durante a rolagem foi corrigido por Vasily Kirichenko.A bug where semantic colorization could disappear for some files while scrolling has been fixed by Vasily Kirichenko.
- Agora há uma implementação de CodeLens experimental, contribuição de Victor Peter Rouven Müller.There is now an experimental CodeLens implementation, contributed by Victor Peter Rouven Müller. Você pode ativá-la em Opções > Editor de Texto > F#> CodeLens.You can turn it on in Options > Text Editor > F# > Code Lens.
- 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.A bug where the F# compiler service would incorrectly elide the module names in XML documentation has been fixed by Sebastian Urban.
- O código que usa
Dictionary
comContainsKey
e as chamadasItem
subsequentes foi alterado para usarTryGetValue
, por Eugene Auduchinok.Code that usesDictionary
withContainsKey
and subsequentItem
calls has been changed to useTryGetValue
, by Eugene Auduchinok. - Jakob Majoka também contribuiu no processo de consumir uma API diferente para Dicas de Ferramentas.Jakob Majoka also contributed in the process of consuming a different API for Tooltips.
Melhorias de infraestrutura, empacotamento e software livreInfrastructure, Packaging, and Open Source Improvements
Fizemos os seguintes aprimoramentos para infraestrutura, empacotamento e nossa experiência de contribuição do software livre:We made the following enhancements to infrastructure, packaging, and our open source contribution experience:
- 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#.The F# compiler distributed with Visual Studio no longer installs as a singleton in the F# Compiler SDK location. 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.It is now fully side-by-side with Visual Studio, meaning that side-by-side installations of Visual Studio will finally have truly side-by-side F# tooling and language experiences.
- O pacote do NuGet do FSharp.Core agora está assinado.The FSharp.Core NuGet package is now signed.
- O registro em log do ETW foi adicionado ao compilador e às ferramentas do F#.ETW logging has been added to the F# tools and compiler.
- Os arquivos
control.fs
/control.fsi
muito grandes no FSharp.Core foram divididos emasync.fs
/async.fsi
,event.fs
/event.fsi
,eventmodule.fs
/eventmodule.fsi
,mailbox.fs
/mailbox.fsi
eobservable.fs
/observable.fsi
.The very largecontrol.fs
/control.fsi
files in FSharp.Core have been split intoasync.fs
/async.fsi
,event.fs
/event.fsi
,eventmodule.fs
/eventmodule.fsi
,mailbox.fs
/mailbox.fsi
, andobservable.fs
/observable.fsi
. - Adicionamos versões de estilo do SDK do .NET dos nossos artefatos de teste de estresse de desempenho de projeto.We added .NET SDK-style versions of our project performance stress test artifacts.
- Removemos o Newtonsoft.json de nossa base de códigos, e agora você tem um pacote a menos baixado para colaboradores de OSS.We removed Newtonsoft.json from our codebase, and you now have one less package downloaded for OSS contributors.
- Agora usamos as versões mais recentes de System.Collections.Immutable e System.Reflection.Metadata.We now use the latest versions of System.Collections.Immutable and System.Reflection.Metadata.
Melhorias de conformidade e conjunto de ferramentas do C++C++ Conformance and Toolset Improvements
Esta versão conta com as seguintes melhorias de conformidade e conjunto de ferramentas do C++:This release contains the following C++ conformance and toolset improvements:
- 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.A new, experimental, token-based preprocessor that conforms to C++11 standards (including C99 preprocessor features), enabled with the /experimental:preprocessor switch. 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.This is controlled with macro_MSVC_TRADITIONAL
, which is defined 1 when using the traditional preprocessor and 0 when using the new experimental standards conformant preprocessor. - 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
).The Visual Studio Developer Command Prompt supports enabling the Visual C++ Spectre variant 1 mitigated runtimes (-vcvars_spectre_libs = spectre
). Mais informações sobre mitigações do Spectre estão disponíveis no Blog da Equipe do Visual C++.More information about Spectre mitigations is available on the Visual C++ Team Blog. - 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.Two new additions to the SSA Optimizer focused on modern C++ code generation: redundant store elimination and folding of redundant branches.
- Desempenho de E/S mapeado de memória otimizada no vinculador para reduzir os tempos de vinculação.Optimized memory mapped I/O performance in the linker to reduce link times.
Desenvolvimento multiplataforma do C++C++ Cross-Platform Development
Adicionamos, melhoramos e adicionamos o seguinte ao desenvolvimento multiplataforma do C++ para essa versão:We added, improved, and added the following to C++ cross-platform development for this release:
- 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.Added Add > New Item template for generating a .clang-format file following the coding convention specified for ClangFormat in Tools > Options. 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.If the Visual Studio convention is selected, the generated file tries to match the user's current Visual Studio formatting configuration from Tools > Options.
- Atualizada a versão de clang-format.exe fornecido para 6.0.0.Updated the shipped clang-format.exe version to 6.0.0.
- Modelos para simplificar a adição de configurações a CppProperties.json.Templates to simplify adding configurations to CppProperties.json.
- Adicionados modelos para simplificar a adição de configurações para CMakeSettings.json (Figura 7) .Added templates to simplify adding configurations to CMakeSettings.json (Figure 7).

Produtividade do C++C++ Productivity
Fizemos os seguintes aprimoramentos e melhorias na produtividade do C++:We made the following enhancements and improvements to C++ productivity:
- 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.C++ Quick Info tooltips on macros now show what they expand to, rather than just their definition. Isso é particularmente útil para macros complexas que referenciam outras macros, pois isso esclarece pelo que o identificador de macro é substituído pelo pré-processador.This is particularly useful for complex macros that reference other macros as it clarifies what the macro identifier is replaced with by the preprocessor.
- 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.Added a new quick-fix lightbulb to convert basic macros to constexpr as a new tool to modernize code.
- 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) .IntelliSense for templates provide you more details about template arguments to take full advantage of IntelliSense within your template body (Figure 8).

- Estamos trabalhando para atualizar nossa experiência de análise de código.We are working to refresh our code analysis experience. Agora você pode habilitar as novas funcionalidades em andamento em Ferramentas > Opções > Editor de Texto > C++ > Experimental > Análise de Código.You can now enable the new, in-progress features under Tools > Options > Text Editor > C++ > Experimental > Code Analysis. 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) .Code analysis can run in the background when files are opened or saved, and results are displayed in the error list and as green squiggles in the editor (Figure 9).

Melhorias na depuração do C++C++ Debugging Improvements
Fizemos as seguintes melhorias de depuração:We made the following debugging improvements:
- 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.Just My Code now enables you to step-over code from system or 3rd party C++ libraries in addition to collapsing those calls in the call-stack window. 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.You can control this behavior for any C++ libraries when your code is compiled with /JMC and the non-user libraries paths are specified in a .natjmc file. 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) .If the system library calls into user-code, when you step in, the debugger skips all system code and stops on the first line of user-code callback (Figure 10).

- 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.Data breakpoints can now be set inside the Watch, Quickwatch, Autos, and Locals windows, allowing you to break when a value stored in memory changes in just a few, short clicks.
- 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.Source Link lets you embed information about an executable or library's original source code into the PDB during compilation.
- 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).When debugging, the console window now stays open by default when the program terminates execution (similar to running the program without the debugger). Esse comportamento pode ser alternado de volta para fechar o console automaticamente em Ferramentas > Opções > Depuração > Geral.This behavior can be toggled back to closing the console automatically in Tools > Options > Debugging > General.
Melhorias de JavaScript e TypeScriptJavaScript and TypeScript Improvements
TypeScript 3.0TypeScript 3.0
O Visual Studio 2017 versão 15.8 agora inclui o TypeScript 3.0 por padrão.Visual Studio 2017 version 15.8 now includes TypeScript 3.0 by default. Para obter mais detalhes sobre esta versão, confira o comunicado de versão do TypeScript 3.0.For more details on this release, see the TypeScript 3.0 release announcement.
Suporte aprimorado para o Vue.jsImproved Vue.js support
O suporte para a biblioteca Vue.js foi aprimorado e, especificamente, o suporte para arquivos .vue, também conhecidos como "componentes de arquivo único".Support for the Vue.js library has been improved, and in particular support for .vue files, also known as "single file components". 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.This provides enhancements when editing script blocks inside .vue files, including support for script blocks authored in TypeScript through the lang="ts"
attribute on the script element. (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.(Note: A build process using WebPack or similar must be used to convert the .vue files to the HTML and JS files needed at runtime. Confira a página Componentes de arquivo único para obter mais detalhes).See the Single File Components page for more details).
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.If the Node.js workload is installed, there will now be "Basic Vue.js Web Application" templates under the "JavaScript / Node.js" or "TypeScript / Node.js" paths in the New Project dialog. Veja a seguir um exemplo de edição de código TypeScript dentro de um bloco de script em um arquivo .vue (Figura 11) .The below shows an example of editing TypeScript code inside a script block in a .vue file (Figure 11).

Melhorias no ESLintESLint Improvements
Reimplementamos o suporte para o ESLint nesta versão.We reimplemented ESLint support for this release. O ESLint traz os seguintes aprimoramentos:ESLint has the following improvements and enhancements:
- 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.Rather than only linting saved files, Visual Studio will now lint JavaScript files as you edit, as well.
- 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.Results can be reported for all JS files in your project, not just open files; if there are parts of your project you do not want to be linted, an .eslintignore file can now be used to specify directories and files that should be ignored.
- 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.ESLint was updated to use ESLint 4 by default, but if your project has a local installation of ESLint, it will use that version instead.
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 may be disabled globally in Visual Studio by unchecking the Enable ESLint setting in the **Tools > Options > Text Editor > Javascript/Typescript > Linting ** (Figure 12).

Melhorias na opção Abrir Pasta para o Node.jsOpen Folder Improvements for 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.There are numerous improvements working with JavaScript and TypeScript in the Open Folder scenario when the "Node.js workload" is installed. 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.For example, managing NPM packages, building TypeScript, launching and debugging with Node.exe, executing NPM scripts, and running unit tests.
Confira Desenvolver código JavaScript e TypeScript no Visual Studio sem soluções nem projetos para obter mais informações.See Develop JavaScript and TypeScript code in Visual Studio without solutions or projects} for more information.
Melhorias de desempenho do editorEditor Performance Improvements
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.In previous releases, all JavaScript and TypeScript language service operations were serviced by a single Node.js process. 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).This could cause editor delays if commands that impact user typing (such as automatic formatting after a newline) were sent while a potentially lengthy operation was already in process (such as analyzing code for errors). Para atenuar isso, um processo separado agora é usado para as operações que mais afetam a edição.To mitigate this, a separate process is now used for the operations that impact editing the most. Esse processo é significativamente mais leve em recursos do sistema do que no processo de serviço de linguagem existente.This process is significantly lighter on system resources than the existing language service process. 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.However, if you wish to disable the new process, check the Disable dedicated syntax process box in Tools > Options > Text Editor > JavaScript/TypeScript > Language Service.
Ferramentas da Web do Visual StudioVisual Studio Web Tools
O Gerenciador de Bibliotecas é um novo recurso incluído no Visual Studio 2017.Library Manager is a new feature included in Visual Studio 2017. Ele ajuda a gerenciar bibliotecas do lado do cliente em seus projetos da Web.It helps you manage client-side libraries in your web projects.
Ferramentas de contêinerContainer Tools
Adicionamos uma nova experiência de contêiner do Docker de projeto único para projetos Web do ASP.NET Core.We added a new single project Docker container experience for ASP.NET Core web projects. 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.This supplements the existing Docker Compose-based container tooling and provides a simpler, easier way to create, debug, and build Docker containers right from Visual Studio.
Você pode adicionar o suporte ao Docker ao criar o projeto (Figura 13):You can add Docker support when creating the project (Figure 13):

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) .Or, you can enable Docker support to an existing project through the project's context menu in Solution Explorer (Figure 14). Depois de fazer isso, o Visual Studio cria um único Dockerfile no projeto.Once you do this, Visual Studio creates a single Dockerfile in the project. Você tem a opção de escolher Windows ou Linux.You have the option to choose either Windows or Linux.

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.Visual Studio also adds a debugger launch profile (Figure 15) for Docker so that the project can be debugged while running within a container.

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.If you have a solution with multiple Docker projects, by default, only one container runs when you choose to start the solution. 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.If you wish to run multiple containers simultaneously, you can right-click on the solution in Solution Explorer and select Set Startup Projects and then Multiple startup projects, and then set the Action drop-down to Start or Start without debugging for all projects that you want to run.
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.Once you have your containerized project running the way you want, you can right-click on the project and select Build Docker Image to build an image locally, when ready to push to Azure Container Registry or 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) .You can also add the existing Docker Compose-based functionality to an ASP.NET Core web project through the new Container Orchestrator Support option (Figure 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.Right-click on the ASP.NET Core web project in Solution Explorer, select Add > Container Orchestrator Support, and then select Docker Compose from the drop-down menu.

Melhorias de publicaçãoPublish Improvements
Esta versão conta com as seguintes melhorias de publicação:This release contains the following publish improvements:
- Ao publicar um contêiner do Docker em um Registro de contêiner, agora você pode personalizar a marca para a imagem.When publishing a Docker container to a container registry, you can now customize the tag for the image. Você pode adicionar manualmente uma marca (o padrão é "mais recente") ou usar uma marca gerada automaticamente para garantir que cada marca seja exclusiva.You can either manually add a tag (default is "latest") or use an auto-generated tag to make sure each tag is unique.
- Ao criar um Serviço de Aplicativo do Azure, configure também o Application Insights para coletar a telemetria automaticamente.When creating a new Azure App Service, you can also configure Application Insights to collect telemetry automatically. Se você escolher uma região que também tem o Application Insights, ele será habilitado por padrão.If you choose a region that also has Application Insights, it is enabled by default. 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.If you choose a region that does not yet contain Application Insights, you can manually specify a different region for your Application Insights resource from the dropdown.
- Ao publicar projetos do Azure Functions você pode optar por publicar usando o novo recurso Run-From-Zip.When publishing Azure Functions projects you can choose to publish using the new Run-From-Zip feature.
Ferramentas do Visual Studio para XamarinVisual Studio Tools for Xamarin
Esta versão contém as seguintes atualizações para Xamarin:This release contains the following updates for Xamarin:
- Adicionamos o suporte para Xcode 9.4.We added support for 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.When you create a new Xamarin.Forms project, the default code sharing option is now .NET Standard. A opção de projeto compartilhado ainda está disponível.The shared project option is still available.
- Adicionamos melhorias de build incrementais do Android.We added Android incremental build improvements. 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.Xamarin.Android uses files generated in the intermediate output directory to achieve incremental builds that are faster than full builds. 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.Previously, if you changed your project's target framework it would invalidate the files and result in a full build on the next run. 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.In this release we now preserve the files in per-framework folders so you can switch between different target frameworks and still benefit from incremental builds. A limpeza do projeto permite que você recupere o espaço em disco usado pelos arquivos preservados.Cleaning the project allows you to reclaim the disk space used by the preserved files.
- Adicionamos suporte mínimo para projetos de associação do Xamarin.Mac no Visual Studio 2017.We have added minimum support for Xamarin.Mac binding projects in Visual Studio 2017. Isso permite que o Visual Studio carregue e reconheça os projetos de associação do Xamarin.Mac como compatíveis.This enables Visual Studio to load and recognize Xamarin.Mac binding projects as supported. Você também pode criar projetos de associação do Xamarin.Mac.You can also build Xamarin.Mac binding projects. 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.However, the build process is performed locally without using the native Mac tool chain, so the generated IL assemblies cannot be used for running or debugging in apps.
Suporte ao Android Emulator do Hyper-VHyper-V Android Emulator Support
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) .This release adds support for the Google Android emulator that is compatible with Hyper-V when running on the Windows 10 April 2018 Update (Figure 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.This enables you to use Google's Android emulator side-by-side with other Hyper-V based technologies, including Hyper-V virtual machines, Docker tooling, the HoloLens emulator, and more. 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.Mobile app developers who use Hyper-V now have access to a fast Android emulator that always supports the latest Android APIs, works with Google Play Services out of the box, and supports all features of the Android emulator, including camera, geolocation, and Quick Boot.

Xamarin.Android DesignerXamarin.Android Designer
Fizemos melhorias significativas na experiência do designer para Xamarin.Android.We made significant improvements to the designer experience for Xamarin.Android. Os destaques incluem:Highlights include:
- Foi incluído um editor de modo divisão que permite que você crie, edite e visualize seus layouts ao mesmo tempo (Figura 18) .A split-view editor was introduced which allows you to create, edit, and preview your layouts at the same time (Figure 18).

- Experiência do IntelliSense e confiabilidade dos controles personalizados melhoradas.Improved IntelliSense experience and reliability of custom controls.
- Suporte a dados de amostra de valores fornecidos pelo sistema.Sample data support for system provided values.
Pré-visualizador do Xamarin.FormsXamarin.Forms Previewer
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.The Xamarin.Forms Previewer now has toolbox support when using Xamarin.Forms version 3.1.0.583944 or higher. 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.Xamarin.Forms controls will appear in the toolbox so they are more discoverable for those new to the toolkit. Você também pode arrastar e soltar um controle no editor de código XAML para adicionar o controle à página.You can also drag and drop a control onto the XAML code editor to add the control to the page. Agora, o Visualizador de Xamarin.Forms faz parte do editor XAML.The Xamarin.Forms Previewer is now part of the XAML editor. Você pode abrir e fechá-lo com o ícone de expansão na borda do painel do editor.You can open and close it with the expand icon on the edge of the editor pane.
PythonPython
Essa versão adiciona as seguintes melhorias para desenvolvedores de Python:This release adds the following improvements for Python developers:
- 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.Python IntelliSense now uses typeshed definitions to provide richer results for libraries where auto-completions cannot be inferred by static analysis.
- 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.The experimental debugger, first announced in the 15.7 preview releases, is now the default debug engine used for Python, providing faster and more reliable debugging for Python code.
- 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).We have added support for Python 3.7, including fixes to enable debug attach, profiling, and mixed-mode (cross-language) debugging features.
- 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.For more information about the above features, be sure to check out our Python in Visual Studio 2017 version 15.8 blog post.
Migrar as configurações do Azure Functions localMigrate Local Azure Function Settings
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.The "Managed Application Settings" dialog available from the publish summary page now displays values from your local.settings.json file and enables you to migrate values to your remote Azure Function app hosted in Azure.
Serviços conectadosConnected Services
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.You can now configure continuous delivery for Azure functions directly from Visual Studio 2017 for solutions with Azure Function Projects.
Melhoria do Gerenciador de TestesTest Explorer Improvement
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.Test Explorer now displays a more informative test status summary pane (lower pane of test explorer) when one of the groupings in the hierarchy view is selected. Agora o painel exibe quantos testes falharam, passaram ou não foram executados naquele agrupamento.The pane now displays how many tests failed, passed, or not run in that grouping.
Novos recursos de extensibilidadeNew Extensibility Features
Language Server ProtocolLanguage Server Protocol
Agora o Visual Studio tem compatibilidade nativa para o Language Server Protocol.Visual Studio now has native support for the 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.Extension authors can create extensions that communicate with existing language servers to add additional language support to 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.Extension users can install these extensions to start using their favorite language inside Visual Studio like Rust.
Modelo AsyncPackageAsyncPackage Template
Os autores de extensão agora podem usar modelos de item para criar AsyncPackages para otimizar o desempenho da sua extensão.Extension authors can now use item templates to create AsyncPackages to optimize their extension's performance. Leia mais sobre AsyncPackages.Read more about AsyncPackages.
Pacotes de extensãoExtension Packs
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.Easily share your favorite set of extensions or set up a new install of Visual Studio with all your extensions by using an extension pack. 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.Extension packs allow you to create a list of extensions, package them in an extension, and use it quickly to install those extensions in bulk.
Publicação de extensão de linha de comandoCommand Line Extension Publishing
Publique suas extensões no Visual Studio Marketplace usando a linha de comando.Publish your extensions to the Visual Studio Marketplace using the command line.
SDK do .NET Core 2.1.400.NET Core SDK 2.1.400
O Visual Studio 2017 versão 15.8 inclui o SDK 2.1.400 do .NET Core.Visual Studio 2017 version 15.8 includes .NET Core SDK 2.1.400. Os novos recursos de SDK incluem:New SDK features include:
- Modelos do NUnit adicionadosAdded NUnit templates
- Adicionado suporte para ferramentas globais assinadasAdded support for signed global tools
- Texto de ajuda aprimorado para maior clarezaImproved help text for better clarity
32 problemas foram encerrados na CLI do .NET Core.32 issues were closed on the .NET Core CLI.
20 problemas foram encerrados no SDK do .NET Core.20 issues were closed on the .NET Core SDK.
Controle do código-fonteSource Control
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.For .NET Core projects, files added directly to the project through File Explorer will now show the correct Git and TFS tracking icons in the Solution Explorer without needing to reload the solution.
Extensão do Adaptador de Teste do .NET.NET Test Adapter Extension
O Adaptador de Teste do .NET tem a seguinte substituição e alteração da falha:The .NET Test Adapter has the following breaking change and deprecation:
- 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.Breaking Change: All test projects must include their .NET test adapter NuGet reference in their 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:If they do not, this test output will appear on the project if discovery by a test adapter extension is kicked off after a build or if the user tries to run the selected tests:
- O projeto de teste {
} não faz referência a qualquer adaptador do NuGet do .NET. Test project {} does not reference any .NET NuGet adapter. A execução ou a detecção de testes pode não funcionar para esse projeto.Test discovery or execution might not work for this project. É recomendável referenciar os adaptadores de teste NuGet em cada projeto de teste na solução.It is recommended to reference NuGet test adapters in each test project in the solution.
- O projeto de teste {
- 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..NET test frameworks have been releasing their adapters in NuGet packages and moving away from Visual Studio extensions. O suporte para adaptadores de teste do .NET fornecidos por meio de extensões foi preterido, mas ainda é compatível.The support for .NET test adapters delivered through extensions is deprecated, but still supported. Isso significa que duas novas opções estão disponíveis em Ferramentas > Opções > Teste.This means that two new options are available in Tools > Options > Test.
- 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.The first option allows Visual Studio to only use the test adapters it finds in the test assembly folder (populated by the test adapter NuGet reference) or as specified in the runsettings file.
- 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.The second option allows Visual Studio to "fallback" to the old behavior and search for test adapter extensions for projects that do not have a test adapter NuGet reference. As duas opções são selecionadas por padrão, portanto, nenhum comportamento padrão será alterado nesta versão.Both options are checked by default, so no default behavior will change in this release.
- Observação: os adaptadores de teste não .NET não são afetados com essa alteração.Note: Non-.NET test adapters are not affected with this change.
Suporte de segredos .NET Framework do ASP.NETASP.NET .NET Framework Secrets Support
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".For ASP.NET, .NET Framework projects that target .NET Framework 4.7.1 or higher, you can now open and store secrets you do not want in your source code in usersecrets.xml by right-clicking on the project and selecting "Managed User Secrets".
Melhorar o desempenho do .NET Framework do ASP.NETImprove ASP.NET .NET Framework Performance
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.If the referenced .NET Compiler package is out of date in an ASP.NET .NET Framework project, Visual Studio will prompt you to upgrade the package when you open the project to improve your build performance.
.NET Framework 4.7.2.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.Visual Studio 2017 version 15.8 now offers the .NET Framework 4.7.2 development tools to all supported platforms with the 4.7.2 runtime included. 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.The .NET Framework 4.7.2 offers several new features and improvements as well as numerous reliability, stability, security, and performance fixes.
Você pode encontrar mais detalhes sobre o .NET Framework 4.7.2 nesses artigos:You can find more details about the .NET Framework 4.7.2 in these articles:
- Blog do .NET Framework 4.7.2 RTM.NET Framework 4.7.2 RTM Blog
- Notas de versão do .NET Framework 4.7.2.NET Framework 4.7.2 release notes
- Problemas conhecidos no .NET Framework 4.7.2Known issues in the .NET Framework 4.7.2
- Compatibilidade do aplicativo no .NET Framework 4.7.2Application Compatibility in the .NET Framework 4.7.2
- Alterações na APIAPI Changes
Atrasar o carregamento de pacoteDelay Package Load
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.Visual Studio now delays the loading of asynchronous packages that are configured to autoload until after the Visual Studio IDE has fully started and the solution has loaded. Essa alteração não afeta pacotes carregados automaticamente de forma síncrona.This change does not affect synchronously autoloaded packages. Os usuários podem examinar a Central de Status de Tarefas no canto inferior esquerdo da barra de status para monitorar o progresso.Users can look at the Task Status Center in the lower left corner of the status bar to monitor progress. Os autores de extensão que criam asyncpackages devem testar sua extensão.Extension authors that create asyncpackages should test their extension. Para obter mais informações, consulte Melhorando a resposta de cenários críticos atualizando o comportamento de carregamento automático para extensões.For more information, see Improving the responsiveness of critical scenarios by updating auto load behavior for extensions.
Avisos da Consultoria de Segurança do Visual Studio 2017 versão 15.8Visual Studio 2017 version 15.8 Security Advisory Notices
Versão de manutenção do Visual Studio 2017 versão 15.8.7 – lançada em 10 de outubro de 2018Visual Studio 2017 version 15.8.7 Service Release -- released on October 10, 2018
CVE-2018-8292 Vulnerabilidade da divulgação de informações confidenciais do .NET CoreCVE-2018-8292 .NET Core Information Disclosure Vulnerability
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.A security feature bypass vulnerability exists in .NET Core when HTTP authentication information is inadvertently exposed in an outbound request that encounters an HTTP redirect. Um invasor que explorasse com êxito essa vulnerabilidade poderia usar as informações para comprometer ainda mais o aplicativo Web.An attacker who successfully exploited this vulnerability could use the information to further compromise the web application. A atualização de segurança resolve a vulnerabilidade corrigindo como os aplicativos .NET Core manipulam os redirecionamentos de HTTP.The security update addresses the vulnerability by correcting how .NET Core applications handles HTTP redirects.
Versão de manutenção do Visual Studio 2017 versão 15.8.4 – lançada em 11 de setembro de 2018Visual Studio 2017 version 15.8.4 Service Release -- released on September 11, 2018
CVE-2018-8409 Vulnerabilidade de Ataque de Negação de Serviço do .NET CoreCVE-2018-8409 .NET Core Denial Of Service Vulnerability
Há uma vulnerabilidade de negação de serviço no .NET Core 2.1 quando System.IO.Pipelines manipula solicitações incorretamente.A denial of service vulnerability exists in .NET Core 2.1 when System.IO.Pipelines improperly handles requests. 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.An attacker who successfully exploited this vulnerability could cause a denial of service against an application that is leveraging System.IO.Pipelines. A vulnerabilidade pode ser explorada remotamente, sem autenticação.The vulnerability can be exploited remotely, without authentication. Um invasor não autenticado remoto pode explorar essa vulnerabilidade fornecendo solicitações especialmente criadas para o aplicativo.A remote unauthenticated attacker could exploit this vulnerability by providing specially crafted requests to the application.
CVE-2018-8409 Vulnerabilidade de Ataque de Negação de Serviço do ASP.NET CoreCVE-2018-8409 ASP.NET Core Denial Of Service Vulnerability
Há uma vulnerabilidade de negação de serviço no ASP.NET Core 2.1 que manipula solicitações Web incorretamente.A denial of service vulnerability exists in ASP.NET Core 2.1 that improperly handles web requests. 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.An attacker who successfully exploited this vulnerability could cause a denial of service against an ASP.NET Core web application. A vulnerabilidade pode ser explorada remotamente, sem autenticação.The vulnerability can be exploited remotely, without authentication. Um invasor não autenticado remoto pode explorar essa vulnerabilidade fornecendo solicitações especialmente criadas para o aplicativo do ASP.NET Core.A remote unauthenticated attacker could exploit this vulnerability by providing a specially crafted web requests to the ASP.NET Core application.
Visual Studio 2017 versão 15.8 – lançada em 14 de agosto de 2018Visual Studio 2017 version 15.8 -- released on August 14, 2018
CVE-2018-0952 Vulnerabilidade de Elevação de Privilégio do Coletor Padrão do Hub de DiagnósticoCVE-2018-0952 Diagnostic Hub Standard Collector Elevation of Privilege Vulnerability
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.An elevation of privilege vulnerability exists in a visual studio service, which can lead to system privileges by a non-admin user when writing files. Um invasor que aproveitou essa vulnerabilidade pôde gravar arquivos como sistema tendo apenas o acesso no nível de usuário.An attacker who took advantage of this could write files as system while only having user level access. Esta atualização de segurança resolve esse problema pela representação do usuário atual para validar o acesso ao local do arquivo.This security update addresses this issue by impersonating the current user to validate access to the file location.
Visual Studio 2017 versão 15.8 Versão prévia 4 -- lançada em 10 de julho de 2018Visual Studio 2017 version 15.8 Preview 4 -- released on July 10, 2018
CVE-2018-8172 Vulnerabilidade de execução de código remoto do Visual StudioCVE-2018-8172 Visual Studio Remote Code Execution Vulnerability
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 remote code execution vulnerability that can lead to exploitation of a user's machine by opening a specially crafted project, or resource file. 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.The security update addresses the vulnerability by correcting how Visual Studio checks the source markup of a file.
CVE-2018-8260 Vulnerabilidade de execução de código remoto do .NET FrameworkCVE-2018-8260 .NET Framework Remote Code Execution Vulnerability
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 remote code execution vulnerability exists in .NET software that can lead to exploitation of a user's machine by allowing attackers to run arbitrary code in the context of the current user. A atualização de segurança resolve a vulnerabilidade corrigindo o modo como o .NET verifica a marcação de origem de um arquivo.The security update addresses the vulnerability by correcting how .NET checks the source markup of a file.
CVE-2018-8232 Vulnerabilidade de falsificação do .NET Microsoft Macro AssemblerCVE-2018-8232 .NET Microsoft Macro Assembler Tampering Vulnerability
Vulnerabilidade para falsificação relacionada a validação de código incorreta pelo Microsoft Macro Assembler.Tampering vulnerability related to the Microsoft Macro Assembler improperly validating code. A atualização de segurança resolve a vulnerabilidade, garantindo que o Microsoft Macro Assembler valide a lógica de código adequadamente.The security update addresses the vulnerability by ensuring that Microsoft Macro Assembler properly validates code logic.
CVE-2018-8171 Vulnerabilidade de bypass da funcionalidade de segurança do ASP.NET CoreCVE-2018-8171 ASP.NET Core Security Feature Bypass Vulnerability
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.An ASP.NET Core Security Feature Bypass Vulnerability exists when the number of incorrect login attempts is not validated that can lead to an attacker trying infinite authentication attempts. A atualização resolve a vulnerabilidade, validando o número de tentativas de logon incorretas.The update addresses the vulnerability by validating the number of incorrect login attempts.
Visual Studio 2017 versão 15.8 Versão prévia 3 -- lançada em 26 de junho de 2018Visual Studio 2017 version 15.8 Preview 3 -- released on June 26, 2018
CVE-2018-11235 Consultoria de Segurança da Microsoft para vulnerabilidade de segurança do GitCVE-2018-11235 Microsoft Security Advisory for Git Security Vulnerability
Corrigimos uma vulnerabilidade de segurança no Git que foi divulgada pela comunidade do Git.We fixed a security vulnerability in Git that was disclosed by the Git community. A vulnerabilidade pode levar à execução de código arbitrário quando um usuário clona um repositório mal-intencionado.The vulnerability can lead to arbitrary code execution when a user clones a malicious repository.
Visual Studio 2017 versão 15.8 Versão prévia 1 -- lançada em 8 de maio de 2018Visual Studio 2017 version 15.8 Preview 1 -- released on May 08, 2018
CVE-2018-0765 Aviso de segurança da Microsoft sobre a vulnerabilidade de ataque de negação de serviço do .NET CoreCVE-2018-0765 Microsoft Security Advisory for .NET Core Denial of Service Vulnerability
- 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.Microsoft is releasing this security advisory to provide information about a vulnerability in .NET Core and .NET native version 2.0. Esse comunicado também fornece orientação sobre o que os desenvolvedores podem fazer para atualizar seus aplicativos para remover essa vulnerabilidade.This advisory also provides guidance on what developers can do to update their applications to remove this vulnerability.
- 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.Microsoft is aware of a denial of service vulnerability that exists when .NET Framework and .NET Core improperly process XML documents. 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.An attacker who successfully exploited this vulnerability could cause a denial of service against a .NET Framework, .NET Core, or .NET native application.
- A atualização resolve a vulnerabilidade corrigindo como o .NET Framework, .NET Core e aplicativos nativos do .NET manipulam o processamento de documentos XML.The update addresses the vulnerability by correcting how .NET Framework, .NET Core, and .NET native applications handle XML document processing.
- É recomendável atualizar para o ASP.NET Core 2.0.8. se o aplicativo for do ASP.NET Core.If your application is an ASP.NET Core application, developers are also advised to update to ASP.NET Core 2.0.8.
Visual Studio 2017 versão 15.8.1Visual Studio 2017 version 15.8.1
lançado em 17 de agosto de 2018released on August 17, 2018
Principais problemas corrigidos no 15.8.1Top Issues Fixed in 15.8.1
Estes são os problemas resolvidos no 15.8.1:These are the issues addressed in 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.Fixed an issue where Visual Studio would close unexpectedly when a browser window was closed while debugging a Web project.
Visual Studio 2017 versão 15.8.2Visual Studio 2017 version 15.8.2
lançado em 28 de agosto de 2018released on August 28, 2018
Principais problemas corrigidos no 15.8.2Top Issues Fixed in 15.8.2
Estes são os problemas relatados por clientes e solucionados na 15.8.2:These are the customer-reported issues addressed in 15.8.2:
- Item de menu de contexto Publicar único arquivo não está presente.Publish single file context menu item missing.
- As operações de rede do Git não estão funcionando: não é possível gerar git-askpass.exe.Git network operations not working: Cannot spawn git-askpass.exe.
- Falha de carregamento do "Pacote do Editor de Recursos do Visual C++"."Visual C++ Resource Editor Package" load failed.
- Visualização de Transformação mostra erro.Preview Transform gives error.
- Não é possível digitar a chave de fechamento.Cannot type close brace.
- Referência de objeto não definida para uma instância de um objeto durante a implantação de projeto do Service Fabric após a atualização 15.8.0.Object reference not set to an instance of an object when deploying Service Fabric project after update 15.8.0.
- Erro de instalação "O formato do caminho fornecido não é compatível"."The given path's format is not supported" installation error.
- Falha na tarefa ExpandPriContent. O caminho contém caracteres inválidos.Task ExpandPriContent failed. Illegal characters in path.
- Erro do instalador "Não foi possível criar a instância do tipo System.Collections.Genertic.Iset'1[Signer]"."Could not create instance of type System.Collections.Genertic.Iset'1[Signer]" installer error.
- Falha de implantação do Service fabric em 15.8.0.Service fabric deployment fails in 15.8.0.
- Não é possível criar o pacote do aplicativo para Windows Store.Cannot create app package for Windows store.
- Geração de código incorreta para recursos fortemente tipados.Incorrect code generation for strongly-typed resources.
- Associação de teclado para layout italiano.Keyboard binding for Italian layout.
- IntelliSense inválido Nº 9999.IntelliSense broken #9999.
- Ao trabalhar em um projeto do Unity, e o Unity reescreve vários arquivos do projeto, as Ferramentas do Visual Studio para Unity recarregam automaticamente a solução.When working on a Unity project and Unity rewrites multiple project files, the Visual Studio Tools for Unity will now automatically reload the solution.
- Agora, o cliente receberá uma caixa de diálogo para fechar os aplicativos do Office se eles estiverem bloqueando a instalação do Visual Studio e causando uma falha de 1303.The customer will now get a dialog to close Office applications if they are blocking the Visual Studio install and causing a failure of 1303.
Visual Studio 2017 versão 15.8.3Visual Studio 2017 version 15.8.3
lançado em 6 de setembro de 2018released on September 6, 2018
Principais problemas corrigidos no 15.8.3Top Issues Fixed in 15.8.3
Estes são os problemas relatados por clientes e solucionados na 15.8.3:These are the customer-reported issues addressed in 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 que é incompatível com o Visual Studio.Visual Studio 2017 version 15.8.2 contained a pre-release build of .NET Core SDK 2.1.401 that is incompatible with Visual Studio. Nós corrigimos esse problema com o Visual Studio 2017 versão 15.8.3.We have corrected this issue with Visual Studio 2017 version 15.8.3.
- Falha na criação de caso de teste do VSCppUnit.VSCppUnit test case creation failure.
- IntelliSense de Python que não está funcionando no Python 2.7.Python IntelliSense not working on Python 2.7.
- Designer XAML, fazendo com que o Visual Studio feche inesperadamente.XAML designer causing Visual Studio to close unexpectedly.
Visual Studio 2017 versão 15.8.4Visual Studio 2017 version 15.8.4
lançado em 11 de setembro de 2018released on September 11, 2018
Principais problemas corrigidos na versão 15.8.4Top Issues Fixed in 15.8.4
Estes são os problemas relatados por clientes e solucionados na versão 15.8.4:These are the customer-reported issues addressed in 15.8.4:
- A função constexpr com o parâmetro (void) explícito causa falhas na versão MSVC 15.8.0.Constexpr function with explicit (void) parameter crashes MSVC 15.8.0 release.
- TypeScriptLspCodeActionProvider encontrou um erro e foi desabilitado.TypeScriptLspCodeActionProvider encountered an error and has been disabled.
- O pacote 'Componentes Compartilhados da Web' não foi carregado corretamente.The 'Shared Web Components' package did not load correctly.
- Editar o CSS com o Link do Navegador habilitado poderá causar falhas no Visual Studio.Editing CSS with Browser Link enabled can crash Visual Studio.
- Falha de implantação do Service Fabric na versão 15.8.0.Service Fabric Deployment fails in 15.8.0.
- Erro incorreto do ponteiro do constexpr para membros com o VS2017 15.8.Incorrect error for constexpr pointer to members with VS2017 15.8.
- Constexpr não oferece suporte a __declspec(dllimport) no VS2017 15.8.Constexpr doesn't support __declspec(dllimport) in VS2017 15.8.
- A diferença do C++ VS 2017 Atualização 8 no ponteiro da função de membros entre os modos C++14 e C++17 resulta em falhas.C++ VS 2017 Update 8 difference in member function pointer between C++14 and C++17 modes leads to crashes.
- TestExplorer bloqueando a interface do usuário na compilação mais recente.TestExplorer locking up UI in latest build.
- [WebKit] "Símbolo já definido" para a definição de membro do modelo estático (regressão).[WebKit] "Already defined symbol" for static template member definition (regression).
- Erro interno do compilador de VS 15.8.0.VS 15.8.0 Internal compiler error.
- Erro interno do compilador na função constexpr.Internal compiler error in constexpr function.
- A janela Gerenciador de Testes permanece em branco com o Expresso.Test Explorer Window remains blank with Express.
- O Visual Studio 2017 falha ao abrir em um computador habilitado por FIPS.Visual Studio 2017 fails to open on FIPS-enabled machine..
- Erro interno do compilador de VS2017 15.8 'msc1.cpp', linha 1518 ao avaliar a função constexpr simples.VS2017 15.8 Internal Compiler Error 'msc1.cpp', line 1518 when evaluating simple constexpr function.
- Erro fatal C1001 após atualização do VS 15.8.0.Fatal error C1001 after update to VS 15.8.0.
- Migração para o VS2017 15.8: erro interno do compilador ao usar funções constexpr como parâmetros de modelo.Migrating to VS2017 15.8: Internal compiler error when using constexpr functions as template parameters.
- Erro interno do compilador ao compilar uma função de modelo com um constexpr em VC++ 15.8.0.Internal compiler error when compiling a template function with a constexpr in VC++ 15.8.0.
- Falha causada pelo código gerado pelo compilador do VC 15.8.1.Code generated by VC 15.8.1 compiler lead to crash.
Avisos de Consultoria de SegurançaSecurity Advisory Notices
- CVE-2018-8409 Vulnerabilidade de Ataque de Negação de Serviço do .NET CoreCVE-2018-8409 .NET Core Denial Of Service Vulnerability
- CVE-2018-8409 Vulnerabilidade de Ataque de Negação de Serviço do ASP.NET CoreCVE-2018-8409 ASP.NET Core Denial Of Service Vulnerability
Visual Studio 2017 versão 15.8.5Visual Studio 2017 version 15.8.5
lançado em 20 de setembro de 2018released on September 20, 2018
Resumo das Novidades na 15.8.5Summary of What's New in 15.8.5
- Agora as Ferramentas do Visual Studio para Xamarin dão suporte a Xcode 10.Visual Studio Tools for Xamarin now supports Xcode 10.
Principais problemas corrigidos na versão 15.8.5Top Issues Fixed in 15.8.5
Estes são os problemas relatados por clientes e solucionados na versão 15.8.5:These are the customer-reported issues addressed in 15.8.5:
- A dica de ferramenta do depurador não expande na sessão de depuração do Xamarin.iOS.Debugger tooltip does not expand in Xamarin.iOS debugging session.
- O depurador não deixará que eu saia do ponto de execução (Android).Debugger won't let me leave execution point (Android).
- Após atualizar para a versão 15.8.1, a dica de dados não é exibida ao depurar.After updating to 15.8.1, data tip does not show when debugging.
- A dica de dados do depurador não expande [Editor].Debugger data tip does not expand [Editor].
- Exceção: MSB0001: erro interno do MSBuild: já registrado para o tempo de compilação.Exception:MSB0001: Internal MSBuild Error: Already registered for build-time.
- Caminho incorreto para o recurso no manifesto de ClickOnce após atualizar para VS 15.8.1.Wrong path to resource in manifest for ClickOnce after upgrading to VS 15.8.1.
- Erro de manifesto do ClickOnce na versão 15.8.ClickOnce Manifest error in 15.8.
- A publicação do ClickOnce não tem determinadas referências.ClickOnce Publish is missing certain references.
- ClickOnce: arquivo de linguagem copiado para o local errado.ClickOnce: Language file copied to wrong location.
- Referência ausente na pasta de publicação do ClickOnce.Reference missing in the ClickOnce publish folder.
- Compilar projetos F# de estilo de SDK que não seja .NET resulta em um erro interno do MSBuild, a menos que o paralelismo do MSBuild esteja definido como 1.Compiling non-.NET SDK style F# projects results in an internal MSBuild error unless MSBuild parallelism is set to 1.
- A imagem nativa do F# não é gerada no Visual Studio.F# is not NGEN'd in Visual Studio.
- O F# implanta o binário FSharp.Core 4.5.0.0 no local 4.4.3.0.F# deploys the FSharp.Core 4.5.0.0 binary in the 4.4.3.0 location.
Detalhes das novidades na versão 15.8.5Details of What's New in 15.8.5
Ferramentas do Visual Studio para XamarinVisual Studio Tools for 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.Visual Studio Tools for Xamarin now supports Xcode 10 that allows you to build and debug apps for iOS 12, tvOS 12, and 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.See how to get ready for iOS 12 and our introduction to iOS 12 for more details on the new features available.
Visual Studio 2017 versão 15.8.6Visual Studio 2017 version 15.8.6
lançado em 02 de outubro de 2018released on October 02, 2018
Resumo das Novidades na 15.8.6Summary of What's New in 15.8.6
- A versão mais recente do SDK do Windows 10 está disponível.The latest Windows 10 SDK is available.
Principais problemas corrigidos na versão 15.8.6Top Issues Fixed in 15.8.6
Estes são os problemas relatados por clientes e solucionados na 15.8.6:These are the customer-reported issues addressed in 15.8.6:
- Os pacotes do NuGet para o IntelliSense são desfeitos.NuGet packages for Intellisense are broken.
- O Visual Studio fecha depois de abrir o sln.Visual Studio closes after opening sln.
- O editor de XML de App.Config ainda trava em 15.8.4.App.Config XML editor still freezing in 15.8.4.
Detalhes das novidades na versão 15.8.6Details of What's New in 15.8.6
O mais recente SDK do Windows 10 para desenvolvedores da Plataforma Universal do WindowsLatest Windows 10 SDK for Universal Windows Platform developers
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.The latest Windows 10 SDK (build 17763) is now available as an optional component for the Universal Windows Platform development workload. Marque a caixa de seleção Windows 10 SDK (10.0.17763.0) para adicionar esse SDK à carga de trabalho.You can add this SDK to the workload by selecting the Windows 10 SDK (10.0.17763.0) checkbox.
Visual Studio 2017 versão 15.8.7Visual Studio 2017 version 15.8.7
lançado em 10 de outubro de 2018released on October 10, 2018
Novidades na 15.8.7What's New in 15.8.7
Azure DevOpsAzure DevOps
O Visual Studio Team Services agora é o Azure DevOps.Visual Studio Team Services is now Azure DevOps! Você verá essa nova identidade visual no Team Explorer e nas referências no Visual Studio.You will see this new branding in Team Explorer and in references across Visual Studio.
Avisos de Consultoria de SegurançaSecurity Advisory Notices
Visual Studio 2017 versão 15.8.8Visual Studio 2017 version 15.8.8
lançado em 24 de outubro de 2018released on October 24, 2018
Principais problemas corrigidos na versão 15.8.8Top Issues Fixed in 15.8.8
Estes são os problemas relatados por clientes solucionados na 15.8.8:These are the customer-reported issues addressed in 15.8.8:
- /DEBUG:FASTLINK sem informações de depuração para tipos STL incluídos por PCH./DEBUG:FASTLINK no debug info for STL types included via PCH.
- Geração de código inválido no compilador RTW 15.8.Bad codegen seen in 15.8 RTW compiler.
- Corrupção de heap no desenrolamento de pilha ao fazer o inlining da função.Heap corruption in stack unwinding when inlining function.
- O vinculador consome 6 GB de memória para o caso de teste específico.Linker consumes 6 GB of memory for specific test case.
Visual Studio 2017 versão 15.8.9Visual Studio 2017 version 15.8.9
lançado em 2 de novembro de 2018released on November 2, 2018
Principais problemas corrigidos na versão 15.8.9Top Issues Fixed in 15.8.9
Estes são os problemas relatados por clientes solucionados na versão 15.8.9:These are the customer-reported issues addressed in 15.8.9:
- Adicionado suporte ao Xcode 10.1 nas Ferramentas do Visual Studio para Xamarin.Added support for Xcode 10.1 in Visual Studio Tools for Xamarin.
- Atualizado o modelo do Xamarin.Forms para o Xamarin.Forms 3.3.0.Updated the Xamarin.Forms template to Xamarin.Forms 3.3.0.
- A atualização 15.8.6 divide os projetos do instalador.Update 15.8.6 breaks Installer Projects.
- Erro interno do compilador no VS15.8 msc1.cpp, linha 1518.Internal Compiler error in VS15.8 msc1.cpp line 1518.
- Projetos do instalador do Microsoft Visual Studio 2017 0.8.8 e VS 15.8.6.Microsoft Visual Studio 2017 Installer Projects 0.8.8 and VS 15.8.6.
- SFINAE falha ao detectar função sobrecarregada correspondente na versão prévia do VS 3 15.9.0.SFINAE fails to detect matching overloaded function in preview VS preview 3 15.9.0.
- Designer XAML falha ao fechar Visual Studio.XAML Designer crash on Visual Studio close.
Problemas conhecidosKnown Issues
Veja todos os problemas atuais conhecidos e as soluções alternativas disponíveis no Visual Studio 2017 versão 15.8.See all existing known issues and available workarounds in Visual Studio 2017 version 15.8.
Comentários & sugestõesFeedback & Suggestions
Adoraríamos ouvir sua opinião!We would love to hear from you! 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.For issues, let us know through the Report a Problem option in the upper right-hand corner of either the installer or the Visual Studio IDE itself. OThe está localizado no canto superior direito.icon is located in the upper right-hand corner. 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.You can make a product suggestion or track your issues in the Visual Studio Developer Community, where you can ask questions, find answers, and propose new features. Você também pode obter ajuda gratuita com a instalação por meio de nosso suporte via chat ao vivo.You can also get free installation help through our Live Chat support.
BlogsBlogs
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.Take advantage of the insights and recommendations available in the Developer Tools Blogs site to keep you up-to-date on all new releases and include deep dive posts on a broad range of features.
Histórico de Notas de Versão do Visual Studio 2017Visual Studio 2017 Release Notes History
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.For more information relating to past versions of Visual Studio 2017, see the Visual Studio 2017 Release Notes History page.