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.

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.


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.


5

Możesz zainstalować go z Homebrew :

brew install mono

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

mcs hello.cs
mono hello.exe



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 .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.