¿Puedo compilar el código .NET C # en mi Mac?

22

Necesito una forma de compilar de forma cruzada un pequeño fragmento de código .NET C # en un dll, que luego ejecutará el entorno de Windows de un cliente.

Ejecuto OS X 10.9.2 en un iMac.

¿Alguien sabe qué herramientas permiten esto?

Prefiero no instalar Parallels y Windows si puedo encontrar una manera de compilar esto sin necesidad de una instalación tan pesada de herramientas de Microsoft.

Jagra
fuente

Respuestas:

21

Echa un vistazo al Proyecto Mono. Puede ser lo que estás buscando.

http://www.mono-project.com/Mono:OSX

MonoDevelop es un IDE multiplataforma diseñado principalmente para C # y otros lenguajes .NET. MonoDevelop permite a los desarrolladores escribir rápidamente aplicaciones web de escritorio y ASP.NET en Linux, Windows y Mac OSX. MonoDevelop facilita a los desarrolladores portar aplicaciones .NET creadas con Visual Studio a Linux y Mac OSX manteniendo una sola base de código para todas las plataformas.

nivel42
fuente
monodevelop.com MonoDevelop es un IDE multiplataforma diseñado principalmente para C # y otros lenguajes .NET. MonoDevelop permite a los desarrolladores escribir rápidamente aplicaciones web de escritorio y ASP.NET en Linux, Windows y Mac OSX. MonoDevelop facilita a los desarrolladores portar aplicaciones .NET creadas con Visual Studio a Linux y Mac OSX manteniendo una sola base de código para todas las plataformas. - Si no puede compilar su código correctamente con MonoDevelop, es posible que no tenga más remedio que ejecutar una VM.
nivel42
Gracias, he estado mirando Mono, pero si bien debería funcionar, no he encontrado un claro "cómo" instalarlo o usarlo.
Jagra
1
@Jagra Aquí hay algunos videos tutoriales: youtube.com/results?search_query=monodevelop+install+mac
nivel42
1
Solo para aclarar cualquier duda: , si compila una DLL en Mono, se ejecutará en Windows sin ninguna modificación, dado que no utiliza ninguna biblioteca específica de Mono , como Mono.Addin o Mono.Simd. En ambos sentidos, también - un DLL / EXE compilado en Visual Studio se ejecutará en Mono no modificado, ya que no se utiliza ninguna específica Microsoft / Windows librerías como WPF, Workflow Foundation, COM +, etc
NothingsImpossible
1
@Jagra: Una vez que instales Mono (y MonoDevelop si lo deseas) desde go-mono.com/mono-downloads/download.html , es muy fácil de usar. Incluso sin MonoDevelop, debería poder compilar la mayoría de los proyectos .sln directamente desde Visual Studio, utilizando xbuild.
Jwosty
8

Si tiene una Mac, puede compilar C # así:

Compilar: mcs fileName.cs
Ejecutar:mono fileName.exe

Si no tiene Mono instalado en su Mac, puede googlearlo e instalarlo, y estará listo para comenzar. No necesita Windows para hacer esto.

dany
fuente
5

Puedes instalarlo con homebrew :

brew install mono

Entonces puedes usarlo con:

mcs hello.cs
mono hello.exe
dorio
fuente
1

¿Puedo compilar el código .NET C # en mi Mac?

Puede compilar el código C # sí.

Prefiero no instalar Parallels y Windows si puedo encontrar una manera de compilar esto sin necesidad de una instalación tan pesada de herramientas de Microsoft.

Mono no tiene una compatibilidad del 100% con la implementación de .NET.

Common Language Infrastructure (CLI) es un marco para ejecutar código administrado. La CLI consta de varias partes, incluido un Sistema de ejecución virtual (VES). El VES de .NET es Common Language Runtime. Mono tiene su propia implementación de VES por separado.

En otras palabras, al menos no espere ejecutar código que solo ha sido probado en un entorno * nix / OSX para ejecutarse sin probarlo en un entorno Windows .

P.Brian.Mackey
fuente