Visual Studio Icon Notas de Versão da Versão Prévia do Visual Studio 2017Visual Studio 2017 Preview Release Notes


| Comunidade de Desenvolvedores | Requisitos de Sistema | Compatibilidade | Código Distribuível | Termos de Licença | Blogs | Problemas Conhecidos || Developer Community | System Requirements | Compatibility | Distributable Code | License Terms | Blogs | Known Issues |


Importante

Esta versão não é "go-live" e não se destina para uso em computadores de produção ou para a criação de código de produção.This release is not "go-live" and not intended for use on production computers or for creating production code.

Clique no botão para baixar a versão de visualização mais recente do Visual Studio 2017.Click a button to download the newest preview version of Visual Studio 2017. Para obter instruções sobre como instalar e atualizar o Visual Studio 2017, consulte o atualizar o Visual Studio 2017 para a versão mais recente documentação.For instructions on installing and updating Visual Studio 2017, see the Update Visual Studio 2017 to the most recent release documentation.


O que há de novo no 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 15.8 nas seguintes postagens:You can find in-depth information about the Visual Studio 15.8 releases in the following posts:

Versões de visualização do Visual Studio 2017 versão 15,8Visual Studio 2017 version 15.8 Preview Releases

Comunicados sobre o Visual Studio 2017 versão 15.8Visual Studio 2017 version 15.8 Announcements


Problemas conhecidosKnown Issues

Veja todos os problemas conhecidos existentes 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.

Visual Studio 2017 Known Issues

O componente de ferramentas do PowerShell foi removido da instalação do Visual Studio.The PowerShell tools component has been removed from Visual Studio setup. Se você atualizar para o Visual Studio atualização 8 preview 3 ou posterior, as ferramentas do PowerShell instaladas é removido.If you upgrade to Visual Studio update 8 preview 3 or later, the installed PowerShell tools is removed. Se você quiser continuar a usar esse componente, instalar na Galeria do Visual Studio na ferramentas do PowerShell para Visual Studio 2017.If you want to continue using this component, install from Visual Studio gallery at PowerShell Tools for Visual Studio 2017.


Release Notes Icon Visual Studio 2017 versão 15.8 Preview 1Visual Studio 2017 version 15.8 Preview 1

lançado em 07 de maio de 2018released May 07, 2018

Resumo das novidades na visualização 15,8 1Summary of What's New in 15.8 Preview 1

Novos recursos na visualização 15,8 1New Features in 15.8 Preview 1

Problemas corrigidos na visualização 15,8 1Issues Fixed in 15.8 Preview 1

Esses são os problemas relatados pelo cliente abordados nesta versão.These are the customer-reported issues addressed in this release. Se você estiver procurando por um problema específico relatados pelo cliente que foi corrigido no 15,8 Preview 1, visite o comunidade de desenvolvedores.If you are looking for a specific customer-reported issue that has been fixed in 15.8 Preview 1, visit the Developer Community.


Detalhes das novidades na visualização 15,8 1Details of What's New in 15.8 Preview 1

C++C++

Dicas de ferramenta informações rápidas do C++ em macros agora mostram o que eles expandirão para, 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.

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

No Visual Studio 15.8 Preview 1, adicionamos um novo projeto único experiência de contêiner do Docker para projetos web do ASP.NET Core.In Visual Studio 15.8 Preview 1, we have 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 suporte ao Docker ao criar o projeto (Figura 1):You can add Docker support when creating the project (Figure 1):

Enable Docker Support
(Figura 1) Habilitar o suporte do Docker(Figure 1) Enable Docker Support

Ou, você pode habilitar o suporte do Docker a um projeto existente por meio do menu de contexto do projeto no Gerenciador de soluções (Figura 2).Or, you can enable Docker support to an existing project through the project's context menu in Solution Explorer (Figure 2). 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.

Add Docker Support
(Figura 2) Adicionar suporte ao Docker(Figure 2) Add Docker Support

O Visual Studio também adiciona um perfil de inicialização do depurador (Figura 3) para Docker para que o projeto pode ser depurado durante a execução dentro de um contêiner.Visual Studio also adds a debugger launch profile (Figure 3) for Docker so that the project can be debugged while running within a container.

Docker Launch Profile
(Figura 3) Perfil de inicialização de docker(Figure 3) Docker Launch Profile

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. Se quiser executar vários contêineres simultaneamente, você poderá clicar com o botão direito do mouse na solução no Gerenciador de Soluções e selecione Definir Projetos de Inicialização, Vários projetos de inicialização e, em seguida, definir a lista suspensa Ação como Iniciar ou Iniciar sem depuração para todos os projetos que você 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, 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.

