Visual Studio Icon Visual Studio 2017 Preview Release Notes


| Developer Community | System Requirements | Compatibility | Distributable Code | License Terms | Blogs | Known Issues |


Important

This release is not "go-live" and not intended for use on production computers or for creating production code.

Click a button to download the newest preview version of Visual Studio 2017. For instructions on installing and updating Visual Studio 2017, see Update Visual Studio 2017 to the most recent release documentation.


Releases of Visual Studio 2017 version 15.7 Preview


Known Issues

See all existing known issues and available workarounds in Visual Studio 2017 version 15.7.

Visual Studio 2017 Known Issues


Release Notes Icon Visual Studio 2017 version 15.7 Preview 4 New Release icon

released April 18, 2018

Summary of What's New in 15.7 Preview 4

New Features in 15.7 Preview 4

Issues Fixed in 15.7 Preview 4

These are the customer-reported issues addressed in this release. If you are looking for a specific customer-reported issue that has been fixed in 15.7 Preview 4, visit the Developer Community.


Details of What's New in 15.7 Preview 4

Installing Visual Studio

  • The update dialog now provides more details about your update, such as what's new, the download size, and latest update version.

.NET Productivity Improvements

  • Use Quick Actions and Refactorings (Ctrl+.) to:
    • Convert for-to-foreach, and vice versa
    • Make private fields readonly
  • Go To Definition (F12) is now supported for LINQ query clauses and deconstructions.

Performance

  • In this release, we've improved solution load time for C# and VB projects by an average of 20%.

C++

  • This release contains a fix for a local information disclosure vulnerability in PDB files as described in CVE-2018-1037.
  • Visual Studio's bundled CMake installation has been upgraded from 3.10 to 3.11.
  • CMake projects now support static analysis of C++ code, such as VCXProj.
  • MSVC now supports the C++17 feature P0426R1 "constexpr for std::char_traits," which makes std::string_view much more usable at compile time.

Python

  • You can now run MyPy on a project by right-clicking on the project and selecting Python > MyPy. MyPy will check your code against type hints, and any type errors detected will be shown in the error list.
  • You can now create and use Conda environments as well as manage packages for your Conda environments using pip or Conda.
  • Check out the Python in Preview 4 blog post for more on using Conda, MyPy, and type hints.

Release Notes Icon Visual Studio 2017 version 15.7 Preview 3

released April 9, 2018

Summary of What's New in 15.7 Preview 3

New Features in 15.7 Preview 3

Issues Fixed in 15.7 Preview 3

These are the customer-reported issues addressed in this release. If you are looking for a specific customer-reported issue that has been fixed in 15.7 Preview 3, visit the Developer Community.


Details of What's New in 15.7 Preview 3

Installing Visual Studio

We reduced the installation footprint on the system drive by moving the download cache, shared components, some SDKs and tools to different drives (Figure 1).

There are three locations you can manage:

Important

These locations can only be set with your very first installation.

  • Visual Studio core product: This location is for files that are specific to the version of Visual Studio you selected to install.
  • Download cache: Installation files and manifests will be downloaded to this location. If you decide not to keep the download cache by unchecking the check box, the files will be removed after installation completes.
  • Shared components, tools, and SDKs: This location is for files that are shared by side-by-side Visual Studio installations.
Install Locations
(Figure 1) Choose install locations

Note

Tools and SDKs that have different rules as to where they are installed won’t be installed to this drive. The tool/SDK specific rules take precedence.

Visual Studio IDE

  • Switching branches in Git does not require a solution or project to reload, and we no longer have a modal progress dialog.
  • ASP.NET and ASP.NET Core projects can now create and associate Azure Key Vaults with their web applications within the IDE by configuring the "Key Vault" Connected Service.
  • You can now edit .NET Core project files in-place, so opening containing folder, restoring tabs, and other Editor features are fully supported. IDE changes, such as adding a linked file, will be merged with unsaved changes in the editor.

Team Explorer

In Git Global Settings, there is now an option to choose between OpenSSL and Secure Channel. OpenSSL is the default.

Performance

We've reduced IntelliSense load times in large .NET Core projects by 25%.

