Sharing class libraries across different runtimes
There are a number of managed runtimes and profiles for .NET development including the .NET Framework, Silverlight, Windows Phone, Windows 8.X, and the Universal Windows Platform (UWP). When you have to write code that can be shared across more than one of these runtimes, various options are available. Frequently, it can involve either the use of copy-and-paste development, or multiple versions of the same project and the use of linked files. Neither approach is ideal as they introduce greater possibilities for errors and make updating difficult. It is all too easy to make changes to a piece code during an intensive debugging session, and then forget to copy them over to the other files.
The solution to all of these issues is to use Portable Class Libraries (PCL). The idea here is that you can build a class library that works across all desired runtimes by ensuring that all code that is general to all platforms is used. So whether you have...