Visual Studio 2013 Update 2 RTM

We’re happy to announce the availability of Visual Studio 2013 Update 2, the latest developer tooling for building great apps. This release includes many new features (as described below) such as targeting the new Windows Phone 8.1 platform or building universal Windows apps that can target multiple Windows form factors from a single solution.

To learn what’s new in Team Foundation Server Update 2, see our previous release notes (Visual Studio 2013 Update 2 (Build 2014))

Windows Phone 8.1 and Universal Windows Apps

How to get started?

With this release, we have changed what software developers must install to begin building Windows Phone 8.1 and universal Windows Apps:

  • There is no longer a separate Visual Studio 2013 Express version for Phone development. Instead, Express users only need to install Visual Studio 2013 Express for Windows with Update 2
  • Developers using Visual Studio 2013 Professional (or above) simply need to install Update 2

Create apps for Windows Phone 8.1

Create apps targeting the new Windows Phone 8.1 release either by upgrading existing Windows Phone 8.0 Silverlight apps or by creating new Windows Phone 8.1 apps that run on Windows Phone 8.1 Silverlight or Windows Runtime built with .NET and XAML or WinJS. You can also create both Windows Phone 8.1 and universal Windows apps using C++ and DirectX. For the full list of options, go to the Windows Phone Dev Center.

If you choose Windows Phone 8.1 to build or update existing phone apps using the Silverlight app model, you’ll gain access to new platform capabilities such as geofencing, roaming app data, media editing, a much more.

If you choose to build apps using the newly available Windows Runtime, you’ll gain new platform capabilities along with enhanced tooling support for creating apps using HTML and JavaScript (WinJS). In addition, phone apps built using the Windows Runtime platform share the same app model and app lifecycle previously available only to Windows Store apps, as well as the option for creating universal Windows apps that share code; making it easier to create apps that run on both Windows and Windows Phone (read more below).

For more details on what’s new for Windows Phone 8.1 app developers visit the Windows Phone development center.

Universal Windows Apps

If you were previously creating apps for both Windows Store and Windows Phone, you had no path in Visual Studio that made it easy to target both platforms from one solution, while sharing app lifecycle code, user interface elements, etc.

Universal Windows Apps

With the release of Update 2, you can now build apps that target both Windows and Windows Phone platforms from a single solution; building apps that run on Windows Runtime and are able to target various form factors in the family of Windows devices.

To get started, the new universal Windows app project templates are available to help you create one app where your business logic surfaces through a user experience relevant to the device; whether for Windows phones and tablets or Windows laptops and workstations.

For more details overall, visit the Windows Development Center.

Performance and Diagnostics Hub

For Windows Store and Windows Phone 8.1 apps that target the Windows Runtime platform, you can now run more than one tool at a time in the Performance and Diagnostics hub (Combining Tools in the Performance and Diagnostics hub in Visual Studio 2013), which means that you can correlate data across tools, make informed performance tradeoffs, and generally save time.

In addition, a newly available Memory Usage tool (Diagnosing memory issues with the new Memory Usage Tool in Visual Studio) enables you to investigate application memory, which makes it easier to find issues such as memory leaks.

Improved Debugging – Cached Resources

In Windows 8.1 apps, it is possible to cache resources for your app before the app launches. In this update, you can manually trigger this caching so you can test your app's behavior or to simply make sure that you've registered ContentPrefetcher properly.

Test Notifications – Azure Notification Hub

With this release, we’ve added a new troubleshooting tool that enables you to send test messages (Notification Hubs: Send Test Notifications) while in Visual Studio; making it even easier to ensure notifications are working correctly for your Windows Store, Phone, or universal Windows apps.

Azure Development

While many Microsoft Azure capabilities are typically made available through the Azure SDK, some features are built right into Visual Studio itself. With Update 2, we are making the following new features available:

IDE Enhancements

