Far funzionare l'applicazione Windows C # esistente su Linux
Domanda
Duplica: Esegui .NET exe in linux
Ciao,
È possibile eseguire la mia applicazione Windows Form esistente utilizzando Visual Studio 2008 e .Net framework 2.0 su Linux eseguendo la ricompilazione in Linux con meno / nessuna modifica del codice?
Grazie
Soluzione
molto possibile, tuttavia, a seconda dell'applicazione, il chilometraggio può variare. no-no includono librerie / DLL di terze parti che dipendono dalle chiamate COM e Win32 e da P / Invokes. potresti anche dover fare attenzione al codice che esegue la concatenazione di file / directory, poiché unix utilizza " / " come separatore di directory mentre Windows utilizza " \ " ;.
Altri suggerimenti
Ti suggerisco di ricompilare lo stesso codice nell'IDE Mono e di apportare eventuali modifiche minori che potrebbero essere necessarie. L'ho fatto molte volte.
Puoi prendere alcune informazioni qui: Esegui .NET exe in linux
sì, per ultimo ho controllato, il loro DataGridView sta migliorando, ora può nascondere le colonne, tuttavia il loro VirtualMode su dgv non funziona ancora.
Uso Mono principalmente per oggetti Remoting, il tipo DateTime ora è compatibile con Remoting (yipee!) in Mono 2.4. prima (in 1.9), devo eseguire il cast dei miei campi datetime su stringa in modo che possa essere trasportato da e verso Remoting di livello intermedio, questo non è più necessario in 2.4.
Usa questa linea guida per scrivere software portatile: http://mono-project.com/Guidelines:Application_Portability
un esempio:
Per scrivere software portatile, è necessario assicurati di usare il System.IO.Path.DirectorySeparatorChar (Http: / Monodoc / P: System.IO.Path.DirectorySeparatorChar) personaggio quando devi concatenare percorsi, o ancora meglio, utilizzare il System.IO.Path.Combine (Http: / Monodoc / M: System.IO.Path.Combine (string, string)) metodo per combinare i percorsi.