Fixed: Changed to use run-time detection rather than preprocessor conditionals.
Added: Comment about warning received from Mono v2.09.
Fixed: I just broke the .NET build - now it works too.