Czy mogę skompilować kod .NET C # na komputerze Mac?

22

Potrzebuję sposobu krzyżowego skompilowania krótkiego fragmentu kodu .NET C # do biblioteki dll, która następnie uruchomi środowisko Windows klienta.

Korzystam z systemu OS X 10.9.2 na komputerze iMac.

Czy ktoś wie, jakie narzędzia na to pozwalają?

Wolałbym nie instalować Parallels i Windows, jeśli mogę znaleźć sposób na kompilację tego rozwiązania bez potrzeby instalowania narzędzi Microsoft.

Jagra
źródło

Odpowiedzi:

21

Sprawdź Mono Project. To może być to, czego szukasz.

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

MonoDevelop to wieloplatformowe IDE zaprojektowane głównie dla C # i innych języków .NET. MonoDevelop umożliwia programistom szybkie pisanie aplikacji internetowych i ASP.NET w systemach Linux, Windows i Mac OSX. MonoDevelop ułatwia programistom przenoszenie aplikacji .NET utworzonych za pomocą Visual Studio na Linux i Mac OSX, utrzymując jedną bazę kodu dla wszystkich platform.

poziom 42
źródło
monodevelop.com MonoDevelop to wieloplatformowe IDE zaprojektowane głównie dla C # i innych języków .NET. MonoDevelop umożliwia programistom szybkie pisanie aplikacji internetowych i ASP.NET w systemach Linux, Windows i Mac OSX. MonoDevelop ułatwia programistom przenoszenie aplikacji .NET utworzonych za pomocą Visual Studio na Linux i Mac OSX, utrzymując jedną bazę kodu dla wszystkich platform. - Jeśli nie możesz poprawnie skompilować kodu za pomocą MonoDevelop, możesz nie mieć innego wyjścia, jak uruchomić maszynę wirtualną.
poziom 42
Dzięki, patrzyłem na Mono, ale chociaż powinien on działać, nie znalazłem jasnego „jak” zainstalować lub używać.
Jagra
1
@Jagra Jest tu kilka filmów instruktażowych: youtube.com/results?search_query=monodevelop+install+mac
poziom42
1
Aby rozwiązać wszelkie wątpliwości: tak , jeśli skompilujesz bibliotekę DLL na Mono, będzie ona działać w systemie Windows bez żadnych modyfikacji, biorąc pod uwagę, że nie używasz żadnych konkretnych bibliotek Mono , takich jak Mono.Addin lub Mono.Simd. Działa to również w dwie strony - DLL / EXE skompilowany w Visual Studio będzie działał bez modyfikacji w Mono, biorąc pod uwagę, że nie używasz żadnych konkretnych bibliotek Microsoft / Windows, takich jak WPF, Workflow Foundation, COM + itp.
NothingsImpossible
1
@Jagra: Po zainstalowaniu Mono (i MonoDevelop, jeśli chcesz) ze strony go-mono.com/mono-downloads/download.html , jest bardzo łatwy w użyciu. Nawet bez MonoDevelop powinieneś być w stanie skompilować większość projektów .sln bezpośrednio z Visual Studio, używając xbuild.
Jwosty
8

Jeśli masz komputer Mac, możesz skompilować C # w następujący sposób:

Kompiluj: mcs fileName.cs
Uruchom:mono fileName.exe

Jeśli nie masz zainstalowanego mono na komputerze Mac, możesz google go zainstalować i zainstalować, a wtedy będzie dobrze. Nie potrzebujesz do tego systemu Windows.

dany
źródło
5

Możesz zainstalować go z Homebrew :

brew install mono

Następnie możesz go używać z:

mcs hello.cs
mono hello.exe
dorycki
źródło
1

Nie ma osobistych doświadczeń z tym IDE, ale wygląda na to, że zadziała: http://monodevelop.com

atldeadhead
źródło
1

Czy mogę skompilować kod .NET C # na komputerze Mac?

Możesz skompilować kod C # tak.

Wolałbym nie instalować Parallels i Windows, jeśli mogę znaleźć sposób na kompilację tego rozwiązania bez potrzeby instalowania narzędzi Microsoft.

Mono nie ma 100% kompatybilności z implementacją .NET.

Common Language Infrastructure (CLI) to platforma do wykonywania kodu zarządzanego. Interfejs CLI składa się z kilku części, w tym wirtualnego systemu wykonawczego (VES). VES .NET to środowisko uruchomieniowe języka wspólnego. Mono ma własną osobną implementację VES.

Innymi słowy, przynajmniej nie spodziewaj się uruchomienia kodu, który został przetestowany tylko w środowisku * nix / OSX, aby działał bez testowania go w środowisku Windows .

P.Brian.Mackey
źródło