Você também pode adicionar a funcionalidade existente com base em Docker Compose para um projeto de web do ASP.NET Core por meio da nova suporte de orquestrador de contêiner opção (Figura 4).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 4). 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.

Add Container Orchestrator Support
(Figura 4) Adicionar suporte de orquestração(Figure 4) Add Orchestration Support

Release Notes Icon Visual Studio 2017 versão 15.8 Preview 1.1Visual Studio 2017 version 15.8 Preview 1.1

lançado em 08 de maio de 2018released May 08, 2018

Problemas corrigidos na visualização 15,8 1.1Issues Fixed in 15.8 Preview 1.1

  • Esta versão fornece uma correção que reduz o uso de memória e pressão de GC durante o carregamento da solução.This release provides a fix that reduces memory usage and GC pressure during solution load.

Release Notes Icon Aviso de Consultoria de Segurança do Visual Studio 2017 versão 15.8 Versão Prévia 1Visual Studio 2017 version 15.8 Preview 1 Security Advisory Notice

atualizado em 08 de maio de 2018updated May 08, 2018

Comunicado de segurança da Microsoft sobre a vulnerabilidade de negação de serviço do .NET CoreMicrosoft Security Advisory for .NET Core Denial Of Service Vulnerability

CVE-2018-0765CVE-2018-0765

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.


Release Notes Icon Visual Studio 2017 versão 15.8 Preview 2Visual Studio 2017 version 15.8 Preview 2

lançado em 31 de maio de 2018released May 31, 2018

Resumo das novidades na visualização 15,8 2Summary of What's New in 15.8 Preview 2

Novos recursos no 15,8 Preview 2New Features in 15.8 Preview 2

Problemas corrigidos no 15,8 Preview 2Issues Fixed in 15.8 Preview 2

Esses são os problemas relatados pelo cliente abordados nesta versão.These are the customer-reported issues addressed in this release. Se você estiver procurando por um problema específico relatados pelo cliente que foi corrigido no 15,8 Preview 2, visite o comunidade de desenvolvedores.If you are looking for a specific customer-reported issue that has been fixed in 15.8 Preview 2, visit the Developer Community.


Detalhes das novidades na visualização 15,8 2Details of What's New in 15.8 Preview 2

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.
Download, then install option
(Figura 1) Opção Baixar, depois instalar(Figure 1) Download, then install option

DesempenhoPerformance

Adicionamos uma opção para desabilitar a reabrindo de documentos que estavam abertos na sessão anterior, como a reabertura determinados tipos de arquivos ou designers podem atrasar o carregamento da solução.We've 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.

DepuraçãoDebugging

Quando você tiver mais de uma instância do Visual Studio 2017 instalado, agora você pode selecionar qual instância irá implantar sua extensão durante a depuração (Figura 2).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 2). Dessa forma, você pode desenvolver, por exemplo, no canal de versão do Visual Studio enquanto realiza a depuração no canal de versão prévia.That way you can develop in the e.g. the Visual Studio release channel while debugging in the preview channel.

Select your debug instance
(Figura 2) Instância de depuração de Select(Figure 2) Select debug instance

ExtensibilidadeExtensibility

Agora você pode compilar projetos do Visual Studio (VSIX) de extensão usando as ferramentas de Build do Visual Studio 2017.You can now build Visual Studio extension (VSIX) projects using the Build Tools for Visual Studio 2017.

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.
  • Foi adicionada uma exibição de Módulos/Funções que mostram informações de desempenho por módulo (dll) e por função em um módulo.Added a Modules/Functions view which 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.
  • Foi adicionada a “indicação de instância” ao grafo de Uso da CPU na exibição principal da ferramenta de Uso da CPU.Added 'instance indication' to the CPU Usage graph in the CPU Usage tool's main view. Você pode exibir as instâncias quando uma função está em execução (por exemplo, na pilha) clicando duas vezes uma função listada em qualquer uma das exibições de 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.

C++C++

Esta versão tem as seguintes atualizações e aprimoramentos para C++:This release has the following updates and enhancements to C++:

  • Adicionado Add > Novo Item modelo para gerar um arquivo clang-format seguindo a convenção de codificação especificada para ClangFormat na 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 a configuração de formatação do Visual Studio atual do usuário de 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.

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:

