Hacer que la aplicación Windows existente de C # se ejecute en Linux
Pregunta
Duplicar: Ejecute .NET exe en Linux
Hola,
¿Es posible hacer que mi aplicación Windows Forms existente, realizada con Visual Studio 2008 y .Net framework 2.0, se ejecute en Linux al compilar en Linux con menos cambios de código o sin cambios?
Gracias
Solución
muy posible, sin embargo, dependiendo de su aplicación, su kilometraje puede variar. los no-nos incluyen bibliotecas / DLL de terceros que dependen de las llamadas COM y Win32, y P / Invokes. También es posible que tenga que vigilar el código que realiza la concatenación de archivos / directorios, ya que unix usa " / " como separador de directorios, mientras que Windows utiliza " \ " ;.
Otros consejos
Le sugiero que vuelva a compilar el mismo código en el IDE de Mono y que realice las modificaciones menores que puedan ser necesarias. Lo he hecho muchas veces.
Puede obtener información aquí: Ejecute .NET exe en Linux
sí, la última vez que lo verifiqué, su DataGridView está mejorando, ahora puede ocultar columnas, sin embargo, su VirtualMode en dgv todavía no funciona.
Utilizo Mono principalmente para cosas remotas, el tipo DateTime ahora es compatible con Remoting (yipee!) en Mono 2.4. antes (en 1.9), tengo que convertir mis campos de fecha y hora en una cadena para que pueda ser transportado desde y hacia Remoting de nivel intermedio, esto ya no es necesario en 2.4.
Use esta guía para escribir software portátil: http://mono-project.com/Guidelines:Application_Portability
un ejemplo:
Para escribir software portátil, debes asegúrate de usar el System.IO.Path.DirectorySeparatorChar (http: / monodoc / P: System.IO.Path.DirectorySeparatorChar) personaje cuando debes concatenar caminos, o incluso mejor, usar el System.IO.Path.Combine (http: / monodoc / M: System.IO.Path.Combine (cadena, cadena)) método para combinar rutas de acceso.