The .NET framework version nastiness is especially irritating if you are trying to support Windows Phone 8 or WinStore. I can't even start to describe how unfunny it is to try to integrate a module written for WinRT into Unity. Since that's what WP8/WinStore plugins usually do.
It roughly works like so that you write two DLL's, one targeting .NET 3.5 and the second targeting the same .NET version the module targets. First DLL is called a dummy DLL, that has the exact same API as the second one, i.e. the real one. The dummy doesn't need to do anything, strictly speaking. Of course it's really nice for supplying test data. After you made the modules, you have to place them into special directories. The dummy one goes under Assets/Plugins. The real one goes to Assets/Plugins/WP8 or WinStore/(x86,x64). The names have to be exact same. Of course, you also need the dependencies, so plop the .winmd also to the same directory where you put real DLL. After doing this, you'll see that editor uses the dummy DLL and a build for the device uses the real one.
All this sounds relatively clean and simple. However, getting Unity to realize that the .winmd file needs to also copied to the build is something that I never figured out why it works like this. First, copy the .winmd file into both Assets/Plugins and the platform-specific folder. Second, make a build. Now you're free to delete extraneous .winmd file under the Assets/Plugins folder.
Other not so nice thing is that what if you have something like Facebook SDK for Android and iOS under Assets/Plugins? Since there a completely separate SDK for WP8/WinStore, it would be nice to tell Unity not to include that into the build. Except.... there is no way to do that.
Also, since WP8/WinStore devices actually have the MS's .NET runtime, you'd kinda hope that .NET would work nicely. No. Instead you get to enjoy whole slew of .NET classes missing, (Crypto classes are notorius), some methods throwing NotSupportedException on the device, not the editor and some methods missing. Note that this has been improving slightly every release, in all honesty.
So yeah, the only platforms where you'd except the something running on .NET to work especially well is the most irritating to develop for.