Visual Studio 2015 Update 1

In this article

Note

This is not the latest version of Visual Studio. To download the latest release, please visit the current release notes for Visual Studio 2017.

Download Visual Studio 2015

Downloads for earlier versions of Visual Studio are available on my.visualstudio.com. This is a subscription-based site, but anyone can create a free Dev Essentials subscription. Please see the Dev Essentials page for more information.

Other changes:

Related releases:

Tools for Apache Cordova

Developers using the Tools for Apache Cordova for the first time since RTM will find a richer development platform with support for iOS 9, the groundwork for Android 6 “Marshmallow”, a new plug-in for Azure AD authentication and dozens...even hundreds of bug fixes to improve the developer experience.

We also have a new destination for samples, tutorials and documentation, at http://taco.visualstudio.com. And now, docs are sourced directly from GitHub, making it possible for developers to contribute tips, tricks, and corrections by using a simple pull request.

Tools for Universal Windows Apps

You can use Tools for Universal Windows Apps (v1.2) to build and submit apps to the Windows Store by targeting Windows 10 SDK Version 1511. Also included in this release are several developer productivity improvements to .NET Native, the XAML designer, the manifest designer, Windows Store packaging, and the debugger.

If you don't already have Tools for Universal Windows Apps installed, you can enable them by modifying the Visual Studio 2015 installation, or by directly installing them from the following link: http://go.microsoft.com/fwlink/?LinkID=619614

Visual C#

The C# Interactive Window is back in Visual Studio, as well as the command-line C# REPL window. (The Interactive Window is the REPL window inside Visual Studio.)

We've also released scripting APIs that enable you to build and run C# as a script. The scripting APIs are available on GitHub.

Additionally, we've released csi.exe, which is a tool that you can use to run a C# script file (.csx) from the Developer Command Prompt. For example, simply type csi myScript.csx to run your script file. Or, you can enter the command-line REPL mode to interactively evaluate snippets of C# code. To get to this mode, run the command csi without any arguments from the Developer Command Prompt.

Debugging and Diagnostics

Visual C++

In this release, we've added Edit and Continue support for /BigObj, which means that you can now Edit and Continue to edit code while debugging Windows Store C++ projects.

IDE

The feature we've all been waiting for is finally here! You can now right-click on an interface or abstract method definition and navigate to its implementation by using the Go To Implementation shortcut.

We've also added a new refactoring that lets you convert get methods to properties by using the Quick Action command, Ctrl + .

Additionally, we've fixed bugs around formatting, unnecessary casting, WinForms integration, crashing when searching for a class in the Solution Explorer, and go to def/MAS with "Use Tabs." And, we've made regions now auto-collapse upon first open.

Code Analysis

We now support the following scenarios in the IDE for managing the technical debt that comes from code analysis:

Remove duplicate instances of warnings in the error list to focus results to the unique set.

Diagnostics Tools window

We've made several improvements to the Events tab of the Diagnostic Tools window to help you read through and understand its list of events even faster and more efficiently than before.

Here's what's new:

An improved filtering menu that you can customize in the following ways:By category, by thread, or by using Just My Code.

A new search control that allows you to search all visible columns of the Events table.

Category prefixes** that we've added to all events, which makes them easier to read.

Note

These Diagnostics Tools window improvements are available in all editions of Visual Studio. However, the following screenshot comes from Visual Studio Enterprise, which has IntelliTrace, and gives you access to more event categories than other editions.

Profile your CPU Usage while debugging

Now, you can get a detailed per-function profile of your CPU Usage while you are debugging. You can turn CPU Profiling on and off while debugging and view the results when you are in a break state, which allows you to view a per-function breakdown of CPU Usage of code that executed between breakpoints and during steps. (To use this functionality, open the Diagnostic Tools window (Debug -> Diagnostic Tools), switch to the CPU tab, and then click the "CPU Profiling" button.)

.NET Framework 4.6.1

Visual Studio 2015 Update 1 now includes the latest version (4.6.1) of the .NET Framework. The .NET Framework 4.6.1 includes all the features and improvements of .NET 4.6 as well as numerous reliability, stability, security, and performance fixes. These are some of the top features in 4.6.1:

ASP.NET

ASP.NET 5 Beta 8

Note

While Visual Studio 2015 Update 1 includes ASP.NET 5 Beta 8, we strongly encourage you to try the newly released ASP.NET 5 RC1 that is now available for download; for details, see ASP.NET 5 RC1 on this page.

ASP.NET 5 Beta 8 has the following features and updates:

DNX Watcher allows developers who use the command line to experience the same edit and refresh browser experience that Visual Studio developers have been enjoying with ASP.NET 5 applications. DNX Watcher will watch the files in your project and show compilation errors if you have any. And as soon as your code can compile again, it will launch it and you can browse to your app.

