Posso compilar o código .NET C # no meu Mac?

22

Eu preciso de uma maneira de compilar um pequeno pedaço de código .NET C # para uma dll, que executará o ambiente Windows de um cliente.

Eu executo o OS X 10.9.2 em um iMac.

Alguém sabe quais ferramentas permitem isso?

Prefiro não instalar o Parallels e o Windows se encontrar uma maneira de compilar isso sem precisar da instalação pesada das ferramentas da Microsoft.

Jagra
fonte

Respostas:

21

Confira o Projeto Mono. Pode ser o que você está procurando.

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

O MonoDevelop é um IDE multiplataforma projetado principalmente para C # e outras linguagens .NET. O MonoDevelop permite que os desenvolvedores escrevam rapidamente aplicativos da Web para desktop e ASP.NET no Linux, Windows e Mac OSX. O MonoDevelop facilita para os desenvolvedores portar aplicativos .NET criados com o Visual Studio para Linux e Mac OSX, mantendo uma base de código única para todas as plataformas.

level42
fonte
monodevelop.com O MonoDevelop é um IDE de plataforma cruzada desenvolvido principalmente para C # e outras linguagens .NET. O MonoDevelop permite que os desenvolvedores escrevam rapidamente aplicativos da Web para desktop e ASP.NET no Linux, Windows e Mac OSX. O MonoDevelop facilita para os desenvolvedores portar aplicativos .NET criados com o Visual Studio para Linux e Mac OSX, mantendo uma base de código única para todas as plataformas. - Se você não conseguir compilar seu código corretamente com o MonoDevelop, eles poderão não ter outra opção a não ser executar uma VM.
level42
Thx, eu estive olhando o Mono, mas, embora deva funcionar, não encontrei um "como" claro para instalar ou usá-lo.
Jagra
1
@Jagra Existem alguns vídeos tutoriais aqui: youtube.com/results?search_query=monodevelop+install+mac
level42
1
Apenas para solucionar qualquer dúvida: Sim , se você compilar uma DLL no Mono, ela será executada no Windows sem nenhuma modificação, já que você não usa nenhuma biblioteca Mono específica , como Mono.Addin ou Mono.Simd. Ele vai nos dois sentidos, também - uma DLL / EXE compilado em Visual Studio será executado unmodifed em Mono, uma vez que você não usar qualquer específico Microsoft / Windows bibliotecas como WPF, Workflow Foundation, COM + etc.
NothingsImpossible
1
@Jagra: Depois de instalar o Mono (e o MonoDevelop, se você quiser) em go-mono.com/mono-downloads/download.html , é muito fácil de usar. Mesmo sem o MonoDevelop, você deve poder compilar a maioria dos projetos .sln diretamente do Visual Studio, usando xbuild.
Jwosty
8

Se você possui um Mac, pode compilar C # assim:

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

Se você não possui o Mono instalado no seu Mac, você pode pesquisá-lo no Google e instalá-lo e estará pronto. Você não precisa do Windows para fazer isso.

dany
fonte
5

Você pode instalá-lo com homebrew :

brew install mono

Então você pode usá-lo com:

mcs hello.cs
mono hello.exe
Dorian
fonte
1

Nenhuma experiência pessoal com esse IDE, mas parece que ele funcionará: http://monodevelop.com

atldeadhead
fonte
1

Posso compilar o código .NET C # no meu Mac?

Você pode compilar o código C # sim.

Prefiro não instalar o Parallels e o Windows se encontrar uma maneira de compilar isso sem precisar da instalação pesada das ferramentas da Microsoft.

Mono não tem 100% de compatibilidade com a implementação do .NET.

A Common Language Infrastructure (CLI) é uma estrutura para a execução de código gerenciado. A CLI consiste em várias partes, incluindo um Sistema de Execução Virtual (VES). O VES do .NET é o Common language Runtime. O Mono possui sua própria implementação separada do VES.

Em outras palavras, pelo menos, não espere executar código que só foi testado em um ambiente * nix / OSX para ser executado sem testá-lo em um ambiente Windows .

P.Brian.Mackey
fonte