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.
Whatâ€™s new in the RC since Beta
Logo & Branding
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.
Metro style apps
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.
Metro style apps using XAML
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.
Team Foundation Server
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).
Coded UI Features
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.
Microsoft Test Manager
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:
â€œGo Liveâ€ License
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:
- Visual Studio 2012 RC Product Website
- Visual Studio Developer Center
- Visual Studio ALM Rangers solutions page
- .NET Framework Developer Center
- Windows Dev Center
Tell Us What You Think About 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:
- Ask a question on the Visual Studio or Windows forums
- File a bug on the Visual Studio, LightSwitch, or Blend Connect sites (or with the Visual Studio Feedback Tool)
- Submit a suggestion on UserVoice
Follow me at twitter.com/jlzander.