Suporte ao Android Emulator do Hyper-VHyper-V Android emulator support

Esta versão contém uma visualização do Google Android emulator é compatível com o Hyper-V que está disponível no Windows 10 de abril de 2018 atualize (Figura 3).This release contains a preview of the Google Android emulator that is compatible with Hyper-V which is available in the Windows 10 April 2018 Update (Figure 3). 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.

Screenshot of both the Google Android emulator and HoloLens emulator running at the same time.
(Figura 3) Emulador do Google Android Emulator e HoloLens
(Figure 3) Google Android Emulator and HoloLens emulator
Suporte mínimo para projetos de associação do xamarin. MacMinimum support for Xamarin.Mac binding projects

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, 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.You can also build Xamarin.Mac binding projects, 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.

F# e F# ferramentasF# and F# Tools

Nos concentramos no desempenho de F# das ferramentas de quando usar os projetos de estilo de SDK do .NET e F# correções do compilador.We focused on performance for F# tools when using .NET SDK-style projects and F# compiler fixes.

F# idiomaF# language
  • Mais uma vez, você pode herdar de FSharpFunc.You can once again inherit from FSharpFunc. Isso foi previamente desabilitado em F# 4.1.This was previously disabled in F# 4.1.
  • Corrigimos um bug em que você pode obter um AccessViolationException com seq { } ao usar yield! com várias sequências coletadas no modo de versão.We fixed a bug where you could get an AccessViolationException with seq { } when using yield! with multiple collected sequences in release mode.
  • Corrigimos um bug no MailboxProcessor.TryReceive() onde isso pode causar um aumento no uso da CPU na primeira invocação.We fixed a bug in MailboxProcessor.TryReceive() where it could cause a spike in CPU usage on first invocation.
  • Avisos de correspondência de padrão de enum agora imprimam um nome de campo de um código de descoberta, por John Wostenberg.Enum pattern match warnings now print out a field name of an uncovered code, by John Wostenberg.
F# ferramentasF# tools
  • Melhoramos significativamente o tempo de colorização semântica em F recém-aberta# arquivos em projetos do SDK do .NET que não estão usando vários destinos.We significantly improved the time to semantic colorization in newly-opened F# files in .NET SDK projects that are not using multi-targeting.
  • Significativa melhoramos o desempenho do IntelliSense para F# em projetos do SDK do .NET que não estão usando vários destinos.We significant improved IntelliSense performance for F# in .NET SDK projects that are not using multi-targeting.
  • Data de conclusão no IntelliSense agora é salvos para até dois minutos, permitindo que as descrições na dica de ferramenta para permanecer por até que ponto por invocação.Completion data in IntelliSense is now saved for up to two minutes, allowing descriptions in the tooltip to remain for up until that point per invocation.

Release Notes Icon Visual Studio 2017 versão 15.8 Preview 3Visual Studio 2017 version 15.8 Preview 3 New Release icon

lançado em 26 de junho de 2018released June 26, 2018

Resumo das novidades na visualização 15,8 3Summary of What's New in 15.8 Preview 3

Novos recursos no 15,8 Preview 3New Features in 15.8 Preview 3

  • Agora o Visual Studio oferece ferramentas de desenvolvimento do .NET Framework 4.7.2 para as plataformas compatíveis com o tempo de execução 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.
  • Melhoramos o desempenho durante o descarregamento/recarregamento do projeto e alternância de branch.We improved performance during project unload/reload and branch switching.
  • 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.
  • Status do Git e o TFS agora atualiza adequadamente para alterações de arquivo externo em projetos do .NET Core.Git and TFS status now updates properly for external file changes in .NET Core projects.
  • 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.
  • Aprimoramentos de C++ incluem IntelliSense do modelo, convert macro lâmpadas constexpr e Rabiscos de análise de código de experimental no editor.C++ enhancements include Template IntelliSense, convert macro to constexpr lightbulbs, and experimental in-editor code analysis squiggles.
  • 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.
  • Criação de Perfil de Desempenho agora oferece a capacidade de pausar/retomar a coleta de dados e adiciona uma nova ferramenta de Rastreamento de Alocação de Objeto .NET.Performance Profiling now offers the ability to pause/resume data collection and adds a new .NET Object Allocation Tracking tool.
  • Incluímos melhorias para o build incremental do Android nos Xamarin suporte para Xcode 9.4.We included improvements for Android incremental builds in the Xamarin support for Xcode 9.4.
  • As Ferramentas de Build agora são compatíveis com o Fluxo de Trabalho.The Build Tools now support Workflow.
  • Pacotes de autoload Async são atrasados até que a inicialização e solução de carregam completoAsync autoload packages are delayed till startup and solution load complete