C++

  • Use CodeLens above each of your unit tests to Run, Debug, and view Test Status.
  • The Visual Studio iOS development tools for C++ have been updated to work with Xcode 9.
  • Added /analyze:ruleset option to cl.exe for filtering down warnings in the C++ Code Analysis tools based on ruleset configuration. This results in a consistent experience between standalone invocations of the compiler and the IDE and improves performance by running only the rules mentioned in ruleset.
  • Inheriting a constructor now works the same as inheriting any other base class member. Previously, this worked by declaring a new constructor that delegates to the original; with this change, base class constructors are visible in a derived class as if they were derived class constructors, improving consistency in C++.
  • Templates that are designed to take any type as a non-type parameter can now use the auto keyword in the template parameter list. This allows instantiations to use any type instead of needing to determine and supply the type of template parameter at the point of instantiation.
  • std::launder is now supported.
  • Two-phase name lookup operates correctly in almost all cases. Some edge cases, such as non-dependent function calls to overloaded operators, will be fixed in a future update.
  • The MSVC compiler toolset conforms with the C++ 17 Standard. When compiling with the /Zc:__cplusplus switch, the value of the __cplusplus macro reflects the correct Standard version numbers.
  • The Visual C++ Runtime now supports mitigations for the Spectre variant 1 vulnerability. The toolset includes mitigated and non-mitigated versions of the DLLs. Enabling the Spectre Mitigation feature in the Code Generation property page will also cause linking to the mitigated version of the DLL. More information about Spectre mitigations is available on the Visual C++ Team Blog.
  • Enabled compiler support for Spectre mitgations in non-optimized builds (/Od).
  • The /Zf switch is now enabled by default, which enables faster PDB generation when using multiple compilation processes.
  • We have significantly improved the code generation for /await. We have re-implemented coroutines in the code generator to improve reliability, fixing the vast majority of bugs.
  • The CMake Targets View provides an alternative way to view a CMake project's source in the Solution Explorer; instead of a folder-based view, it organizes the code into individual CMake targets. The organization is similar to the organization of the Project and Solution files created by the CMake "Visual Studio" generator.
  • Source files (.cpp) belonging to CMake projects can now be built individually via the CMake menu or by right clicking on a source file in the Solution Explorer.
  • Unknown macros that cause tag-parsing errors are now underlined with green squiggles. A quick action is available to automatically add the macro to a C++ Hint file to resolve the issue. All tag-parsing errors in the Solution or folder can be listed by clicking "Display Tag Parser Errors" on the Project menu.
  • Add headers to the CppProperties.json include path with quick actions in Open Folder.
  • Headers from Linux and Unix-like systems are now automatically downloaded for use by IntelliSense on Windows. These are also used to provide an enhanced IntelliSense experience for Linux native Platform development.

C# Compiler

In addition to bug fixes, this release brings the following C# 7.3 features:

Python

The ptvsd 4.0 version of the Python debugger released in Preview 1 is now included (on-by-default), and offers much faster performance. If you had previously installed the experimental version of the debugger in Preview 1 or Preview 2, you will need to run pip uninstall ptvsd in your Python environment to use the latest version. Check out the Python in Visual Studio 15.7 blog post to learn more.

Visual Studio Tools for Xamarin

This release includes Xamarin.Android 8.3 and Xamarin.iOS 11.10.

Improved XAML IntelliSense

Xamarin.Forms developers using Visual Studio 2017 version 15.7 will notice a vastly improved IntelliSense experience (Figure 2). The Xamarin.Forms XAML editing experience is now powered by the same IntelliSense engine that powers WPF and UWP. This brings many enhancements to developers, including improved matching, light bulb suggestions, code navigation, linting, resource completion, and markup extension completion.

Xamarin.Forms XAML editing experience
(Figure 2) Xamarin.Forms XAML editing experience
Automatic iOS Provisioning

We have made iOS device provisioning for development easier. In Visual Studio 2017 version 15.7, there's a streamlined experience to request a development certificate, generate a signing key, add a device in the Developer Center, and create a provisioning profile, all with a single button click. All the heavy lifting of provisioning an iOS device is handled for you in less than 30 seconds.

Android SDK Management

