Pregunta

Yo sé que los binarios construidos en Windows no es necesario volver a compilar para máquinas Linux con Mono. Funciona al revés? Son binarios construidos con Mono en máquinas Linux ejecutables en Windows con sólo el .NET Framework?

¿Fue útil?

Solución

Sí - el formato de archivo es portable entre Mono y .NET. Por supuesto, eso es de restricción de errores en la implementación, que no es una imposibilidad.

El formato de archivo es aún documentado , partición 2, sección 25 ECMA-335.

Es evidente que necesita cualquier ensamblado que sus referencias de aplicaciones. Creo que incluso P / Invoke puede ser portátil, si tiene el mismo nombre de la biblioteca nativa de la exposición de las mismas funciones.

Otros consejos

No hay que olvidar que el .NET un archivo binario (EXE o DLL) contiene plataforma de código IL independiente.

Por lo tanto un binario construido con Mono en Linux se puede ejecutar en Windows, siempre y cuando se incluye la información del encabezado estándar ejecutable portable (PE). Todo otro tipo de código dentro de la plataforma binaria es IL independiente.

En una forma práctica de ver esto en acción intente instalar MonoDevelop en una máquina Linux y luego construir un simple proyecto de prueba.

Después de la construcción del proyecto, localizar el directorio de depuración. Contiene el archivo ejecutable que se puede copiar directamente a las ventanas y de ejecución.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top