Problemas corrigidos no 15,8 Preview 3Issues Fixed in 15.8 Preview 3

Esses são os problemas relatados pelo cliente abordados nesta versão.These are the customer-reported issues addressed in this release. Se você estiver procurando por um problema específico relatados pelo cliente que foi corrigido no 15,8 Preview 3, visite o comunidade de desenvolvedores.If you are looking for a specific customer-reported issue that has been fixed in 15.8 Preview 3, visit the Developer Community.


Aviso de Consultoria de Segurança do Visual Studio 2017 versão 15.8 Versão Prévia 3Visual Studio 2017 version 15.8 Preview 3 Security Advisory Notice

Consultoria de Segurança da Microsoft para vulnerabilidade de segurança do GitMicrosoft Security Advisory for Git Security Vulnerability

CVE-2018-11235CVE-2018-11235

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. Esta postagem no blog tem mais informações.This blog post has more information.


Detalhes das novidades na visualização 15,8 3Details of What's New in 15.8 Preview 3

.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 tempo de execução 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:

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 de c# e VB em soluções grandes de minutos vários segundos.We have reduced the time to unload and reload a small set of C# and VB projects in large solutions from minutes to several seconds.

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 pausa:We added the capability to start profiling paused:

    • A ferramenta de uso da CPU no Profiler de desempenho (ALT-F2) agora pode começar em pausa.The CPU Usage tool in the Performance Profiler (ALT-F2) can now start paused. Isso pode ser útil quando demora um pouco para chegar a um cenário digno de uma investigação de Uso da CPU.This can be useful when it takes a while to get to a scenario worthy of a CPU Usage investigation. Ao iniciar a coleta de uso da CPU desabilitada, o Criador de Perfil de Desempenho não coletará nenhum dado de pilha do exemplo de uso da CPU até que seja especificamente habilitada.By starting the CPU usage collection disabled, the Performance Profiler will not collect any CPU usage sample stack data until it is specifically enabled. Isso torna a quantidade de dados resultante muito menor para ser coletada e analisada, tornando assim as investigações de desempenho mais eficientes.This makes the resultant amount of data much smaller to collect and analyze, thus making your performance investigations more efficient.
    • Para iniciar uma sessão com a coleta de exemplo do uso da CPU desabilitada, clique no ícone de configurações (engrenagem) ao lado da ferramenta uso da CPU na página de inicialização do Profiler de desempenho (Figura 1) para exibir a página de propriedades de uso da CPU, em seguida, desmarque a caixa de seleção rotulado habilitar a CPU de criação de perfil (amostragem).To start a session with CPU Usage sample collection disabled, click the settings (gear) icon next to the CPU Usage tool in the Performance Profiler launch page (Figure 1) to display the CPU Usage property page, then uncheck the checkbox labeled Enable CPU Profiling (Sampling). Por fim, pressione OK para salvar as configurações.Finally, press OK to save the settings.
      CPU Usage Tool settings page
      (Figura 1) Configurações da ferramenta de uso da CPU(Figure 1) CPU Usage Tool Settings
    • Depois de iniciar o aplicativo de destino (pressionando o botão Iniciar na página de inicialização do Profiler de desempenho), você verá uma exibição de monitoramento que mostra o gráfico de utilização da CPU (Figura 2) que permite que você controle a criação de perfil de CPU.Once you start the target application (by pressing the Start button in the Performance Profiler launch page), you'll see a monitoring display showing the CPU utilization graph (Figure 2) that allows you to control the CPU profiling. Para habilitar a coleta de dados de pilha do exemplo de uso da CPU, pressione o link Habilitar criação de perfil da CPU no meio da exibição ou clique no botão Registrar Perfil da CPU logo abaixo do grafo de utilização da CPU.To enable CPU usage sample stack data collection, press the Enable CPU profiling link in the middle of the view, or click the Record CPU Profile button just below the CPU utilization graph. Você pode clicar no botão Registrar Perfil da CPU para habilitar/desabilitar a coleta de dados de exemplo quantas vezes desejar.You can click the Record CPU Profile button 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.
    CPU Usage Tool monitoring view
    (Figura 2) Exibição de monitoramento de ferramenta de uso da CPU(Figure 2) CPU Usage Tool Monitoring View
  • 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. Invocar essa ferramenta para uma sessão do criador de perfil de desempenho causa a coleção de um rastreamento de pilha para cada alocação de objeto .NET que ocorre no aplicativo de destino.Invoking this tool for a performance profiler session causes 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, assim como identificar anomalias.You can quickly determine the allocation patterns in your code and identify anomalies as well. Além disso, para eventos de GC (Coleta de Lixo), é possível determinar facilmente quais objetos foram coletados e mantidos, determinando rapidamente os tipos de objeto que dominam o uso de memória do aplicativo.In addition, for Garbage Collection (GC) events, one can easily determine which objects were collected and retained, quickly determining object types which 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 saturarão os limites de buffer envolvidos na coleta de dados de diagnóstico, mas os aplicativos de teste pequenos exercitando cenários de uma chave de API podem ser diagnosticados muito bem.A lot of 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. Enquanto seu aplicativo de teste está em execução, o Criador de Perfil de Desempenho mostra uma exibição de monitoramento com 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 monitoring view with 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 do .NET, exiba a página de inicialização de desempenho Profiler (Figura 3), selecione um destino para o perfil (o destino padrão é o projeto de inicialização na solução), verifique o rastreamento de alocação de objeto do .NET na lista de ferramentas disponíveis, em seguida, pressione a iniciar botão.To use the .NET Object Allocation Tracking Tool, display the Performance Profiler launch page (Figure 3), select a target to profile (the default target is the startup project in the solution), check .NET Object Allocation Tracking from the list of available tools, then press the Start button.
    Performance Profiler launch page
    (Figura 3) Página de inicialização do Profiler de desempenho(Figure 3) Performance Profiler Launch Page

