Jason Zander is Corporate Vice President of Development for the Windows Azure team at Microsoft.
Learn more about Jason.
More videos »
I’m happy to announce the Release Candidate of Visual Studio 2012, Team Foundation Server 2012, and .NET Framework 4.5. You can find these releases available for download on our Visual Studio product website.
In conjunction with today’s Visual Studio release, Windows has made available a Windows 8 Release Preview. Please visit the Building Windows 8 blog for the official announcement by Steven Sinofsky. You can download the Windows 8 Release Preview bits here.
The complete list of Visual Studio 2012 RC features is available on MSDN. In this post, I’ll summarize the updates we’ve made in Visual Studio 2012 RC, since the beta. Given where we are in the product cycle, these updates are primarily final touches on existing features, responses to beta customer feedback, and improvements to performance. I’ve recorded a video, so you can also see some of these updates in action.
You’ll notice that we’ve updated our product branding from the “11” version number to the 2012 year. This means that the RTM version will release this calendar year!
You will also notice that we’ve updated our Visual Studio logo to the image below:
One of the first parts of the product you’ll experience is setup. We’ve enabled upgrade from beta to RC, so if you’re using the same product edition (e.g. Professional, Ultimate, etc.), you do not need to uninstall the beta first. Simply run the Visual Studio 2012 RC installer, which will uninstall the right Beta bits and lay down the RC bits, all at once. The only exception is if you’re running on Windows 8 – in that case, you need to first install the Windows 8 Release Preview and then install Visual Studio 2012 RC.
We’ve made some pretty significant investments in improving the setup experience in Visual Studio 2012 RC. Many of you have already seen the streamlined user interface in the beta. From beta to RC, we reduced the installation time by an additional 20%!
We also re-introduced customization into the product. We hope you’ll enjoy these improvements that should save you time and make it easier to get the right bits.
Visual Studio 2012 RC Setup customization UI
The performance work done between beta and RC was extensive and covers just about every aspect of the product. There were improvements in XAML (compiler, loading documents, and the design surface), debugging, editing large C++ files, Test Lab Management and the list goes on.
To give a few examples, we’ve put together some blog posts detailing the process in the team to identify, fix, and monitor these improvements. The first example we discussed was typing and editing responsiveness. I encourage you to read this post, where you can learn more about the internal performance tools, the product changes that were made, and the resulting impact on responsiveness. In the next post, we’ll cover performance improvements to the Toolbox.
The RC includes a series of improvements to the overall UX, which were based on the beta user feedback. I encourage you to visit the Visual Studio team blog for a more comprehensive post with details on these changes.
Visual Studio 2012 RC light theme
After the Visual Studio team post on the above mentioned changes, we received requests for more information on the Visual Studio 2012 dark theme (a personal favorite). Earlier this week, we published a blog post with the roadmap for the dark theme, showing changes in the RC as well as others coming in RTM. I encourage you to take a look and see what’s in store ahead.
The IDE improvements in RC focus on responses to customer feedback, polishing features, and performance improvements.
We received feedback about the shared scope and options between Quick Find and Find-in-Files in the beta. Since then, we released an extension to help address this in the short term, and have now included that update in the RC release. With the RC, you can now perform a Quick Find without automatically changing the scope setting in Find-in-Files as well.
Solution Explorer is an example of an area where we made some tweaks to round out the experience and polish the feature in RC. We found that the Solution Explorer toolbar was overflowing, so we removed commands that already have other placements in the IDE (e.g. context menus, key bindings, menus) and don’t affect the solution view or project hierarchy.
For large solutions, it can be hard to find items in Solution Explorer. In the RC, we’ve introduced Solution Explorer filtering to help you scope to the relevant content and focus on whatever is important for your current task. This way, you can restrict Solution explorer to show just the files you're currently working with. The new filtering options include Pending Changes and Open Files, and can be found under the button shown below:
Finally, we improved the Quick Launch performance, so that search results are returned nearly instantaneously now.
If you plan to build Metro style apps, make sure to install Visual Studio 2012 RC on a machine with the Windows 8 Release Preview. There are a number of enhancements for building Metro style apps in the RC release.
First off, there are some new Metro style app templates, including a new Windows Runtime Component template for C# and VB developers, and a new DLL project template for C++ developers. There have also been improvements to the existing templates. For example, the templates now fully support keyboard and mouse navigation, in addition to touch. Furthermore, XAML support is now added to the Direct2D template. The XAML Blank App has also been simplified.
The Visual Studio XAML and Blend designers have been enhanced in the RC. You can now preview and edit the design of your Metro style app, for view states such as FullScreenLandscape, FullScreenPortrait, Filled, and Snapped. This is done through the Device panel, which automatically changes visual states when the View is changed. Below you can see an example of the Snapped visual state.
Selecting “Enable state recording” (above) will enable changes made on the Design Surface or Property Inspector to alter the currently selected visual state rather than always making changes to Base.
Adding theme animations from the Animation library in your app’s visual states, is now easy to do using Blend’s visual state design feature. The Animation library is a suite of Metro style animations that has been built specifically to take advantage of the platform’s animation capability. These animations are used throughout Windows UI and are also available for your Metro app. Select the desired state in the States pane, then the storyboard in the Objects & Timeline to see the state storyboard’s properties, including Theme Animations as shown in the screenshot below.
There have been a number of performance improvements for Metro style apps using XAML. Examples include better support for IRandomAccessStream from .NET, more aggressively reclaiming memory upon Metro app suspend, and the introduction of .NET performance testing in the Windows App Certification Kit. We also enabled Multi-Core JIT for Metro style apps and improved the algorithm by which Metro style apps are optimized for performance with NGEN.
We’ve also created editors for simplified editing of gradients and 2D transforms:
Finally, we put a lot of focus on productivity and refactoring gestures. This includes context menus to quickly and easily edit classnames and create CSS rules from an elements ID or classnames. It also includes the ability to cut, copy, paste and clear CSS properties in order to easily enable moving CSS properties in between CSS rules.
For more information on using the RC for Metro style app development, I recommend visiting the Windows 8 App developer blog for a summary of what’s new in the Windows 8 RP for developers, as well as BlendInsider for further details on Blend.
ASP.NET Web Forms has been updated to fully support the new async “await” keyword. Page events and control events can now be marked as “async” and utilize the new async support added in .NET 4.5”.
MVC 4 projects now include Entity Framework 5 which has full support for “migrations” allowing developers to keep their code and databases in sync as changes are made.
Enabling Database Migrations in ASP.NET MVC 4 via NuGet Console
ASP.NET MVC now also renders HTML 5 by default so when displaying the Person model the following HTML will be emitted now: id="BirthDate" name="BirthDate" type="datetime" value="5/31/2012 12:00:00 AM"
If you’re doing web development, you’ll notice a handful of updates in the RC. First off, we’ve updated some of the project templates. We made the MVC4 Empty template truly empty, and renamed the original empty template to now be called the “Basic” template. We also improved the performance of the New Project creation time.
You’ll also notice some IDE improvements. For example, we now support the ability to run an app from Visual Studio in multiple browsers, through a more discoverable UI.
There’s a host of additional web tooling improvements. For example, HTML and CSS editor enhancements, including updated HTML5 IntelliSense and SVG support. We also updated the publish UI to support incremental database schema preview. The Page Inspector experience has been improved, such that we no longer add web.config appSettings key VisualStudioDesignTime:Enabled, as page inspector will work with server side code as long as it’s in debug mode. For more information on these updates, as well as the complete list of web improvements in Visual Studio 2012 RC, please visit the Web Development Tools blog.
For LightSwitch projects, there are several new features that we’ve lit up in RC. Last March, we published a preview of the LightSwitch Cosmopolitan Shell & Theme on the VS Gallery to give LightSwitch applications a more modern look-and-feel and corporate branding. Since then, we’ve fixed a significant number of community reported visual bugs and improving readability (such as adding data grid lines). Based on the positive feedback, we’ve now made the Cosmopolitan Shell & Theme the default UI for new projects (shown below).
Another change that we made based on customer feedback was to add the application logo to the login screen for applications using forms authentication. It will show up once you deploy the application. Furthermore, we have significantly improved the performance of core data operations, which in turn improves many application scenarios (querying, paging, loading data in a list/grid, etc.). You can find more information about LightSwitch updates in RC on the LightSwitch team blog and Developer Center.
There were a few updates to TFS since the beta. The first is the ability to use SQL backups of existing Team Foundation Server instances to create (upgrade) a new Team Foundation instance during the initial setup. The second is the ability to automatically add new features to existing projects using older Team Project Templates when upgrading – this has been one of the most requested upgrade features for Team Foundation Server.
The Team Foundation Server team also improved the user interfaces with updates such as the ability to collapse/expand iterations in Team Web access and the addition of personal and favorite queries in pending changes – which makes it simple to drag and drop related work items to a pending checkin.
For more information on the TFS 2012 RC release, please visit Brian Harry’s blog.
Most of the testing improvements in the RC focused around customer feedback on the beta, as well as a variety of performance and scalability improvements (for example, reducing the size of the output files from test runs and code coverage result).
Visual Studio 2012 RC includes a new feature for the analysis of Coded UI Test playback logs, which filters and logs important information for you in a more readable format. Using the actionable information in the Coded UI Test logs, you should able to debug issues more quickly. For example, here’s a picture of the new log, after running a Coded UI Test on a failure case:
Here, you can see a step by step view of all the actions and useful information that were captured by the new logger:
We’ve also made enhancements to the extensibility APIs for Coded UI, to better support integration of 3rd party controls.
To make it even easier to get up and running using Microsoft Test Manager, we’ve integrated a Media Foundation based Video Recorder so you no longer have to install the Expression Encoder to create video recordings of your test cases.
In RC the Architecture Tools include new facilities for understanding the structural relationships between elements of the code. You can now use contextual commands on selected code elements in a dependency graph to find, for example, all the types derived directly or indirectly from another type, or the methods that call a selected method:
You can also see what is causing a dependency link between higher level components (e.g. namespaces), by drilling into that link to see the contributing dependency links between subcomponents (e.g. types or methods):
On the UX side, it’s now possible to apply different layouts to the contents of individual group nodes, including a new “List View” compact layout:
As with the beta, Visual Studio 2012 RC ships with a “Go Live” license. This means that you can use the product to build apps that run in production. For more information on the “Go Live” terms and how to get support if you need it, please visit the Visual Studio 2012 RC website.
Here’s a list of related resources to help you get started with the RC:
As usual, we’re looking forward to hearing from you about your experience with the release. Please feel free to contact us through the following channels:
Follow me at twitter.com/jlzander.