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

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top