C++C++

Esta versão tem as seguintes atualizações e aprimoramentos para C++:This release has the following updates and enhancements to C++:

  • Adicionamos 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.We added a new quick-fix lightbulb to convert basic macros to constexpr as a new tool to modernize code.
  • Você tenha um pré-processador de novo, experimental baseada em token, que está em conformidade com padrões do C++11 (incluindo recursos do pré-processador C99), habilitados com / experimental: opção de pré-processador.You have a new, experimental, token-based preprocessor that conforms to C++11 standards (including C99 preprocessor features), enabled with /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.
  • IntelliSense para modelos fornecem a você mais detalhes sobre os argumentos de modelo para aproveitar ao máximo do IntelliSense em seu corpo de modelo.IntelliSense for templates provide you more details about template arguments to take full advantage of IntelliSense within your template body.
  • Adicionamos modelos para simplificar a adição configurações de Cmakesettings.We added templates to simplify adding configurations to CMakeSettings.json.
  • Estamos trabalhando para atualizar nossos experiência de análise de código.We're working to refresh our code analysis experience. Agora você pode habilitar os recursos novos, 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. Análise de código pode ser executado 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.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.
  • Apenas meu código agora permite que você percorrer código do sistema ou 3ª bibliotecas C++ de terceiros, além de recolhimento essas chamadas na janela 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 chama o código do usuário, quando você entrar, o depurador ignora todo o código de sistema e interrompe na primeira linha de retorno de chamada do código do usuário.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.
  • O Prompt de Comando do Desenvolvedor do Visual Studio é compatível com a habilitação de tempos de execução 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.

PythonPython

Agora você pode usar a depuração de modo misto (qualquer idioma) com 3.7.0rc1 de Python.You can now use mixed-mode (cross-language) debugging with Python 3.7.0rc1.

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.
  • Também adicionamos modelos para Xamarin.Essentials.We also added templates for Xamarin.Essentials. Xamarin.Essentials é um conjunto principal de APIs de plataforma cruzada para ajudar os desenvolvedores a criar aplicativos nativos.Xamarin.Essentials is a core set of cross-platform APIs to help developers build native apps. Isso dá aos desenvolvedores acesso a mais de trinta APIs específicas da plataforma que pode ser acessadas em seu código compartilhado.This gives developers access to over thirty platform-specific APIs that can be accessed from their shared code. Incluímos a localização geográfica, armazenamento seguro, sensores, informações de dispositivo e muito mais.We include geolocation, secure storage, sensors, device information, and much more. Xamarin.Essentials pode ser usado em qualquer iOS, Android, UWP ou xamarin. Forms aplicativo, independentemente de como você pode criar a interface do usuário.Xamarin.Essentials can be used in any iOS, Android, UWP, or Xamarin.Forms app, regardless of how you create the user interface.

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 the if 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 esta regra de estilo por meio de 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
    • Usar condicionais ternárias em atribuições e instruções de retorno também pode ser configurada como uma regra de estilo em Ferramentas > Opções > ... ou por meio de .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
  • 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.
    • Consulte Editar > Vários Sinais de Interpolação 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). Você pode encontrar esses esquemas em Ferramentas > Opções > Geral > Teclado e usando o menu suspenso superior.You can find these schemes under Tools > Options > General > Keyboard and using the top drop-down menu.

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.

