Vor ein paar Jahren hätte ich Ihnen noch geraten, sich ein Exemplar meiner Buch über plattformübergreifendes .NET, aber da das Buch inzwischen etwas veraltet ist, müssen Sie sich wirklich an die Informationen auf der Mono-Website halten.
El Mono-Migrations-Analysator (MoMA) Tool ist ziemlich gut, um eine bestehende .NET-Anwendung zu analysieren und Sie vor Portabilitätsproblemen zu warnen, aber für neuen Code ist es am besten, die neueste stabile Version von Mono für Ihre Entwicklungsarbeit zu verwenden.
Wie Orion sagte, müssen Sie vorsichtig sein, wenn Sie DLLs von Drittanbietern verwenden, obwohl mein Co-Autor eine NativeProbe Tool zur Analyse von DLLs auf P/Invoke-Abhängigkeiten, wenn Sie Software von Drittanbietern schnell überprüfen möchten.
Wenn Sie entschlossen sind, auf MS.NET zu entwickeln, dann sollten Sie versuchen sicherzustellen, dass Sie auch auf Mono bauen und testen, und Sie sollten auch auf eine Reihe von Windows-spezifischen Namespaces achten, wie z.B. die Microsoft.Win32 und System.Management Namespaces.