Visual Studio 2017 version 15.7 Release Notes
Developer Community | System Requirements | Compatibility | Distributable Code | License Terms | Blogs | Known Issues
Note
This is not the latest version of Visual Studio. To download the latest release, please visit the Visual Studio site.
Support Timeframe
This version is now out of support. For more information about Visual Studio support, please review the Support Policy for Visual Studio 2017.
Refer to the latest version of the release notes or visit the Visual Studio site to download the latest supported version of Visual Studio 2017.
Visual Studio Blog
The Visual Studio Blog is the official source of product insight from the Visual Studio Engineering Team. You can find in-depth information about the Visual Studio 15.7 releases in the following posts:
- Visual Studio 15.7 Preview 1
- Visual Studio 15.7 Preview 2
- Visual Studio 15.7 Preview 3
- Visual Studio 15.7 Minor Release -- Read the latest blog post!
Visual Studio 2017 version 15.7 Releases
- August 2, 2018 -- Visual Studio 2017 version 15.7.6 Servicing Update
- July 10, 2018 -- Visual Studio 2017 version 15.7.5 Servicing Update
- June 18, 2018 -- Visual Studio 2017 version 15.7.4 Servicing Update
- May 31, 2018 -- Visual Studio 2017 version 15.7.3 Servicing Update
- May 21, 2018 -- Visual Studio 2017 version 15.7.2 Servicing Update
- May 08, 2018 -- Visual Studio 2017 version 15.7.1 Servicing Update
- May 07, 2018 -- Visual Studio 2017 version 15.7.0 Minor Release
Important
Visual Studio 2017 version 15.7 Security Advisory Notices
- August 2, 2018 -- Visual Studio 2017 version 15.7.6 Security Advisory Notice
- July 10, 2018 -- Visual Studio 2017 version 15.7.5 Security Advisory Notice
- June 26, 2018 -- Visual Studio 2017 version 15.7.4 Security Advisory Notice
- May 08, 2018 -- Visual Studio 2017 version 15.7.1 Security Advisory Notice
Summary of Notable New Features in 15.7
- We added support to change installation locations.
- You can Save All your pending changes before you start your update.
- The update dialog provides you even more details about your update during installation.
- C# 7.3 is included in Visual Studio version 15.7.
- We improved solution load time for C# and Visual Basic projects.
- We made numerous updates to F# and its tools, with a focus on performance.
- We reduced the time to enable IntelliSense for large .NET Core projects by 25%.
- We made Quick Info improvements and new .NET refactorings like convert
for
-to-foreach
and make private fieldsreadonly
. - We added the ability to publish ASP.NET Core applications to App Service Linux without containers.
- Live Unit Testing works with embedded pdbs and supports projects that use reference assemblies.
- The Test Explorer has more responsive icons during test runs.
- C++ developers can use CodeLens for unit testing.
- We added new rules enforcing items from the C++ Core Guidelines.
- Debugging large solutions with /Debug:fastlink PDBs is more robust.
- CMake integration supports CMake 3.11 and static analysis.
- Python projects support type hints in IntelliSense, and a Run MyPy command has been added to look for typing errors in your code.
- Conda environments are supported in Python projects.
- We added a next version of our Python debugger based on the popular open source pydevd debugger.
- TypeScript 2.8 is included in Visual Studio version 15.7.
- We improved Kestrel HTTPs support during debugging.
- We added support for JavaScript debugging with Microsoft Edge.
- The Debugger supports VSTS and GitHub Authentication for Source Link.
- IntelliTrace's step-back debugging feature is supported for debugging .NET Core projects.
- We added IntelliTrace support for taking snapshots on exceptions.
- We removed the blocking modal dialog from branch checkouts in Git when a solution or project reload is not required.
- You have the option to choose between OpenSSL and SChannel in Git.
- You can create and associate Azure Key Vaults from within the Visual Studio IDE.
- Visual Studio Tools for Xamarin can automatically install missing Android API levels required by Xamarin.Android projects.
- The Xamarin.Forms XAML editor provides IntelliSense and quick fixes for conditional XAML.
- Visual Studio Build Tools now supports installing into a container, and we added support for building Azure, UWP, and additional project types.
- You can create build servers without installing all of Visual Studio.
- The Windows 10 April 2018 Update SDK - Build 17134 is the default required SDK for the Universal Windows Platform development workload.
- We added support for Visual State Management for all UWP apps and more.
- We enabled automatic updates for sideloaded APPX packages.
- You have new tools for migrating to NuGet PackageReference.
- We added support for NuGet package signatures.
- We added Service Fabric Tooling for the 6.2 Service Fabric release.
- We updated Entity Framework Tools to work with the EF 6.2 runtime and to improve reverse engineering of existing databases.
Top Issues Fixed in 15.7
These are the customer-reported issues addressed in 15.7:
- MFC Class Wizard can't add control member variables.
- Test Explorer intermittently never finishes finding tests.
- Internal compiler error in VS15.5.
- Visual Studio Build Tools is missing MSBuild Web SDKs.
- VS2017 deployed Git doesn't support self-signed certs.
- Visual Studio hangs during NuGet package update.
- Visual Studio Installer shows "unsupported command" after update.
- Visual Studio installation hangs at "Waiting for Microsoft.VisualStudio.Graphics.EnableTools".
- XAML designer doesn't recognize Visual State, throws "Windows 10 Fall Creators Update (10.0; Build 16299)" error.
- The automatic formatting in Razor (cshtml) breaks on paste.
- No diagnostic on invalid member initialization since MSVC 14.12.
- Static resource defined in ThemeDictionaries not fetched while edit a copied template for custom control.
- Add New File -> Online Template "baseName empty string" generates Non-Fatal Error.
- Microsoft.Alm.Shared.Remoting.RemoteContainer.dll generates high CPU usage.
- Razor cshtml helper format is not done correctly.
See all customer-reported issues fixed in Visual Studio 2017 version 15.7.
Details of What's New in 15.7
Visual Studio 2017 version 15.7.0
released on May 07, 2018
New Features in 15.7
Performance
- In this release, we improved solution load time for C# and Visual Basic projects by an average of 20%.
- In large .NET Core projects, we reduced the time to load IntelliSense by 25%.
- When switching branches in Git, the modal progress dialog has been removed when solutions and projects do not need to be reloaded.
Installing Visual Studio
- The update dialog provides more details about your update, such as what's new, the download size, and the latest update version.
- Improved save experience: Before you update 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.
- 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, and 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.
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.
Note
Users can disable the package cache and set the location.
Visual Studio IDE
The dialog window (Figure 2) that indicates which long running operation is keeping Visual Studio busy, is now screen reader accessible (for example, NVDA, Narrator, etc.). When the dialog is shown by Visual Studio, the screen reader plays 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.
Visual C++ Improvements
- This release contains a fix for a local information disclosure vulnerability in PDB files as described in CVE-2018-1037.
- C5045 is a new compiler diagnostic that lets you see code patterns where the compiler would have inserted a Spectre mitigation.
- Visual Studio's bundled CMake installation has been upgraded from 3.10 to 3.11.
- CMake projects support static analysis of C++ code, such as VCXProj.
- MSVC supports the C++17 feature P0426R1 "constexpr for std::char_traits," which makes
std::string_view
much more usable at compile time. - Use CodeLens above each of your unit tests to Run, Debug, and view Test Status (Figure 3).
- We updated the Visual Studio iOS development tools for C++ to work with Xcode 9.
- We 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 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 mitigations in non-optimized builds (/Od).
- The /Zf switch is now enabled by default, which enables faster PDB generation when using multiple compilation processes.
- We significantly improved the code generation for /await. We 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 (Figure 4). 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 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.
- We 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, it is no longer necessary 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 made the corresponding Standard Template Library changes.
- We 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
. - 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.
- We added parallel compilation support for Linux projects, which may significantly improve build times. This can be enabled via Property Pages > C/C++ > Max Number of Parallel Compilation Jobs.
- The "Public Project Include Directories" Linux project property has been added to improve consumption of includes from project-to-project references in Linux solutions.
- We 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.
C# Compiler
In addition to bug fixes, this release brings the following C# 7.3 features:
System.Enum
,System.Delegate
andunmanaged
constraints.- Ref local re-assignment: Ref locals and ref parameters can be reassigned with the ref assignment operator (
= ref
). - Stackalloc initializers: Stack-allocated arrays can be initialized, for example
Span<int> x = stackalloc[] { 1, 2, 3 };
. - Indexing movable fixed buffers: Fixed buffers can be indexed into without first being pinned.
- Custom
fixed
statement: Types that implement a suitableGetPinnableReference
can be used in afixed
statement. - Improved overload candidates: Some overload resolution candidates can be ruled out early, thus reducing ambiguities.
- Expression variables in initializers and queries: Expression variables like
out var
and pattern variables are allowed in field initializers, constructor initializers, and LINQ queries. - Tuple comparison: Tuples can now be compared with
==
and!=
. - Attributes on backing fields: Allows
[field: …]
attributes on an auto-implemented property to target its backing field.
Python
- You can 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 create and use Conda environments as well as manage packages for your Conda environments using pip or Conda.
- 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.
- We added an opt-in to the ptvsd 4.0 version of the Python debugger based on the popular open source pydevd debugger. The opt-in offers faster debugging performance for applicationscan and can be enabled by checking Use experimental debugger from Tools > Options > Python > Experimental.
- Check out the Python in Visual Studio 15.7 blog post for more on using the debugger, Conda, MyPy, and type hints.
Visual Studio Tools for Xamarin
This release includes Xamarin.Android 8.3 and Xamarin.iOS 11.10.
Automatic Android SDK Management
When a Xamarin.Android project is loaded, Visual Studio can 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.
Improved XAML IntelliSense
Xamarin.Forms developers using Visual Studio 2017 version 15.7 will notice a vastly improved IntelliSense experience (Figure 5). 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.
Tooling Enhancements for Conditional XAML
The XAML editor 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.
Automatic iOS Provisioning
We made iOS device provisioning for development easier (Figure 6). 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 that you do not 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 are a new or 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 7). In this release, we completely rebuilt our iOS and Android native project templates for better discoverability and support for modern navigation patterns like flyout or bottom tabs.
Improvements to Installation
The Visual Studio Installer ships 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 include the Android Device Manager as part of the Mobile development with .NET workload to easily create, edit, and delete emulators.
.NET Productivity Improvements
- Use Quick Actions and Refactorings (Ctrl+.) to:
- Convert
for
-to-foreach
, and vice versa. - Make private fields
readonly
.
- Convert
- Go To Definition (F12) is now supported for LINQ query clauses and deconstructions.
- Use Ctrl+. to toggle between
var
and the explicit type, regardless of your code style preferences. - Quick Info shows captures on lambdas and local functions, so you can see what variables are in scope.
- Change Signature refactoring (Ctrl+. on signature) works on local functions.
- You can 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.
Testing
- Live Unit Testing works with embedded pdbs and pdbs specifying /deterministic.
- We added Live Unit Testing support for projects that use reference assemblies.
- The Test Explorer has more responsive icons during test runs. When a test run is in progress, a progress ring appears next to tests that are currently executing, and a clock icon appears for tests that are pending execution.
Web Tools
- The ASP.NET Web Application project templates have been refreshed to newer versions of the dependent packages.
- You can 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.
- You have support for publishing .NET Core framework dependent and self-contained applications.
- Publish support for F# applications to App Service and folder.
- We added support for hosing ASP.NET Core applications directly in the IIS Express process.
- You can 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.
- We improved Kestrel HTTPs support during debugging.
- ASP.NET Core applications 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 used to launch the browser.
- New scaffolder called "Identity" is available via the command line (GUI support coming soon), which adds identity management UI to your ASP.NET Core 2.1 applications.
- ASP.NET and ASP.NET Core projects can create and associate Azure Key Vaults with their web applications within the IDE by configuring the "Key Vault" Connected Service.
- When an ASP.NET or ASP.NET Core application depends on Azure Key Vault, an error appears in the error list if the app is unable to access that Key Vault at runtime from the 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.
- When your web app consumes a KeyVault to which your selected ASAL user account has no access, a warning will now appear in the Error List.
Visual Studio 2017 Build Tools
Support for Azure, UWP, and Other Workloads
Visual Studio 2017 Build Tools support command-line builds for most Visual Studio projects. Supported projects include: ASP.NET, Azure, C++ desktop, ClickOnce, containers, .NET Core, .NET Desktop, Node.js, Office and SharePoint, Python, TypeScript, Unit Tests, UWP, WCF, and Xamarin. We expect to add support for SQL in a future release. Visual Studio Build Tools now also support installing into a container. You can download Visual Studio Build Tools from Visual Studio Downloads. A list of workload and component IDs with which you can tailor your container image can be found in the Visual Studio Build Tools 2017 component directory.
Note
Build Tools requires a license to Visual Studio 2017.
UWP Support in Visual Studio 2017 Build Tools
Visual Studio Build Tools allow you to create build servers without installing all of Visual Studio. In response to customer requests, we enhanced Visual Studio Build Tools to support additional project types. These project types include UWP tools, bringing the supported project list ASP.NET, Azure, C++ desktop, ClickOnce, containers, .NET Core, .NET Desktop, Node.js, Office and SharePoint, Python, TypeScript, Unit Tests, UWP, WCF, and Xamarin. We expect to add support for SQL in a future release.
Tools for Universal Windows Platform Developers
- Visual State Management and Animation tooling is available in Blend with the latest updates to the XAML Designer. All UWP developers have access to these tools. In addition, XAML Edit & Continue supports editing Visual States and Animations.
- Windows Machine Learning automatic code generation support allows WinML wrapper classes to be generated by adding your ONNX model files as an existing item in the project.
- The Windows 10 April 2018 Update SDK (Build 17134) is the default SDK for the Universal Windows Platform development workload in Visual Studio.
- You can create related sets with code execution in optional packages using C# and the new Optional Code Package project template.
- With the new 'Package Layout' item template, you can easily construct flat package bundles.
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.
NuGet
This release provides out of the box support for migrating existing projects based on
packages.config
toPackageReference
.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.
TypeScript and JavaScript
TypeScript 2.8 RC is now included in Visual Studio 2017 version 15.7.
This release brings the following improvements:
- Support for
jsconfig.json
, a file that can help control your editor options much liketsconfig.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 asNonNullable
,ReturnType
,Extract
, andExclude
. - Granular control on modifiers in mapped types.
- Control on JSX factories within files using the new
// @jsx
pragma.
- Conditional types (
You can find more information on TypeScript 2.8 in the TypeScript 2.8 RC blog.
- TypeScript 2.7 features:
- 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.
Note
These improvements are powered by TypeScript 2.8. For the best experience, update your existing projects to the latest TypeScript version.
JavaScript debugging with Microsoft Edge
Visual Studio ASP.NET and .NET core developers on Windows Insider builds, can set breakpoints and debug their JavaScript files using a 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 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.
Debugging and Diagnostics
This release adds VSTS and GitHub authentication support for Source Link. Authentication will be added to Source Link requests automatically if it is available through the IDE. If the user is not already authenticated, the sign in UI will be shown to enable authentication.
IntelliTrace's step-back debugging feature is supported for debugging .NET Core projects.
- To enable the feature, go to Tools > Options > IntelliTrace settings, and select the IntelliTrace events and snapshots option.
- IntelliTrace's step-back debugging feature supports taking snapshots on exceptions. To enable the feature, go to Tools > Options > IntelliTrace settings, and select the option IntelliTrace events and snapshots (Figure 8).
Launch and Attach Script Debugger to Microsoft Edge for ASP.NET Projects
You can debug both JavaScript and TypeScript directly in Visual Studio when using Google Chrome as your browser of choice. All you need to do is 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.
Team Explorer
In Git Settings, Global Settings in Team Explorer, there is an option to choose between OpenSSL and Secure Channel. OpenSSL is the default.
Service Fabric Tooling for the 6.2 Service Fabric release
The Service Fabric Tools for the Service Fabric 6.2 release provide compatibility support for the 6.2 runtime and 3.1 SDK. Along with several bug fixes, a new feature enables adding container support to existing ASP.NET or Console projects. Both .NET Framework and .NET Core 2.0 projects are supported through a new "Add Orchestration Support" context menu and dialog. Once these projects have added Service Fabric orchestration support, they can be deployed remotely and debugged on the local Service Fabric cluster.
Entity Framework Tools Improvements
- Support for the Entity Framework 6.2 Runtime: Creating an EF model in a project that does not reference EF will now install the EF 6.2 NuGet package by default.
- Various accessibility improvements in the EF Designer and Wizard.
- Significantly faster reverse engineering using recent versions of SQL Server.
- Support for updating models from SQL Server databases with more than 300 tables.
- Support for reverse engineering UNION views on Oracle databases.
F# and F# Tools Improvements
We made many improvements to F# and its tools. Performance and cleaning up existing experiences with .NET SDK-style projects has been the focus for this release. As always, we also received significant contributions from the wonderful F# community.
F# Compiler and Core Library Improvements
- Enabled generating F# AssemblyInfo from properties with the F# compiler in the .NET SDK.
--debug:full
is supported for the F# .NET Core compiler on Windows.MakeTuple
is supported for struct tuples.- An unnecessary warning when using an extension method for a tuple is now resolved.
MailboxProcessor.PostAndAsyncReply
properly handles cancellation when a parent process is cancelled.- Equality for
float32
types is now correct whenNonStructuralComparison
is used. - Warnings are now forwarded when searching for method overloads, by Matthias Dittrich.
- An improvement to a warning when pattern matching on an enum to emit an example of an unmatched enum, by John Wostenberg.
F# Tooling Improvements
- Significant reductions in memory usage in the F# Compiler Service, by Avi Avni and Microsoft.
- Significant performance improvements for the Unused Open Analyzer when it is turned on.
- Improved responsiveness when F# analyzers and code fixes are turned on, such that error diagnostics are always prioritized above the rest.
- We added ASP.NET Core templates for F#.
- The initial ordering for pasted files in folders for .NET SDK projects is now correctly at the top of the scope the file was pasted into.
- F# scripts without a project file correctly sends code to F# Interactive when Alt+Enter is pressed.
- The debugger view for F# lists has been extended from 50 items to 5000 items.
- Classic F# projects (.NET Framework only) also perform design-time builds, which reduces solution load time.
- The Structured Guidelines and Outlining views can now be toggled, under Settings > Text Editor > F# > Advanced.
- Assembly level attributes are now returned by the F# Compiler Service.
- We added
Entity.DeclaringEntity
to the F# Compiler Service. - Optimization is available via the F# Compiler Service API, by Steffen Forkmann and ncave.
GetDeclarationLocation
no longer requires a file to provide results on otherwise correct data, by amieres.IsNameGenerated
is now available in the F# Symbols API, by Eugene Auduchinok.
F# Infrastructure Improvements
autoconf
is no longer required in our Mono build.- All Visual Studio integration projects now use the .NET SDK.
- The commit hash for a build of the tools is available in Help > About Microsoft Visual Studio.
To see the full commit log of what went into this release, check out our release tag for 15.7.
---
Visual Studio 2017 version 15.7 Security Advisory Notices
Visual Studio 2017 version 15.7.6 Security Advisory Notice -- released on August 2, 2018
CVE-2018-8356 .NET Core Security Feature Bypass Vulnerability
Microsoft is aware of a security feature bypass vulnerability that exists when .NET Core does not correctly validate certificates. An attacker who successfully exploited this vulnerability could present an expired certificate when challenged. The update addresses the vulnerability by correcting how .NET Core handles certificate validation.
Visual Studio 2017 version 15.7.5 Security Advisory Notice -- released on July 10, 2018
CVE-2018-8172 Visual Studio Remote Code Execution Vulnerability
A remote code execution vulnerability that can lead to exploitation of a user's machine by opening a specially crafted project, or resource file. The security update addresses the vulnerability by correcting how Visual Studio checks the source markup of a file.
CVE-2018-8260 .NET Framework Remote Code Execution Vulnerability
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. The security update addresses the vulnerability by correcting how .NET checks the source markup of a file.
CVE-2018-8232 .NET Microsoft Macro Assembler Tampering Vulnerability
Tampering vulnerability related to the Microsoft Macro Assembler improperly validating code. The security update addresses the vulnerability by ensuring that Microsoft Macro Assembler properly validates code logic.
CVE-2018-8171 ASP.NET Core Security Feature Bypass Vulnerability
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. The update addresses the vulnerability by validating the number of incorrect login attempts.
Visual Studio 2017 version 15.7.4 Security Advisory Notice -- released on June 18, 2018
CVE-2018-11235 Microsoft Security Advisory for Git Security Vulnerability
We fixed a security vulnerability in Git that was disclosed by the Git community. The vulnerability can lead to arbitrary code execution when a user clones a malicious repository.
Visual Studio 2017 version 15.7.1 Security Advisory Notice -- released on May 08, 2018
CVE-2018-0765 Microsoft Security Advisory for .NET Core Denial Of Service Vulnerability
Microsoft is releasing this security advisory to provide information about a vulnerability in .NET Core and .NET native version 2.0. This advisory also provides guidance on what developers can do to update their applications to remove this vulnerability. Microsoft is aware of a denial of service vulnerability that exists when .NET Framework and .NET Core improperly process XML documents. An attacker who successfully exploited this vulnerability could cause a denial of service against a .NET Framework, .NET Core, or .NET native application. The update addresses the vulnerability by correcting how .NET Framework, .NET Core, and .NET native applications handle XML document processing. If your application is an ASP.NET Core application, developers are also advised to update to ASP.NET Core 2.0.8.
Visual Studio 2017 version 15.7.1
released on May 08, 2018
Top Issues Fixed in 15.7.1
These are the customer-reported issues addressed in 15.7.1:
- This release includes a fix that reduces memory usage and GC pressure during solution load.
Visual Studio 2017 version 15.7.2
released on May 21, 2018
Top Issues Fixed in 15.7.2
These are the customer-reported issues addressed in 15.7.2:
- With 15.7, users installing an extension on the command line with a nested extension may see an error installing. This has been addressed in the 15.7.2 servicing release.
- Anaconda fails to uninstall during upgrade and issues warning (Error 87).
- The SSDT 15.6.0 Installer configuration registry key could not be opened..
- Editor performance Issues when editing JavaScript.
- The Code Coverage functionality in Visual Studio 2017 ignores async methods.
- Missing
atls.lib
inarm/arm64
after update. - Test Explorer no longer greys out the previously run unit tests.
- Version 15.7.1 debugs .aspx App in a new Chrome instance even if JavaScript debugging is disabled.
- 15.7 compiler fails with Folly.
- ASP project keeps running after closing the web page.
- Chrome Debugger not working and shows an error message, however, the debugger buttons stay active. .
- Rename Python from Rename on the Refactor menu no longer works.
- Visual Studio Installer doesn't work correctly in low disk space conditions.
- Debugger links to browser when previously not set.
- Problems with template argument deduction for class templates.
- C++ constexpr string_view == fails to compile.
- A regression in Type Providers which use native resources (e.g., FSharp.Data.TypeProviders) has been fixed.
- You can now add files to F# ASP.NET Core projects from the UI.
- Listening to Microsoft-Extensions-Logging causes VS diagnostic events window to disconnect with an error message has been fixed in Service Fabric Tools.
Visual Studio 2017 version 15.7.3
released on May 31, 2018
Top Issues Fixed in 15.7.3
These are the customer-reported issues addressed in 15.7.3:
- VS2017 compiler creates broken debug build using Qt framework and generates 'Invalid address specified to RtlValidateHeap' error.
- Incorrect code generation for matrix multiplication.
- VS 2017 Update 7: Git History Codelens only showing entries for the past 6 months.
- UWP projects reference multiple NetStandard 2.0 dlls after 15.7.1 upgrade.
- Building C++ code in VS 15.7 with /std:c++17 breaks binary compatibility for std::_Ptr_move_cat.
- Visual Studio 15.7 stuck when opening XAML files.
- CMake configuration fails and generates message "C++ IntelliSense information may be out of date, generate the CMake cache to refresh".
- Unable to start second process for debugging.
- After update to Visual Studio 15.7.1, some test programs fail in start-up due to reading access violation.
- Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.Binder.Convert'.
- Build fails after 15.7.0 update on older project using .NET 3.5 .
- Certain class member variable value are incorrectly read as zero.
- Attempt to open XAML file for the first time causes VS to sit with the "Opening the file ..." message for about 10 minutes before XAML file opens.
- Visual Studio slows down and freezes, creating work loss.
- The target "GetBuiltProjectOutputRecursive" does not exist in the project.
- Internal error with lambda C++17 after 15.7.1 update.
- UWP XAML is very very slow on open.
- MSVC auto-vectorization produces incorrect code or incorrect results.
- Visual Studio closed debug a new instance project1, when a new debug new instance project2 has started.
- Latest update breaks "start without debugging" on multiple projects.
- UWP XAML is very very slow on open.
- XAML viewer freezes on 15.7.2 and 15.8.0 preview 1.1.
- Xamarin UI Test App project template missing.
- Xamarin project creation problem.
- Visual Studio crashes when creating new Mobile APP Xamarin.
- Unable to create Xamarin.Forms-Projects.
- Não consigo criar novos projetos Xamarin Forms - Can't create new projects Xamarin Forms.
- Blank project crash after update.
Visual Studio 2017 version 15.7.4
released on June 18, 2018
Top Issues Fixed in 15.7.4
These are the customer-reported issues addressed in 15.7.4:
- Green squiggles and light bulb with "Macro in skipped region" message.
- F7 does not switch to code.
- F7 does not build anymore.
- F7 build does not work.
- LINK : error : Telemetry event upload failed: 'Failed to open connection to VCTIP'.
- AXML file doesn't open after update.
- F7 no longer toggles between the designer and the code.
- XAML Editor Error: Window is not supported in WPF project.
- WinForms View.ToggleDesigner does not work as it used to.
- Toggle designer key binding lost.
- F7 does not start a new build.
- F7 no longer toggles between Designer and Code views.
- There is a problem with structure definition in C language.
- Provisioning a new SQL Server and new SQL DB in a different region than the App Service plan fails.
Visual Studio 2017 version 15.7.5
released on July 10, 2018
Top Issues Fixed in 15.7.5
These are the customer-reported issues addressed in 15.7.5:
- VS2017 15.7.0 Community debugger not showing variable values on hover.
- Exception block is optimized away causing a crash.
- cannot push to remote repository since update from 15.7.2 to 15.7.3.
- Sync commit: Git failed with a fatal error.
- Compiler bug related to math operations on NaN not conforming to standards, when optimization is enabled.
- Optimization error in x86 build reorders lines incorrectly.
Visual Studio 2017 version 15.7.6
released on August 2, 2018
Summary of Updates in 15.7.6
This release contains the following improvements and enhancements:
- This release now installs Java™ Development Kit 8, Update 181 (JDK version 8u181).
Top Issues Fixed in 15.7.6
These are the customer-reported issues addressed in 15.7.6:
- Visual C++ Redistributable 2017 does not report the install state in a specific registry location.
- In 15.7 users may see extensions load without all of their assets and cause Visual Studio to crash. This has been addressed for 15.7.6.
- Visual Studio 2017 version 15.7.5 crashes when opening a solution.
Known Issues
We are fully committed to listening to your feedback. Visit the Developer Community site to find the latest issues, log new issues, and upvote existing issues.
See all existing known issues and available workarounds in Visual Studio 2017 version 15.7.
Feedback & Suggestions
We would love to hear from you! 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. The icon is located in the upper right-hand corner. You can make a product suggestion or track your issues in the Visual Studio Developer Community, where you can ask questions, find answers, and propose new features. You can also 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.
Visual Studio 2017 Release Notes History
For more information relating to past versions of Visual Studio 2017, see the Visual Studio 2017 Release Notes History page.