Figuring out what Android SDKs to install for mobile development can be time consuming. Visual Studio 2017 version 15.7 adds a new Android SDK manager that takes the guesswork out of managing Android SDK installations. After opening a project for which you don’t have SDKs installed to build it, a notice will appear to help you download the required SDKs. After clicking “Download & Install” and accepting the relevant license agreement, the correct SDKs will automatically be installed in the background for you.

New iOS & Android Project Templates

Whether you’re new or a seasoned Xamarin developer, project templates are an important part of the app building journey. They should be easy to find and set you up for success from the start (Figure 3). In this release, we have completely rebuilt our iOS and Android native project templates for better discoverability and support for modern navigation patterns like flyout or bottom tabs.

iOS & Android Project Templates
(Figure 4) Easy to find and set your iOS & Android Project Templates
Improvements to Installation

The Visual Studio Installer will now ship with an updated Android SDK configuration, including Android API 27 and Android SDK Tools 26. This includes support for quick boot, which enables your Android emulator to boot in less than five seconds.

Additionally, we have included the Android Device Manager as part of the Mobile development with .NET workload to easily create, edit, and delete emulators.

Live Unit Testing

  • Live Unit Testing now works with embedded pdbs and pdbs specifying /deterministic.
  • Added support for projects that use reference assemblies.
  • IntelliTrace's step-back debugging feature now supports taking snapshots on exceptions. To enable the feature, go to Tools > Options > IntelliTrace settings, and select the option IntelliTrace events and snapshots (Figure 5).
Snapshot on exception
(Figure 5) Snapshot on exception

Web Tools

  • Introduces Library Manager, a new tool for adding client side assets (e.g. JavaScript and CSS frameworks) to your project without the overhead of NPM and Bower.
  • The ASP.NET Web Application project templates have been refreshed to newer versions of the dependent packages.
  • Ability to publish your non-containerized applications to Azure App Service on Linux.
  • Link to open your Azure App Service in Cloud Explorer from the Publish Summary page.
  • Support for publishing .NET Core framework dependent and self-contained applications.
  • Publish support for F# applications to App Service and folder.

Tools for Universal Windows Platform Developers

  • The latest Windows Insider Preview SDK (build 17133) is now available as an optional component with the Universal Windows Platform development workload.
  • Visual State Management and Animation tooling is available in Blend with the latest updates to the XAML Designer. Now, all UWP developers have access to these tools. In addition, XAML Edit & Continue now supports editing Visual States and Animations.

NuGet

This release provides out of the box support for migrating existing projects based on packages.config to PackageReference.

Debugging

This release adds VSTS and GitHub authentication support for Source Link. Authentication will be added to Source Link requests automatically if it is availalbe through the IDE. If the user is not already authenticated, sign in UI will be shown to enable authentication.


Release Notes Icon Visual Studio 2017 version 15.7 Preview 2

released March 21, 2018

Summary of What's New in 15.7 Preview 2

New Features in 15.7 Preview 2

Issues Fixed in 15.7 Preview 2

These are the top customer-reported issues addressed in this release. If you are looking for a specific customer-reported issue that has been fixed in 15.7 Preview 2, visit the Developer Community.


Details of What's New in 15.7 Preview 2

Visual Studio IDE

  • Improved save experience - Before updating Visual Studio all pending changes will be saved locally first before starting the update. The update dialog, will show a Save All & Update button instead of Update Now.
  • The dialog window (Figure 5) that indicates which long running operation is keeping Visual Studio busy, is now screen reader accessible (e.g. NVDA, Narrator, etc). When the dialog is shown by Visual Studio, the screen reader will play an audio cue indicating new information is visible on the screen. Users can read the contents of the dialog or interact with the “Cancel” button when available by invoking the “Change View” command in Narrator.

Note

For full Narrator support, you must be using Windows 10 Redstone 4 (RS4) builds.

Wait dialog
(Figure 6) Wait dialog, now screen reader accessible
  • When an ASP.NET or ASP.NET Core application depends on Azure Key Vault, an error appears in the error list if the app will not be able to access that Key Vault at runtime from that developer’s machine given the account selected under Tools > Options > Azure Service Authentication. This shortens the time to discover and correct the permission or account issue and avoid an application failure at runtime.

