Additionally, we're trying not to use framework features we don't need to gratuitously, in case we ever want to backport to .NET 2.0. That's unlikely given that it would mean
dropping TimeZoneInfo support, but it's always a possibility. Additionally, we're very likely to want to create a Portable Class Library at some point, so where possible, stick
to core features which won't make this harder than it needs to be. (Don't worry too much though - don't feel you need to look up every member.)

PCL support

See the Installation section of the user guide for which versions of the
PCL are currently
supported. Supporting Silverlight restricts us more than the other targets; in particular the
System.IO.Compression namespace is entirely absent from Silverlight, whereas it's present
in the other PCL targets we're supporting.

The PCL build is a separate project configuration, hand-crafted into the existing project files. These configurations
define the PCL conditional compilation symbol, which is used for areas where the code needs to differ between builds.