If you are developing for Microsoft Azure, you can find an improved getting started experience. We offer a new capability that can link newly created web sites directly from File|New Project to a Microsoft Azure web site or Virtual Machine; making it easy to publish later.

In addition, you can use Server Explorer for Microsoft Azure Websites to view or edit live website files or view log files remotely.

.NET Mobile Services

Working with Mobile Services powered by .NET is now available right from Visual Studio (Quickstart: Add a mobile service). With this release, you’ll find new tooling support, including a template to help get started with a new project type and support for Remote Debugging.

Related – Windows Azure SDK 2.3

We’ve also recently shipped the Microsoft Azure 2.3 SDK, which adds even more new capabilities to Visual Studio developers working with Azure. This includes new Server Explorer enhancements such as:

  • Remote debugging of native/managed code
  • View/Edit remote files and view logs in websites

And there’s more. Learn about all the features from the Windows Azure Blog: Deep dive: Visual Studio 2013 Update 2 RC and Azure SDK 2.3.

Tip – Visual Studio 2013 Update 2 does not include the Azure SDK, get it from the MIcrosoft Azure download center.

Web Development

With the release of Update 2, we’re shipping many new features for web developers, including TypeScript 1.0 RTM, a powerful new language and tooling experience for developers building application-scale JavaScript projects. In addition, we’re releasing other new features and improvements (ASP.NET and Web Tools 2013.2 for Visual Studio 2013 Release Notes) for web development in tooling and the ASP.NET platform (including updates for MVC, Web API, and Web Pages). Read on for details.

TypeScript 1.0

TypeScript is an open-source language developed by Microsoft for application-scale JavaScript projects, powered by a typed superset of JavaScript that compiles to plain JavaScript. TypeScript, combined with Visual Studio, is a first-class experience with features such as static checking, symbol-based navigation, code refactoring, and much more.

  • TypeScript
 

In this release, TypeScript has reached version 1.0 (RTM), bringing the language to the first official release after 18 months of development and much excitement from the developer community.

Web Code Editor Enhancements (SASS, LESS & JSON)

We’ve further improved our code editor by adding support for additional file formats: SASS, and JSON. We’ve also improved our LESS editor with new capabilities.

The new SASS editor includes features such as colorization, variable and Mixins IntelliSense, syntax validation, goto definition, a color picker, and more. We’ve also enhanced the LESS editor with features such as Knockout IntelliSense Upgrade and a new URL picker for HTML, Razor, CSS, LESS, or SASS pages, and more.

The new JSON editor offers features such as syntax validation, colorization, outlining, and support for IntelliSense through the JSON schema.

Browser Link

Browser Link enables developers to connect multiple browsers right to Visual Studio and refresh them all by clicking a single button. For more information, see Using Browser Link in Visual Studio 2013.

In this release, we’ve enhanced Browser Link to support HTTPS connections, Single Page Applications (SPA), and static HTML files.

Project Templates

We’ve updated ASP.NET default project templates to include the latest platform releases, such as ASP.NET MVC, Web API, Web Pages, SignalR, and more.

Debugging Mobile Websites

If you have spent any amount of time trying to make a compelling mobile version of your website, you most likely have experienced issues with it not looking or working correctly on mobile browsers.

In this release, we’re making this a much better experience for developers that want to use the Windows Phone Emulator with Internet Explorer by enabling the use of Visual Studio’s debugging and performance tools while testing your web page in the phone emulator (Diagnosing Mobile Website Issues on Windows Phone 8.1 with Visual Studio).

Visual C++ Linker Enhancements

In Update 2 we have added a few features that should improve link times:

  • /Zc:inline: Remove unreferenced data and functions. This has a significant throughput impact for all of your projects.
  • PDB Improvements: Reduce time spent generating PDB files. This has a significant throughput impact for binaries with medium to large amounts of debug information.
  • /cgthreads: Parallelize the code-generation and optimization build phase. This is provides significant wins for medium to large binaries generated with the /LTCG option.

