Mono vzniklo kdysi dávno jako open-source částečná reimplementace .NET Frameworku (MVC, winForms, ASP.NET atd.). Trochu později MS představil .NET Core jako nový open source základ .NET světa, postupně do něj přepisuje věci jako ASP.NET MVC, WPF a další (stejně jako to dělalo Mono) a tohle vyvrcholilo vydáním .NET 5.0 jako nové hlavní větve.
Mono tedy nedává smysl, .NET 5.0 a Mono mají stejný cíl, nad .NET Core reimplementují zbylé knihovny a API, které se kolem .NET používaly.
.NET 5.0 jsou k dispozici i platform specific kódy a ty které jsou určeny pouze pro Windows dokáže právě dobře řešit wine, který zpřístupňuje Windows API na linuxu. Zbytek běhá na linuxu dobře.
.NET 5.0 není plně zpětně kompatibilní, takže kód se musí stejně upravit (ať již původně byl v Mono nebo .NET Core s použitím dalších knihoven od MS).