C++

  • Added five new rules enforcing items from the C++ Core Guidelines regarding use of the Guidelines Support Library.
  • We allow public base classes in aggregate types, so that they can be initialized using aggregate initialization syntax without writing boilerplate constructors. In the braced initializer list, bases are initialized first, followed by data members.
  • Extend template argument deduction for functions to constructors of template classes – when you construct a class template you no longer have to specify the arguments.
  • C++17 has changed the definition of qualification conversions. Previously, these were permitted between multi-level pointers and mixed pointers, such that qualifiers could often be added at levels other than the first; however, this did not similarly apply to arrays.
  • Refined the expression evaluation order for major C++ operators that were previously left to compiler implementation detail, for example, member access, assignment, and array index.
  • Expand the using declaration to support pack expansion semantics for variadic base class members, which can then be used inside the derived class.
  • We are now complete with the full implementation of Expression SFINAE, and have made the corresponding Standard Template Library changes.
  • Implemented parallel algorithms conforming to the ISO C++17 standard. See the source file located at [VSInstallDir]\VC\Tools\MSVC\<ver>\include\yvals.h for additional details.
  • In /std:c++17 mode, the warning level of C4834 ("discarding return value of function with 'nodiscard' attribute") is increased from W3 to W1. In addition, the compiler can now deduce the type of a non-type template argument that is declared with auto.

Web Tools

  • We added support for hosing ASP.NET Core applications directly in the IIS Express process.
  • You can now create a storage account and provide a connection string name to be stored in App Service settings when publishing to a new Azure App Service.

AppInstaller Support in APPX Packages

The Universal Windows Platform allows distributing applications without the Microsoft Store by using a mechanism called “sideloading”. This release allows you to generate the appinstaller file to get automatic updates from your APPX based deployments. Learn more about the underlying technology.

Tooling Enhancements for Conditional XAML

The XAML editor now provides IntelliSense for authoring conditional XAML. When using a type that is not present in the target min version of your app, the XAML editor now not only warns, but also, provides several options to fix it.

TypeScript and JavaScript

Visual Studio 2017 version 15.7 Preview 2 now ships with TypeScript 2.8 RC. This release brings the following improvements:

  • Support for jsconfig.json, a file that can help control your editor options much like tsconfig.json.

  • An option to reduce resource usage by turning off type-checking for unopened files.

    • This is the Only report diagnostics for files opened in the editor option under Tools > Options > TextEditor > JavaScript/TypeScript > Project.
  • New editing features for both TypeScript and JavaScript users.

    • Applying all quick fixes within a file.
    • Organize imports
    • Completions for this. in classes and braces in JSX.
  • TypeScript 2.8 features

    • Conditional types (A extends B ? C : D)
    • New lib.d.ts conditional type helpers such as NonNullable, ReturnType, Extract, and Exclude.
    • Granular control on modifiers in mapped types.
    • Control on JSX factories within files using the new // @jsx pragma.

    You can find more information on TypeScript 2.8 in the TypeScript 2.8 RC blog.

  • TypeScript 2.7 features include:

    • Strict property initialization
    • Numeric separators
    • Smarter type guards

    You can find more information on TypeScript 2.7 in the TypeScript 2.7 blog.

  • We also fixed some of the top issues raised by customers, including premature triggering of snippets, uncancellable refactorings, hard-to-disable formatting, and incorrect TypeScript version selection. These improvements are powered by TypeScript 2.8. For the best experience, update your existing projects to the latest TypeScript version.

Visual Studio 2017 Build Tools

Support for Azure and other workloads

The Visual Studio Build Tools allow you to create build servers without installing all of Visual Studio. In response to customer requests, we are enhancing the Visual Studio Build Tools to support additional project types. The Build Tools previously supported C++, ASP.NET, TypeScript, .NET, .NET Core, and Node.js projects. With this release we have added Azure, Office and SharePoint, Mobile development with .NET (Xamarin), Python, ClickOnce, Docker Tools, Test Tools, and support for installing into containers. Click here to download the preview release of the Visual Studio Build Tools.

JavaScript debugging with Microsoft Edge

