We will explore how to use the new Portable Class Libraries support in Visual Studio 2012 to reuse C# or Visual Basic code between apps targeting different managed platforms (Metro style, Windows Phone, Desktop, etc.). This enables faster development and better maintainability. We will look at real-world examples of apps and demo the process of re-using code from Windows Phone to Metro style. We will see how the Model-View-ViewModel pattern (MVVM) is ideally suited to sharing code between platforms since it encourages a clean separation between the app logic, which can be shared, and the UI, which is platform-specific. You will see common real-world issues that you may run into when reusing code between Desktop, Phone and Metro style apps and how to resolve those issues. To maximize your benefit from this session, having some prior experience with XAML-based apps and the MVVM pattern is recommended.