I support a VB6 application. It's currently being replaced, module by module, with .NET (including a lot of new features as we go). The GUI is in WPF, but with almost zero coupling to the business logic, so that's not as important. I'm hoping the migration will be done by mid-2012.

I'm reading some of the news out of the MS build conference, and it looks like WinRT with Metro will be the API and GUI of choice for future development, especially if you want your application to run on mobile devices (which we will, certainly).

What kind of speed bump are we looking at when we (eventually) migrate from .NET to WinRT and Metro? It looks like C# and Xaml will be around, but WinRT is not .NET. Are the API's compatible (just a matter of changing an option in the VS build menu)? If they're not, will there be a one-way conversion tool? Will it be possible to easily maintain one application that runs under .NET/WPF on Windows XP/7 systems and simultaneously builds to a WinRT/Metro target during the time when we have all those systems in-house?

1 Answer 1


Currently, as in 'it's just a developer preview after all'1, you mostly have to change a couple of namespaces for your XAML/C# based solutions to compile and run as a 'legacy' app.

That's because they have split some essential DLLs/namespaces from the core .NET framework that you're certain to be using right now.

Then, if you want your app to be 'Metroish', you will have to rethink its UI, which is not a big deal if you're already using a good Separation of Concerns, for instance MVVM.

1 What I mean is, probably the upgrade path will be smoother once the tools are mature.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.