This summer brought us the Windows 8 Release Preview and the Visual Studio 2012 Release Candidate – a great step towards the much anticipated final releases. Unfortunately, these major updates also had a dark side: breaking changes.
Even if expected at this stage of product development, breaking changes and the resluting compatibility problems are still annoying — especially when such a big update literally occurs the day after our Summer 2012 release and breaks functionality (even if that functionality was declared as preliminary). :(
Among the changes that affected us, the most noticeable ones were:
- Several types were moved from assembly to assembly deep inside the WinRT. Despite Visual Studio now hiding stuff such as separate .NET Core (aka WinRT/Metro) assemblies from the developer behind a single ‘.NET for Metro style apps’ reference, compiled Metro assemblies still contain references not only to the System.Runtime assembly, but also to System.Collections, System.Text.Encoding etc. So when several types were moved, this effectively broke assemblies that used these types and were compiled using the old VS 11 beta build.
- The type ApplicationViewStateChangedEventArgs is no longer available, and the Windows.UI.ViewManagement.ApplicationView.GetForCurrentView method was removed. These changes broke all Metro applications created in the VS 11 Beta using standard Metro app templates and unfortunately, DA/Metro apps were broken as well.
The changes listed above and the issues caused by them are annoying but not hard to work around. We are preparing an interim release that will provide fixes for all these issues. Licensed users can grab a gamma build at gamma.remobjects.com now, and we are planning to have an updated release version, including an updated free trial, within the next week.
Wishing you successful Metro projects!