Visual Studio ASP.NET and .NET core developers on Windows Insider builds, can now set breakpoints and debug their JavaScript files using Microsoft Edge browser. Visual Studio will use the new Edge DevTools Protocol developed by the Microsoft Edge team when targeting Microsoft Edge browser. Developers can now debug and fix JavaScript issues from within Visual Studio in both Microsoft Edge and Google Chrome browsers. We are glad to enable this often-requested feature from our customers. We would love to hear your feedback on the feature to help us improve and build a better Visual Studio.


Release Notes Icon Visual Studio 2017 version 15.7 Preview 1

released March 13, 2018

Summary of What's New in 15.7 Preview 1

New Features in 15.7 Preview 1

Issues Fixed in 15.7 Preview 1

These are the customer-reported issues addressed in this release. If you are looking for a specific customer-reported issue that has been fixed in 15.7 Preview 1, visit the Developer Community.


Details of What's New in 15.7 Preview 1

Installing Visual Studio

Users can disable the package cache and set the location of it.

Debugging and Diagnostics

IntelliTrace’s step-back debugging feature is now supported for debugging .NET Core projects.

  • To enable the feature, go to Tools > Options > IntelliTrace settings, and select the option IntelliTrace events and snapshots.

Launch and attach script debugger to Microsoft Edge is now supported for ASP.NET projects.

You can now debug both JavaScript and TypeScript directly in Visual Studio when using Google Chrome as your browser of choice. All you should do is to select Chrome as your browser in Visual Studio and hit F5 to debug.

See the Client-side debugging of ASP.NET projects in Google Chrome for additional information.

C++

  • Debugging large solutions with /Debug:fastlink PDBs is more robust. Changes in the PDB lead to reduced latency and a 30% reduction in heap memory consumption in the VS Debugger.
  • C++ Core Check is now part of the default toolset for native code analysis. Whenever code analysis is executed over a project, a subset of rules is enabled from C++ Core Check in addition to default recommended rules.
  • Added parallel compilation support for Linux projects, which may significantly improve build times. This can be enabl ed via Property Pages > C/C++ > Max Number of Parallel Compilation Jobs.
  • Added the "Public Project Include Directories" Linux project property to improve consumption of includes from project-to-project references in Linux solutions.
  • Added ClangFormat support for C++ developers in the IDE. Similar to EditorConfig, you can use ClangFormat to automatically style and format your code as you type, in a way that can be enforced across your development team.

Visual Studio Tools for Xamarin

This release includes Xamarin.iOS 11.10 and Xamarin.Android 8.3.

Automatic Android SDK Management

When a Xamarin.Android project is loaded, Visual Studio can now determine if the Android API level used by the project is missing from your machine and automatically install it for you in the background. To enable this feature, go to Tools > Options > Xamarin > Android Settings > Auto Install Android SDKs.

Python

  • Opt-in preview of the ptvsd 4.0 version of the Python debugger based on the popular open source pydevd debugger. The preview currently offers basic debugging functionality with significantly faster debugging performance for applications. Check out the Python in Visual Studio 15.7 blog post for instructions on trying it out.
  • Anaconda version 5.1.0 is now available from the Visual Studio Installer, and is installed by default when the Data Science workload is selected

Web Tools

  • Improved Kestrel HTTPs support during debugging.
  • ASP.NET Core applications now support multiple semi-colon separated values in the "App URL" field under project properties. When multiple URLs are present in this field, the first one is the one used to launch the browser.
  • New scaffolder called "Identity" is now available via the command line (GUI support coming soon), which adds identity management UI to your ASP.NET Core 2.1 applications.

Tools for Universal Windows Developers

NuGet Client

We added support for NuGet package signatures. Installing or restoring signed packages validates the digital signature before extracting the packages content. If the signature validation fails (for example, the content has been tampered with, invalid certificate, etc...) the operation will be blocked with a build error that is shown in the Error List.


Feedback

We’d love to hear from you! For issues, let us know via the Report a Problem option in the upper right-hand corner of either the installer or the Visual Studio IDE itself. The Feedback Icon icon is located in the upper right-hand corner. You can track your issues in the Visual Studio Developer Community, where you can ask questions and find answers. You can also make a product suggestion through UserVoice or get free installation help through our Live Chat support.


Blogs

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


Visual Studio 2017 Release Notes History

Please see the Visual Studio 2017 Release Notes History page.


Top of Page