Use right version of mono compiler for specific .NET version.

Currently on Mac/Linux, it tries to use `mcs` ignoring the `version` property. Here is a fix for that.

And seems like the `version` property is also ignored on Window? But I'm not quite sure how should it be handled.