Localization. Application developers can now develop web applications that can be translated and used by many different cultures. Middleware is capable of setting a culture so that it is accessible through Thread.CurrentCulture, and APIs have been provided to read strings from resource files that can be selected based on current culture.

One of the great things about the localization libraries is that the keys for your localized strings are the values in the default culture. So, for example, if you are writing an application in English, you can put English strings as the key names.

So instead of your code being something like this:

var myMessage = resources.MyMessageString;

It can be this, instead, which makes it easier to correlate a message in your app to the code that sets it:

var myMessage = stringLocalizer[“Thank you for using our products”];

TypeScript

Visual Studio 2015 Update 1 includes features from the 1.6 and 1.7 releases of the TypeScript tools. It brings significant enhancements to TypeScript's type system and enables support for the polymorphic type, intersection types, local type declarations, generic type aliasing, and user-defined type guard functions.

It also completes ES6 support in TypeScript by adding ES6 Generators and ES6 Class expressions, and brings support for new ES7 feature proposals like ES7 Exponentiation operator and ES7 Async functions.

Additionally, React's JSX is now natively supported by the TypeScript compiler and tooling. This release also enables targeting Node v4's native implementations of ES6 features (--target ES6) while using Node native module system (--module commonjs), apart from an enhanced support for node module path resolution.

Miscellaneous

Parallel Test Execution

Parallel test execution leverages the available cores on the machine, and is realized by launching the test execution engine on each available core as a distinct process, and handing it a container (assembly, DLL, or relevant artifact containing the tests to execute), worth of tests to execute. The unit of scheduling is the test container. Within each container, the tests will be executed as per the semantics of the test framework. If there are many such containers, then as processes finish executing the tests within a container, they are handed the next available container.

Parallel Test Execution is enabled using the MaxCpuCount setting in the global section of the .runsettings file (as shown in the following screenshot).

‘n’ of any other value : The number of processes launched will be as many as the available cores on the machine.

Parallel execution is supported through all launch points - CI, command line (CLI) and the IDE (Test Explorer, CodeLens, various “Run” commands, etc.), and the Test Explorer indicators track the progress of tests executing in parallel.

ASP.NET 5 - MSTest support and CodeCoverage support

The Visual Studio Test Platform introduces support for CodeCoverage for ASP.NET 5 applications on the x86/x64 platforms that target the CoreCLR/CLR.

Subversion support for build

You can now build from subversion-based source control repositories, which can enable teams to centralize all build and work item management in TFS without having to move their source code right away.

Pull requests hub in Visual Studio

Team Explorer now features a new Pull Requests hub where users can see the list of pull requests that they have created, as well as the pull requests that others have assigned to them.

We've also improved the Create Pull Request experience; now, users can publish branches and create pull requests in a single action.

"Pull request required" work item policy

We now have a branch policy that requires associated work items for any pull request. Like the code reviewer and build policies, any code that is submitted to the branch must be submitted via pull request. When a pull request is created, the associated commits will be inspected for work item links, and if there is at least one link, the policy will be fulfilled.

Also, you can now link work items to pull requests directly, and if the pull request is directly linked to at least one work item, the policy will be fulfilled. (If no work items are linked to the pull request or the associated commits, the policy will fail.)

Other changes: Bug Fixes & Known Issues

For a complete description of technology improvements, bug fixes, and known issues in this release, see the following MSDN article.

Visual Studio GDB Debugger

We're pleased to introduce a new extension that enables the Visual Studio debugger to interact with GDB. This is particularly useful for debugging remote Linux targets. For example, you can use Visual Studio GDB Debugger in the following scenarios:

Local GDB debugging

GDB debugging on an Azure Linux VM

GDB debugging on a Raspberry Pi with Azure IoT Hub

Note

To use this extension, you must have both Visual Studio 2015 Community or higher installed and the Visual C++ tools for Android or iOS installed.

NuGet

NuGet 3.3

The bundled version of the NuGet extension is 3.3. For more information about all the updates, see the NuGet 3.3 release notes.

NuGet Package Manager

Based on user feedback, we've made several changes to the NuGet Package Manager user interface, to provide the following benefits:

Action buttons that appear directly in the package list, which provides quicker access to common management functions.

A user interface separated into a series of tabs, which are specific filters of the packages that you might work with in your projects.

A Consolidate tab to use when you are working with the packages at the Solution level. It will also show a badge that indicates how many packages are candidates that you can update in projects.

An Update tab to multi-select packages. Not only can you update all selected packages at one time, but you can also use this feature to choose all packages and perform an "Update All" action inside of a project or the solution. (And, like the Consolidate tab, it too shows a badge that indicates how many packages are candidates that you can update in projects.)

Improved Local Folder Support in NuGet

The NuGet tools now support significantly faster access to a specially crafted local folder store. To learn how to configure this repository, see the NuGet 3.3 release notes for detailed instructions.