Mono != .NET
Man muss seine Anwendung teilweise zu Mono portieren. Dafür gibt es sogar ein Analyzer-Tool vom Mono-Project.
Das letzte Mal, als ich mir Mono angesehen habe, gab es keine Namespaces Microsoft.xx
Je nachdem, ob man da was verwendet geht es schnell.
VB.NET ist aber noch ein Spezialfall. Es gibt Namespaces, Funktionen, etc. in VB.NET welche es sonst nicht in der CLR existieren. Wenn man da was verwendet ist eine Portierung komplizierter. Entweder man sucht Ersatz im "normalen" .NET Framwework oder schreibt sich Funktionen selber.
Außderdem ist der Syntax VB <> C# leicht unterschiedlich. Die VB'ler kennen keine Semikolons am Zeilenende, die C#'ler schon. War für mich persönlich doof, als ich mal in VB.NET entwicklen musste, andauernd meckerte der Compiler über meine Semikolons
Wie es mit der Nutzung von Mono in "closed source"-Projekten bzw. in kommerziellen Projekten steht hab ich auf der offiziellen Seite jetzt auch nicht so schnell gefunden.
Vielleicht kann sich ja mal einer vom DEV-Team melden und ein Statement abgeben? Die Mac'ler würden sich freuen.