Future-proofing your XAML Applications with Portable Libraries

So many Microsoft platforms now have support for some type of XAML programming model that it seems like XAML is everywhere. If you have existing XAML applications you may be thinking about taking advantage of this commonality to start sharing code across platforms. Unfortunately, there have been a lot of stumbling blocks to doing this, including incompatibility of compiled assemblies and changes to available framework features or naming that can be hard to discover without a lot of trial and error. Portable libraries can help solve some of these problems, and are now built into Visual Studio 2012 with support for WPF, Silverlight (in and out of browser), Windows Phone 7, Windows 8 Store Apps, and even Xbox 360. We'll look at what you can share, what you can't, and how to best structure your code for maximum reuse.