Atrasar o carregamento de pacotes que são carregados automaticamente de forma assíncronaDelay loading of packages that autoload asynchronously

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.


Release Notes Icon Visual Studio 2017 versão 15.8 Preview 4Visual Studio 2017 version 15.8 Preview 4

lançado em 10 de julho de 2018released July 10, 2018

Resumo das novidades na visualização 15,8 4Summary of What's New in 15.8 Preview 4

Esta versão conta com as seguintes melhorias e aprimoramentos:This release contains the following improvements and enhancements:

Problemas corrigidos no 15,8 visualização 4Issues Fixed in 15.8 Preview 4

Esses são os problemas relatados pelo cliente abordados nesta versão.These are the customer-reported issues addressed in this release. Se você estiver procurando por um problema específico relatados pelo cliente que foi corrigido no 15,8 visualização 4, visite o comunidade de desenvolvedores.If you are looking for a specific customer-reported issue that has been fixed in 15.8 Preview 4, visit the Developer Community.


Avisos de Consultoria de Segurança do Visual Studio 2017 versão 15.8 Versão Prévia 4Visual Studio 2017 version 15.8 Preview 4 Security Advisory Notices

atualizado em 10 de julho de 2018updated July 10, 2018

Vulnerabilidade de execução de código remoto do Visual StudioVisual Studio Remote Code Execution Vulnerability

CVE-2018-8172CVE-2018-8172

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. Para obter mais informações, veja o artigo do Microsoft Security Response Center (CVE-2018-8172).For more information, see Microsoft Security Response Center article (CVE-2018-8172).

Vulnerabilidade de execução de código remoto do .NET Framework.NET Framework Remote Code Execution Vulnerability

CVE-2018-8260CVE-2018-8260

Existe uma vulnerabilidade de execução de código remoto no software .NET que pode levar à exploração do computador de um usuário, permitindo que os invasores executem código arbitrário no contexto do usuário atual.A remote code execution vulnerability exists in .NET software which 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. Para obter mais informações, veja o artigo do Microsoft Security Response Center (CVE-2018-8260).For more information, see Microsoft Security Response Center article (CVE-2018-8260).

Vulnerabilidade para falsificação do .NET Microsoft Macro Assembler.NET Microsoft Macro Assembler Tampering Vulnerability

CVE-2018-8232CVE-2018-8232

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. Para obter mais informações, veja o artigo do Microsoft Security Response Center (CVE-2018-8232).For more information, see Microsoft Security Response Center article (CVE-2018-8232).

Vulnerabilidade de bypass de recurso de segurança do ASP.NET CoreASP.NET Core Security Feature Bypass Vulnerability

CVE-2018-8171CVE-2018-8171

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. Para obter mais informações, veja Microsoft Security Response Center (CVE-2018-8171).For more information, see Microsoft Security Response Center (CVE-2018-8171).

Detalhes das novidades na visualização 15,8 4Details of What's New in 15.8 Preview 4

C++C++

Esta versão tem as seguintes atualizações e aprimoramentos para C++:This release has the following updates and enhancements to C++:

  • Duas novas adições ao Otimizador SSA voltadas para a geração de código C++ moderna: eliminação de armazenamento com redundância e dobra de branches com redundância.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.
  • IntelliSense do C++ agora responde às alterações no ambiente remoto para projetos CMake e MSBuild destinados ao Linux.C++ IntelliSense now responds to changes in the remote environment for both CMake and MSBuild projects targeting Linux. Ao instalar novas bibliotecas ou alterar seus projetos CMake, o IntelliSense do C++ automaticamente analisará os novos arquivos de cabeçalhos no computador remoto para um C++ completa e perfeita experiência de edição.As you install new libraries or change your CMake projects, C++ IntelliSense will automatically parse the new headers files on the remote machine for a complete and seamless C++ editing experience.

Desempenho de TesteTest Performance

Aprimoramos consideravelmente desempenho ao executar alguns testes em uma solução grande com vários projetos de teste.We have 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!

