2010-01-19 37 views
6

Non ho ancora avuto bisogno di scrivere applicazioni cross-platform in C#. Tuttavia, ogni volta che vengo a lavorare con i percorsi, ecc., Mi chiedo sempre quali sono le cose che dovrei fare per rendere la mia vita più facile, nel caso avessi bisogno di compilare Cross in Mono.Quali sono le buone regole pratiche per la scrittura di app multipiattaforma in C#?

Capisco che la GUI potrebbe essere un problema. Vorrei provare a utilizzare buone pratiche cross platform nella mia normale codifica Windows, se possibile.

Le eventuali questioni ADO a cui prestare attenzione?

Quali problemi si sono verificati e come vengono risolti?

risposta

4

Eseguire tutto tramite MOMA dopo averlo scritto. Identificherà per voi qualsiasi costrutto che non sia indipendente dalla piattaforma o non implementato nel runtime Mono.

Additionaly compila sia con MSBuild che con il compilatore mono .net.

Utilizzo di Path.Combine e Environment.NewLine sono una coppia fuori dalla mia testa.

Evita solo il costrutto Windows (WMI e così via) che non ha un analogo linux/unix.

+0

Grande consiglio. Io li uso entrambi. Path.Combine solo negli ultimi mesi però. Come si esegue il test di caratteri di percorso non validi in modo multipiattaforma? – Nanook

+1

Path.GetInvlidhPathChars - http://msdn.microsoft.com/en-us/library/system.io.path.getinvalidpathchars.aspx – Oded

1

Se si crea l'applicazione utilizzando Mono in un ambiente Windows utilizzando Gtk# allora dovrebbe funzionare su tutte le piattaforme, dal momento che non utilizzerà nessuna delle librerie .NET che non sono disponibili in Mono , né utilizzerà alcuna delle librerie Mono/Gtk # che non sono supportate in Windows.

Se sei un utente di Visual Studio, dai un'occhiata al pacchetto Mono Tools per VS.

Problemi correlati