2008-12-22 9 views
7

¿Puede una aplicación de escritorio diseñada para la plataforma Windows (por ejemplo, usar MS Visual Studio) ejecutarse también en una plataforma Linux? De ser así, brinde algunas sugerencias sobre lo que se debe hacer para prepararse para esto.¿Puede una aplicación de escritorio escrita para Windows ejecutarse en Linux?

+1

@andri: favor, eche un vistazo a http://www.catb.org/~esr/faqs /smart-questions.html para ver por qué edité tu pregunta, título y cuerpo, como lo hice. Había una buena pregunta detrás de una mala presentación. –

+0

@Jonathan, me da la impresión de que andri no es un hablante nativo de inglés. –

Respuesta

1

Si lo construyó usando .net, puede funcionar con mono. También hay otras posibilidades, pero necesitaríamos más detalles. IU, bibliotecas, hilos, otras cosas.

+0

¿Mono maneja los hilos y la sincronización de subprocesos de forma diferente a Microsoft .NET Framework? ¿Hay algún problema relacionado con subprocesos para considerar? Eso es definitivamente algo que no he escuchado antes. –

+0

@DrJokepu: Cuando respondí la pregunta, no estaba claro cómo había desarrollado la aplicación. Es por eso que dije "si se desarrolló en .net entonces probablemente funciona el mono") Si no, entonces todo está en el aire y no había suficiente información en el momento para responder completamente ... – Tim

25

Teniendo en cuenta sus etiquetas, supongo que es una aplicación .NET. Con esa suposición, debería mirar el Mono project. Su aplicación puede ejecutar sin cambios; es puede ejecutar después de pequeños cambios; es puede fundamentalmente necesitan bits de .NET que aún no se han implementado en Mono.

5

Podría funcionar con wine. Pero no todas las aplicaciones son compatibles.

1

Puede ejecutar con Mono, pero hay algunos problemas de compatibilidad cuando entra en Winforms. Si está utilizando WPF, entonces no creo que haya soporte adecuado en Mono aún para intentarlo. La mejor manera, aunque probablemente no sea una opción para los proyectos ya codificados, es usar GTK, que es soportado muy bien por Mono, y se ejecutará tanto en Windows como en Linux.

7

Para consolidar y ampliar algunas respuestas anteriores ...

Si usted tiene cuidado sobre las clases de "biblioteca" que ha usado, se puede ejecutar en Mono.

De lo contrario, la siguiente elección más fácil, WiNE puede permitirle ejecutar la aplicación directamente en Linux.

Si todo lo demás falla, siempre es posible crear una máquina virtual (usando VirtualBox o algo similar) y realizar una instalación completa de Windows en la máquina Linux para ejecutar su software.

+0

Pero entonces el usuario de Linux debe pagar por una copia de Windows. – Rory

+1

@Rory: En el caso de la VM, sí (ya que * hay * un sistema operativo Windows instalado en una computadora, aunque en una virtual). En el caso de Mono y WINE, no. – Piskvor

7

Si va a utilizar Mono, debe marcar MoMA. Es una herramienta que puede ayudarlo a identificar problemas de compatibilidad.

+0

I Acabo de descargarlo esta mañana para probar una de mis propias aplicaciones que quiero portar a MONO. Es simple y te da un buen informe detallado en HTML. –

2

La forma más fácil de hacerlo es escribir su aplicación utilizando exclusivamente los controles GTK#.

Además, asegúrese de compilar y ejecutar su código utilizando Mono en Windows para asegurarse de no utilizar ninguna función o biblioteca que el entorno de ejecución Mono no admita o aún no haya duplicado toda la funcionalidad.

2

También puede usar Qt de trolltech.

0

Si tiene suficiente flexibilidad en términos de la plataforma/idioma que puede elegir, puede tener muchas opciones que no son específicas de .Net.

  • Java (yo diría que el más fácil de coger y la plataforma más maduro en la lista debido a su enorme base de usuarios y el número de libros y documentos disponibles)
  • Python/TkInter
  • Rubí (tiene muchas herramientas GUI)
1

otra multiplataforma juego de herramientas para agregar a la pila respuesta es wxWidgets

Cuestiones relacionadas