2011-11-30 7 views
5

He leído muchas preguntas sobre cómo ejecutar el código .net con mono pero siempre termino con la misma pregunta. Estoy construyendo una nueva aplicación ahora, así que mejor empiezo directamente y tomo la buena dirección:Puede ejecutar aplicaciones compiladas mono framework.net (desde un VS env)

¿Puedo desarrollar una aplicación dentro de Visual C Express o Visual Basic Express, compilarla desde el entorno de Microsoft utilizando los compiladores que tienen y ejecuta esa aplicación usando MONO en Linux.

¿O tengo que trabajar desde cero con el compilador mono (o convertir luego mi proyecto MS a mono) para poder usar mis aplicaciones .net usando el framework Mono en linux.

El soporte de Linux/Mac no es realmente obligatorio para el desarrollo de mi aplicación, pero me gustaría hacerlo desde el principio.

Gracias


En cuanto a las API:

estoy usando Windows Forms, el cifrado, la globalización, SQLClient pero eso es probablemente todo, ¿hay algo que los expertos Mono fuera me puede decir NO a utilizar desde el principio.

Ah, y yo uso el espacio de nombres My para todo tipo de cosas tales como conseguir el nombre del equipo, nombre de usuario conectado, recursos, configuraciones, etc ...

+0

Debe volver atrás y aceptar las respuestas a las preguntas anteriores que haya formulado. Si es mucho más bajo, puede tener problemas para lograr que las personas respondan sus preguntas. –

+0

Sí, no sé por qué tengo tantas preguntas, sin respuesta, lo siento ... generalmente las marque: S –

+0

Ahora sé, apenas tengo preguntas, y las únicas que tengo, la mayoría de ellas no tienen respuesta ... . :) –

Respuesta

6

Generalmente sí, eso funciona.

El problema no es volver a compilar, son las API y bibliotecas nativas disponibles. Si agrega interoperabilidad nativa, la biblioteca con la que trabaja debe estar disponible también en Linux, lo que obviamente no es el caso de las bibliotecas de Windows.

Algunas bibliotecas administradas no están disponibles en absoluto (WPF), o están incompletas (WCF).

Mono tiene una implementación de WinForms, pero parece extraña, ya que no usa controles nativos. Esto significa que el código funcionará en otras plataformas, pero la experiencia del usuario no será agradable.

+0

Eso es lo que pensé, solo quería dejar en claro –

+0

¿Qué le sucede a My.Computer.Identity.WindowsPrincipal, está portado correctamente mientras está en otra plataforma? ¿Puede el cliente nativo de SQL (System.Data.SqlClient) trabajar en otra plataforma que no sea Windows? Nunca instalaría un servidor MS Sql en Linux, obviamente, pero si ni siquiera puedo conectarme a una máquina Windows usando esa API, entonces el mono es inútil –

4

Todos los compiladores de lenguajes .Net se compilan en MSIL estándar, que se puede ejecutar con cualquier implementación compatible, incluido Mono.

Sin embargo, algunos ensamblados incluidos con Microsoft.Net y Visual Studio no están disponibles para Mono en plataformas que no sean Windows.

Cuestiones relacionadas