Also, Mono's own ecosystem of additional libraries works better on Windows than on Linux. A while ago, I used a project that used an SQLite binding from the Mono project. They decided to discontinue development of this library in favour of a newer alternative, and it was then totally broken by subsequent Mono updates - but it continued to work fine on Windows with .Net. So any projects that still use this library are basically impossible to get working on Linux/Mac because Mono has awful backwards compatibility with the Mono Project's own libraries compared with .Net.