Sharing class libraries across runtimes
There are a number of managed runtimes and profiles for .NET development, including the .NET Framework, Silverlight, Windows Phone, and now the WinRT profile for Windows 8 (also known as Windows Store). If you have to write code that can be shared across more than one of these runtimes, it usually involves either the use of copy-and-paste development (never a good idea!) or multiple versions of the same project and the use of linked files. The linked files approach is cumbersome and error prone and often a pain to work with when Visual Studio is telling you it can't open a file as it is already open in another project.
The solution to this is to use Portable Class Libraries. The idea here is that you can build a class library that works across all desired runtimes by ensuring that only code that works on all runtimes is used. Further, the compiler only builds the project once, regardless of the number of runtimes supported, making the overall solution...