This article contains information about the newest release for Visual Studio 2017 version 15.3. Click the button to download.
We’d love to hear from you! You can report a problem from the Report a Problem option in either the installer or the Visual Studio IDE itself. The icon is located in the upper right hand corner. You can track your feedback in the Developer Community portal. For suggestions, let us know through the UserVoice site.
- August 14, 2017 Visual Studio 2017 version 15.3
- May 10, 2017 Visual Studio 2017 version 15.2
- April 5, 2017 Visual Studio 2017 version 15.1
- March 31, 2017 Visual Studio 2017 version 15.0
You can learn more about how we ship our releases in the Visual Studio 2017 Release Rhythm document.
Release Date: August 22, 2017 - Visual Studio 2017 version 15.3.2
Issues Fixed in August 22, 2017 Release
These are the customer-reported issues addressed in this version:
- Visual Studio crashes when you open a solution with a test project.
- Visual Studio Freezes in Debug with Chrome.
- Failure to install HelpViewer.
- UI delay while typing R code.
- C# 7.0 Regression in Tuples.
- Xamarin - Dynamic Type Platform not supported exception.
- Xamarin – Dynamic object is not supported.
- Xamarin - Xamarin.iOS: ArgumentNullException for
instructionparameter in Mono.Linker's
Additional fixes included in this release:
- Service Fabric tooling update.
- Visual Studio upgrade fails with AccessDenied failure during VSIX install / uninstall.
- Project generation issue on Unity version <= 5.5.
- Dump capture for linked files.
- Silent bad codegen due to loop optimization.
Release Date: August 18, 2017 - Visual Studio 2017 version 15.3.1
Issues Fixed in this Release
These are the customer-reported issues addressed in this version:
- Update Git version to address security fix.
- Add Watch displays the wrong line of code.
- F# Editor loses focus when typing
- R Tools missing translations.
Summary: What's New in this Release
- Accessibility Improvements make Visual Studio more accessible than ever.
- Azure Function Tools are included in the Azure development workload. You can develop Azure Function applications locally and publish directly to Azure.
- You can now build applications in Visual Studio 2017 that run on Azure Stack and government clouds, like Azure in China.
- We improved .NET Core development support for .NET Core 2.0, and Windows Nano Server containers.
- In Visual Studio IDE, we improved Sign In and Identity, the start page, Lightweight Solution Load, and setup CLI. We also improved refactoring, code generation and Quick Actions.
- The Visual Studio Editor has better accessibility due to the new ‘Blue (Extra Contrast)’ theme and improved screen reader support.
- We improved the Debugger and diagnostics experience. This includes Point and Click to Set Next Statement. We've also refreshed all nested values in variable window, and made Open Folder debugging improvements.
- Xamarin has a new standalone editor for editing app entitlements.
- The Open Folder and CMake Tooling experience is updated. You can now use CMake 3.8.
- We made improvements to the IntelliSense engine, and to the project and the code wizards for C++ Language Services.
- Visual C++ Toolset supports command-prompt initialization targeting.
- We added the ability to use C# 7.1 Language features.
- You can install TypeScript versions independent of Visual Studio updates.
- We added support for Node 8 debugging.
- NuGet has added support for new TFMs (netcoreapp2.0, netstandard2.0, Tizen), Semantic Versioning 2.0.0, and MSBuild integration of NuGet warnings and errors.
- Visual Studio now offers .NET Framework 4.7 development tools to supported platforms with 4.7 runtime included.
- We added clusters of related events to the search query results in the Application Insights Search tool.
- We improved syntax support for SQL Server 2016 in Redgate SQL Search.
- We enabled support for Microsoft Graph APIs in Connected Services.
Top Issues Fixed in this Release
The Developer Community spoke and we listened. This list provides the 10 highest voted issues fixed in this release.
Dark theme fails to load after F# install.
Visual Studio installer update causes endless loop.
List of recent projects not displayed correctly.
Cannot add a name to a new Custom Profile.
Moving DSL extension from Visual Studio 2015 to Visual Studio 2017 gives runtime error.
Try...catch block throws 'TextBuffer edit operation while another edit is in progress' error message.
Visual Studio self-signed certificate not accepted in Chrome 58.
Publish fails with 'All build submissions in a build must use project instances originating from the same project collection'.
'Scanning new and updated MEF componets' runs every time Visual Studio 2017 is launched and slows startup time.
Page loads are slow when debugging Visual Studio 2017 locally.
Learn more about customer-reported issues addressed in Visual Studio 2017 version 15.3.
Details: What's New in this Release
We addressed over 1,700 accessibility issues in this release and made Visual Studio more accessible than ever. You have access to the new “Blue (Extra Contrast)” theme (Figure 1). This theme offers you more contrast than the regular "Blue" theme if you don't want or need the full High Contrast mode.
With Visual Studio Editor, you can discover and navigate between text adornments via the new "Show Line Annotations" command set. You can find the new feature on the Editor context menu (Figure 2). See the Visual Studio Editor section for more information.
For more accessibility news, visit the Accessibility improvements in Visual Studio 2017 version 15.3 blog post.
Use all the same tools in Visual Studio — like Cloud Explorer, Connected Services and ASP.NET Publish — to connect Azure Stack and government clouds. Pick an existing government cloud, like Azure in China (Figure 3), or enter the discovery endpoint for your organization’s Azure Stack.
Azure Function Tools
- Tools for developing C# Azure Functions are included as part of the “Azure development” workload.
- You can develop Azure functions by using pre-compiled C# class libraries, and attributes to specify triggers.
- You can build, run, and debug on your local development machine.
- You can publish directly to Azure from Visual Studio.
For more details, see the Visual Studio 2017 Tools for Azure Functions blog post.
- You can install .NET Core 2.0 SDK via a separate download to enable .NET Core 2.0 development in Visual Studio 2017 version 15.3. Visual Studio now provides side-by-side support of multiple .NET Core SDKs. You can experiment with the latest daily build of the .NET Core SDK while you develop with the latest public release of the SDK. See .NET blog for details.
- With Visual Basic support, you now have the ability to create .NET Core console applications, and .NET Core, and .NET Standard class libraries in Visual Basic.
- .NET Framework and .NET Standard/Core interop allows you to refer to .NET Core/.NET Standard libraries from .NET Framework projects and vice versa. No need to manually add interop NuGet packages – Visual Studio does this for you automatically.
- Multiple target framework support enhancement allows you to build your project for multiple target frameworks (TFM), and use the TFM picker in Debug/Run to pick the TFM to run.
- We added Windows Nano Server image support for containerizing ASP.NET Core apps as Windows Nano Server images. You can now select Windows Nano Server as the container platform. You can do this under File->New Project for ASP.NET Core projects. For your existing projects, it can be added using the Project Context Menu.
- Local IIS support: You can now develop and debug using IIS from Visual Studio.
- ASP.NET Core on .NET Framework – When you create an ASP.NET Core project targeting the full .NET Framework (Windows only), you will use the dropdown on the One ASP.NET dialog.
- The Live Unit Testing feature can be enabled for your .NET Standard, .NET Core, and ASP.NET Core projects.
Service Fabric Tools
This release provides a new stateful ASP.NET Core project template, support for both 2.5 and 2.6 SDK's (and corresponding runtimes) of Service Fabric, as well as several bug fixes.
Continuous Delivery Tools
We moved these features from the CD4VS (Microsoft Continuous Delivery Tools for Visual Studio) extension into Visual Studio:
- Configure continuous delivery for solutions that contain ASP.NET projects targeting an Azure App Service.
- Configure continuous delivery for solutions that contain ASP.NET Core projects targeting an Azure App Service.
- We added the Keyboard Accessibility menu command under the "Help" menu. This provides you with a shortcut to online documention about Accessibility Tips and Tricks.
The diagnostic system informs you via the InfoBar about extensions that might have been involved in an unexpected termination of Visual Studio (Figure 4). The InfoBar provides this information about the termination and asks if you would like to disable the suspected extension.
(Figure 4) InfoBar notification
In open folder scenarios, you can select your desired debugger via dedicated UI.
- We’ve stopped sharing certain settings, like tool window layout, between different side-by-side installations of Visual Studio 2017. For more information, see the Synchronize your settings in Visual Studio documentation.
- We fixed the "hidden window" bug that made Visual Studio appear to hang before its main window appeared.
- We increased the clickable target area to make it easier to dismiss notification tips.
- We added several new refactorings and quick fixes, like "Resolve merge conflicts", "Add null checks", "Add parameter", and many more. Take a look at our Refactoring, Code Generation and Quick Actions in Visual Studio page to see the full list.
- We suggest variable names in IntelliSense to help you name your variables quickly, for example,
- Edit and Continue supports C# 7.0 features (except local functions).
- We added support for file globbing outside of your project folder for .NET Core.
Sign In and Identity
We fixed the account picker control so "Re-enter credentials" works more reliably. In some cases, the account picker would clear accounts upon re-entering credentials.
We increased the clickable target area on Start Page MRU “pins”. It's easier to pin items you care about to the top of the MRU.
Lightweight Solution Load
- We increased build speed and stability.
- We reduced the number of loaded projects.
- We added a new option (Figure 5) that allows Visual Studio to decide what’s best for your solution.
- We added file search results solutions to search for deferred projects, instead of just loaded projects.
- When you load a project, all existing searches are refreshed to add progression results.
- There are limits to this:
- Search does not extend within the file and does not include progressive results, i.e. classes, methods, etc.
- Files that belong to a project are shown as a flat list. When files belong to a folder, the relative path is shown instead of just the file name.
- There are no context menus for the file items in the search view.
- GoTo All and GoTo Files show content from external items in the workspace.
- We improved Batch build in projects that use Lightweight Solution Load.
- Visual Studio Installer now supports high-DPI scaling at levels less than 150%.
vswhere.exeexecutable file has been updated to exclude preview instances by default, and includes them when
--prereleaseis included on the command line.
- CLI is able to handle
--verifyverifies layout and informs you of missing and invalid payloads.
--fixverifies the layout and re-downloads packages that are either missing or invalid.
--cleandeletes obsolete packages and allows you to trim layout to a specific version range.
- We added details that show the net size impact per drive to the installation details page. (Figure 6).
- Manual scroll and selection are no longer difficult when a large numbers of errors are being added.
- We added a new variant of the "Blue" theme, which caters specifically to users who need more contrast in the Visual Studio Editor. This theme offers you more contrast than the regular "Blue" theme if you don't want or need the full High Contrast mode. You can try it out via Tools -> Options -> Environment -> General.
- If you use a screen-reader, you can now navigate between adornments by using the new "Show Line Annotations" command.
- To activate, select "Show Line Annotations" (
Ctrl+M) on the Editor context menu. A popup will appear in the editor describing the adornments on that line.
- Navigate through multiple annotations on the line using
Ctrl+ Right/Left Arrow.
- You can also easily find context in code through the "Show Structure" command
Ctrl+G. This shows the structural context of the line of code in the popup where the caret is located, and can be read by the screen reader.
- To activate, select "Show Line Annotations" (
Debugger Support for Visual Studio Team Services Symbol Servers
- You can query and download symbols (Figure 7) from Visual Studio Team Services Symbol Servers. You can select and add Visual Studio Team Services symbol paths to your Visual Studio environment using the Tools->Options->Debugger->Symbols page. To set up a Visual Studio Team Services Symbol Server, see the Use Symbol Server in Team Services page.
- The SetThreadDescription API is supported while debugging when you use Start Debugging (
F5) or Attach to Process (
Ctrl+Alt+P). The thread names that are set via this API now show up in the Threads window and in the Thread dropdown in the Debug Location toolbar. This is not currently supported while dump debugging.
- The Output Window now shows you the console output of an application running inside a Windows Container while debugging.
- We added new support for debugging .NET Core apps you run inside Windows Containers based on Windows Nano Server.
Point and Click to Set Next Statement
You can hold down the
Ctrl key while stopped at a breakpoint when debugging. The
Run to Click (Run execution to here) icon next to your line of code changes to “Set Next Statement” functionality (Figure 8). Click the icon to move the yellow instruction pointer to that line and set the next statement for the debugger to execute.
Source Link Support for Windows PDB File Format
Source Link is now supported for Windows PDB file format (in addition to Portable PDBs). Compilers that support it can put the necessary information in the Windows PDB file format and the debugger can retrieve source files based on that information.
Open Folder Debugging
We have made your debugging experience easier when you use our new templates for Open Folder. If you have the core debugger installed, our new templates allow you to choose the type of debugger you want to use. Managed, Native, or Mixed can be chosen from the "Select a Debugger" dialog in the "Debug and Launch Settings" menu option in Solution Explorer. If you have a C++ MDD experience installed (Android C++, Linux Debugging, etc.), you now see options for MinGW and Cygwin support by using GDB for attach and launch within the same menu option.
Refresh All Nested Values in Variable Windows
When you click the refresh button for the parent node of a variable or expression in the Watch, Autos, and Locals windows, all visible variables and expressions that are children of that node also refresh and re-evaluate. You no longer need to click on the refresh button for each of the children.
Live Unit Testing Support for .NET Core
You can enable the Live Unit Testing feature for .NET Standard, .NET Core, and ASP.NET Core projects.
- Property Pages & App Manifest Redesigns - We have continued our work on making property pages for iOS and Android projects easier to use.
- New Entitlements Editor - We added a standalone editor for editing app entitlements.
For a complete overview of changes, be sure to check out developer.xamarin.com for more details.
- We improved stability for toggling between folder and solution.
- Open folder extenders can add a source control icon to your folders. This allows you to quickly see the source control state of your files in Solution Explorer, which is currently implemented by SVN.
- The CMake experience in Visual Studio is upgraded to CMake 3.8.
- We improved editing, building, and debugging support in "Open Folder" for C++ projects that use MinGW or Cygwin.
- We added support to define global and configuration-specific environment variables in "CppProperties.json" and "CMakeSettings.json". These environment variables can be consumed by debug configurations defined in "launch.vs.json" and tasks in "tasks.vs.json".
- We enhanced CMake tools for Visual Studio to provide you with support for CTest integration.
- You can now use the CMake's Ninja generator to easily target 64-bit platforms, build, debug, and edit with IntelliSense.
The “Enable Faster Project Load” option under Experimental options has been renamed “Enable Project Caching” and moved under VC++ Project Settings. The old property value is not propagated to the new option.
- C++ IntelliSense supports new C++17 features matching the batch compiler release.
- Added context menu option in C++ editor to Rescan File, which can be used if IntelliSense is not working correctly.
- Reduced CPU usage when running Find All References or Call Hierarchy for C++ code.
- We've improved the overall C++ IntelliSense engine experience.
Project and Code Wizard
- We have rewritten several project and code wizards in the signature dialogue style.
- Add Class launches the Add Class wizard directly. All of the other items that were previously here are available under "Add > New Item".
- Win32 projects are under the Windows Desktop category in the New Project dialog.
- The Windows Console and Desktop Application templates now create the projects without displaying a wizard. There's a new Windows Desktop Wizard under the same category that displays the same options as before.
- The Developer Command Prompt for Visual Studio (and the Visual C++ Command Prompt) have added support for initializing a command-prompt environment targeting the Visual C++ 2015 Toolset (v140) via the
- Visual C++ Redist file directories have been renamed to Microsoft.VC141.* to match versioning with the toolset (14.1x). In Visual Studio 2017 RTM, these directories were incorrectly named Microsoft.VC150.*.
- Visual C++ File Version and Directories (Visual Studio 2017 15.3) :
- VC++ Toolset File Version : 14.11.25506.0 or 19.11.25506.0
- VC++ Tools Directory : VC\Tools\MSVC\14.11.25503 (directory location was locked in a Preview release)
- VC++ Redist Directory [a] : VC\Redist\MSVC\14.11.25325 (All runtimes except for MFC and OneCore)
- VC++ Redist Directory [b] : VC\Redist\MSVC\14.11.25415 (MFC and OneCore runtimes)
C# 7.1 Language Support
- You can now use C# 7.1 language features.
- C# 7.1 adds support for async Main methods, pattern-matching with generics, “default” literals, and inferred tuple names.
- When you use C# 7.1 features in your project, lightbulb offers to upgrade your project’s language version, to “C# 7.1” or “latest”.
- See the C# language feature status page for complete details.
- We switched from 64-bit node to 32 bit-node when launching tsserver and cut language service memory consumption in half.
- File path IntelliSense in import statements is now faster.
- TypeScript versions can be installed independent of Visual Studio updates and selected on a per project basis. For more information see the Updating TypeScript in Visual Studio 2017 documentation.
- We added support for Node 8 debugging.
- We made unit test runner performance enhancements.
- We simplified the npm package installer UI.
- We have added support for the following TFMs -
- We have integrated NuGet warnings and errors with MSBuild so you can use existing MSBuild properties to suppress certain warnings or elevate them to errors.
- We have added support for Semantic Versioning 2.0.0.
You can find more details about these improvements and the complete list of bug fixes in the NuGet release notes.
Visual Studio 2017 version 15.3 now offers the .NET Framework 4.7 development tools to all supported platforms with the 4.7 runtime included. The .NET Framework 4.7 offers several new features and improvements as well as numerous reliability, stability, security, and performance fixes.
You can find more details about .NET 4.7 in these articles:
- .NET Framework 4.7 RTM Blog
- What's New in the .NET Framework
- .NET Framework 4.7 Release Change Notes
- Known issues in the .NET Framework 4.7
- Application Compatibility in the .NET Framework 4.7
- The .NET Framework API diff
Container Development Tools
Visual Studio 2017 version 15.3 now supports the breadth of container development across existing .NET Framework apps with Windows Containers, to .NET Core with Windows, and Linux Support. Recent additions include support for your .NET Core applications in containers running Windows Nano Server, as well as debugging improvements for .NET Framework applications in containers.
We added clusters of related events to the search query results in the Application Insights Search tool. These clusters can help you discover surprising patterns in your application's behavior, like a large volume of exceptions coming from a single country, version, or user.
Visual Studio 2017 version 15.3 now ships with SQL Server Data Tools that fully supports SQL Server 2017 running on Windows, Linux and Docker in macOS. SSDT now supports all versions of SQL Server, SQLDB and DW on Azure.
Fixes for top customer reported issues:
- We added Ignore Column Order option to prevent unnecessary table data movement due to a column order change.
- We fixed ESENT build error and increased the database project build stability and performance in Visual Studio 2017.
- We addressed many more customer reported issues. See SSDT changelog for more details of fixed issues.
All Redgate Data Tools
We removed the introduction dialog that appeared upon first use of Redgate Data Tools.
Redgate SQL Prompt
We made formatting improvements.
- The ReadyRoll open project window has been redesigned.
- We improved the loading time of Project Properties.
- We replaced the script status widget with an action bar.
Redgate SQL Search
- We fixed the connectivity problems with Azure.
- We improved the syntax support for SQL Server 2016.
- We improved accessibility in screen readers, keyboard navigation and high contrast.
- We improved localization so that non-English users will see less English text in the UI.
- The IntelliSense experience is improved.
- You have better Azure connectivity to your machines that are blocking ping.
- When you perform a remote services install, you are no longer required to have service management rights.
- We improved overall accessibility, and localization.
Microsoft Graph Provider in Connected Services
We have enabled support for Microsoft Graph APIs in Connected Services. We've made Installation easier. Just open the Connected Services dialog to access and install (Figure 9).
The Developer Tools Blogs keep you up-to-date on all new releases and include deep dive posts on a broad range of features. For insights into the .NET world, check out the DotNet Blog. You can find detailed expertise in each language area team blog — C#, VB, C++ and, F# — to name a few.
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.