Extensão de Adaptador de Teste de .NET: substituição e alteração da falha.NET Test Adapter Extension: breaking change and deprecation

  • Alteração interruptiva: Todos os projetos de teste devem incluir seu referência nuget de adaptador de teste de .NET em sua 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.
  • Estruturas de teste de .NET foram liberar seus adaptadores em pacotes do nuget e deixando de extensões do Visual Studio..NET test frameworks have been releasing their adapters in nuget packages and moving away from Visual Studio extensions. No Visual Studio 2017 atualização 15.8 Preview 4, suporte para adaptadores de teste de .NET entregues por meio da extensão é substituído, mas ainda tem suporte.In Visual Studio 2017 Update 15.8 Preview 4, support for .NET test adapters delivered through extension is deprecated, but still supported. Isso significa que duas novas opções estarão disponíveis em Ferramentas > Opções > Testar.This means two new options will be available in Tools > Options > Test.
    • A primeira opção permite que o Visual Studio usem apenas os adaptadores de teste, ele localiza na pasta do assembly de teste (preenchida pela referência do nuget de adaptador de teste) ou conforme especificado no arquivo de configurações de execução.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 "fallback" para o comportamento antigo e pesquisa para teste de extensões do adaptador para projetos que não tem uma referência de 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.
  • Observe que 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.

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 novo Serviço de Aplicativo do Azure, você também pode configurar o Application Insights para coletar telemetria automaticamente.When creating a new Azure App Service, you can also configure Application Insights to automatically collect telemetry. Se você escolher uma região que também tem o Application Insights, o padrão será habilitado.If you choose a region that also has Application Insights, it defaults to enabled. 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.

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.

Ferramentas do Visual Studio para XamarinVisual Studio Tools for Xamarin

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.


Release Notes Icon Visual Studio 2017 versão 15.8 Preview 5Visual Studio 2017 version 15.8 Preview 5 New Release icon

lançado em 26 de julho de 2018released July 26, 2018

Resumo das novidades na visualização 15,8 5Summary of What's New in 15.8 Preview 5

Esta versão conta com as seguintes melhorias e aprimoramentos:This release contains the following improvements and enhancements:

Problemas corrigidos no 15,8 Preview 5Issues Fixed in 15.8 Preview 5

Esses são os problemas relatados pelo cliente abordados nesta versão.These are the customer-reported issues addressed in this release. Se você estiver procurando por um problema específico relatados pelo cliente que foi corrigido no 15,8 Preview 5, visite o comunidade de desenvolvedores.If you are looking for a specific customer-reported issue that has been fixed in 15.8 Preview 5, visit the Developer Community.


Detalhes das novidades na visualização 15,8 5Details of What's New in 15.8 Preview 5

Ferramentas do F# 4.5 e F# para Visual StudioF# 4.5 and F# Tools for Visual Studio

Estamos introduzindo a visualização de F# versão 4.5 com esta versão do idioma.We are introducing the preview of 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 o F# visualização da versão 4.5 de idioma:Here are the some of the highlights with the F# language version 4.5 preview:

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.New voidptr type.
  • Novas funções NativePtr.ofVoidPtr e NativePtr.toVoidPtr no FSharp.Core.New NativePtr.ofVoidPtr and NativePtr.toVoidPtr functions in FSharp.Core.
  • Novos tipos inref<'T> e outref<'T>, que são byrefs somente leitura e byrefs somente gravação, respectivamente.New types inref<'T> and outref<'T>, which are readonly byrefs and write-only byrefs, respectively. Isso corresponde a in ref e out ref no C#.This correspond to in ref and out ref in C#.
  • A capacidade de produzir structs ByRefLike (como Span e ReadOnlySpan).The ability to produce ByRefLike structs (such as Span and ReadOnlySpan).
  • A capacidade de produzir structs IsReadOnly.The ability to produce IsReadOnly structs.
  • Desreferência implícita de retornos byref e inref de métodos.Implicit dereference of byref- and inref-returns from methods.
  • A capacidade de produzir membros de extensão em byref/inref/outref.The ability to produce extension members on byref/inref/outref.

Esse conjunto de recursos corrige um bug no design inicial de retornos byref no F# 4.1, em que as funções, métodos e propriedades retornando byrefs não estavam implicitamente desreferenciando 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 byrefs 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 um 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 recursos também corrige um bug no compilador F# em que a “Substituição de struct nocivo” era possível, isto é, chamar um struct do F# poderia substituir o struct real sendo 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 being 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.