For more information, see Linker Enhancements.

General Debugging and Analyzers

Visual Studio Debugger

Previously, if you needed to understand JSON payloads stored in string variables during debugging, you had no built-in visualizer to help make this easier.

In this release, we’ve added a new string visualizer (JSON Debugger Visualizer in Visual Studio 2013) for debugging JSON-encoded strings right from Visual Studio. The visualizer shows payloads in a treeview control so it's easy for you to search, highlight, or copy key/value pairs.

.NET Managed Memory Analyzer

The .NET Managed Memory Analyzer (Using Visual Studio 2013 to Diagnose .NET Memory Issues in Production) helps you understand the .NET memory use of an application from .dmp files collected on production machines.

In this release we’ve added the ability to inspect the values of objects and instances in captured memory dumps (.NET Memory Analysis: Object Inspection), making the analyzer even more useful.

CPU Usage Tool

A new CPU Usage tool is now available in the Performance and Diagnostics hub that can be used with WPF, Console, Windows Store 8.1, or Windows Phone 8.1 apps.

This tool provides data on which functions are using the CPU and to what degree. This information empowers you to make decisions about where to focus your optimization efforts to achieve the best possible app performance. For more information, see CPU Usage.

IntelliTrace

Performance Events

IntelliTrace just got smarter when working with performance events collected by the Microsoft Monitoring Agent (MMA).

We’ve added the ability to analyze performance data in depth by grouping performance events and reviewing hot paths (UI Enhancements for IntelliTrace with Visual Studio 2013 Update 2). You can also Inspect SQL queries with Visual Studio tooling when you have ADO.NET event data available (Jump to SQL with IntelliTrace) or navigate easily to Actions/Controllers when you have data collected from ASP.NET MVC web sites (IntelliTrace MVC Navigation).

Visualizing Exceptions in IntelliTrace Data

When reviewing an IntelliTrace file with Exceptions data that was collected by MMA, it is now easier to view parameters and to see where exceptions were thrown by visualizing the call stack on a Code Map (Enhancements to Debugging Exceptions with IntelliTrace in Visual Studio 2013).

DirectX Profiling and Debugging

New Graphics Profiler

We added a new tool for optimizing the rendering performance of your Direct3D game or app with Graphics Frame Analysis. Unlike simply recording performance information during capture, frame analysis generates performance information later by timing events and collecting statistics during playback.

This means you can see an average of results from multiple playbacks, ensuring statistically sound data. It also means you can generate performance information for configurations and devices other than the one used for capture.

Frame analysis works the same way on Windows 8.1 and Windows Phone 8.1 devices, relying on a new timestamp query that was not available in Windows Phone 8.

Graphics Debugger Enhancements

Enhancements to the Graphics Debugger include the ability to capture up to 30 consecutive frames with one capture (consecutive capture). You can also programmatically trigger automatic capture, which is helpful for debugging compute shaders in programs that never call Present, or when a rendering problem makes it hard to know when to expect a capture during manual testing (Walkthrough: Capturing Graphics Information Programmatically).

Use the new Draw Calls view to see captured events and their state in an organized hierarchy, or expand it to see the current device state at the time of the draw call or the events that set their values.

It is also now possible to use the graphics debugger with your Windows Phone 8.1 apps in the emulator or on a tethered phone; both scenarios are now fully supported.

Release Management

Updates to Release Management make it easier to deploy your apps to groups of servers, which saves considerable time.

Server Groups

Most applications have multiple tiers, and most tiers run on several servers. Until now, in order to deploy a component to all servers in a tier, you had to author the same deployment sequence with the same set of steps on each server. This was not only a lot of repetitive work, it wasn’t maintainable.

With Update 2, you can now tag servers so that you author the deployment sequence once for a group of servers with the same tag (Visual Studio Release Management 2013 Update 2 RC now available). This deployment sequence will run automatically on all servers with the same tag in parallel when a release is triggered.