Se vuoi scrivere qualcosa di universale è meglio se ti orienti verso un altro linguaggio (java per esempio): la piattaforma .NET è relativa solo al mondo Windows (esiste in verità anche MONO per Linux, ma la compatibilità non è al 100%).