Permitir o recuo em colchetes de lista e matrizPermitting undentation 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 em sua própria linha.F# 4.5 now relaxes the indentation rule for list and array brackets that required then 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

Fizemos aprimoramentos para o F# compilador além dos recursos de linguagem mencionado anteriormente.We made improvements to the F# compiler in addition to the previously-mentioned language features. Esses recursos incluem:These features 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).
  • Um bug resultando em um AccessViolatioNException ao usar yield! com enumeráveis baseados em struct foi corrigido.A bug resulting in an AccessViolatioNException when using yield! with struct-based enumerables has been fixed.
  • Agora é possível herdar de FSharpFunc novamente.It is now possible to inherit from FSharpFunc 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.
  • Foi corrigido um bug em que a mensagem de erro usada quando a tentativa de usar a invocação dinâmica em funções embutidas foi ignorada.A bug has been fixed 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 the WarningsNotAsErrors flag that you can set in project files.
  • A mensagem de erro quando ramificações de uma correspondência de padrões não retornam o mesmo tipo foi atualizada para ser muito mais amigável pelo Isaac Abraham.The error message when branches of a pattern match do not return the same type has been updated to be much more friendlier by Isaac Abraham.
  • Um bug em que um 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.A bug where an internal error when 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

Fizemos as seguintes adições para o F# biblioteca principal:We made the following additions to the F# Core Library:

  • 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 for async { } 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 e FuncConvert.FromAction que o tipo System.Func e System.Action sobrecarrega, para ajudar na interoperação com C#.FuncConvert.FromFunc and FuncConvert.FromAction APIs that type System.Func and System.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 of MailboxProcessor.TryReceive.
  • A comparação para bool agora usa a comparação genérica rápida, contribuição de Vasily Kirichenko.Comparison for bool 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 for Array.allPairs has been updated to be correct, contributed by Patrick McDonald

Aprimoramentos de ferramentas de F#F# Tooling Improvements

Fizemos aprimoramentos significativos em F# ferramentas e como sempre, com um grande número de contribuições de F# comunidade de software livre.We made significant improvements in the F# tools, and 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 where printf 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 com ContainsKey e as chamadas Item subsequentes foi alterado para usar TryGetValue, por Eugene Auduchinok.Code that uses Dictionary with ContainsKey and subsequent Item calls has been changed to use TryGetValue, 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 as seguintes melhorias para infraestrutura, empacotamento e melhorias do código-fonte aberto:We made the following enhancements to infrastructure, packaging, and open source improvements:

  • 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/contro.fsi muito grandes no FSharp.Core foram divididos em async.fs/async.fsi, event.fs/event.fsi, eventmodule.fs/eventmodule.fsi, mailbox.fs/mailbox.fsi e observable.fs/observable.fsi.The very large control.fs/contro.fsi files in FSharp.Core have been split into async.fs/async.fsi, event.fs/event.fsi, eventmodule.fs/eventmodule.fsi, mailbox.fs/mailbox.fsi, and observable.fs/observable.fsi.
  • Adicionamos versões de estilo SDK .NET do nosso artefatos de projeto de teste de sobrecarga de desempenho.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.

Suporte de segredos .NET Framework do ASP.NETASP.NET .NET Framework Secrets Support

Para projetos do .NET Framework do ASP.NET voltados para o .NET Framework 4.7.1 ou superior, agora você pode abrir e armazenar os segredos que não deseja no seu 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".

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.

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 nossos documentos para saber mais sobre como usar AsyncPackages.Read our docs to learn more about how to use AsyncPackages.

Pacotes de extensãoExtension Packs

Compartilhe facilmente seus favoritos do conjunto de extensões ou definir uma nova instalação do Visual Studio com todas as suas extensões usando o pacote de extensão.Easily share your favorite set of extensions or set up a new install of Visual Studio with all your extensions by using 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.


ComentáriosFeedback

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 Feedback Icon está localizado no canto superior direito.icon is located in the upper right-hand corner. Você pode acompanhar os problemas na Comunidade de Desenvolvedores do Visual Studio, em que você pode fazer perguntas e encontrar respostas.You can track your issues in the Visual Studio Developer Community, where you can ask questions and find answers. Você também pode fazer uma sugestão de produto por meio de UserVoice ou obter ajuda de instalação gratuita por meio de nosso suporte via chat ao vivo.You can also make a product suggestion through UserVoice or 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.

Developer Tools Blogs


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.


Início da página
Top of Page