Kann ich .NET C#-Code auf meinem Mac kompilieren?

Ich brauche eine Möglichkeit, ein kurzes Stück .NET C#-Code in eine DLL zu kompilieren, die dann die Windows-Umgebung eines Clients ausführt.

Ich verwende OS X 10.9.2 auf einem iMac.

Weiß jemand, welche Tools dies ermöglichen?

Ich würde Parallels und Windows lieber nicht installieren, wenn ich einen Weg finden kann, dies zu kompilieren, ohne dass eine so schwere Installation von Microsoft-Tools erforderlich ist.

Antworten (6)

Schauen Sie sich das Mono-Projekt an. Es kann sein, wonach Sie suchen.

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

MonoDevelop ist eine plattformübergreifende IDE, die hauptsächlich für C# und andere .NET-Sprachen entwickelt wurde. MonoDevelop ermöglicht Entwicklern das schnelle Schreiben von Desktop- und ASP.NET-Webanwendungen unter Linux, Windows und Mac OSX. MonoDevelop macht es Entwicklern leicht, mit Visual Studio erstellte .NET-Anwendungen auf Linux und Mac OSX zu portieren, wobei eine einzige Codebasis für alle Plattformen beibehalten wird.

monodevelop.com MonoDevelop ist eine plattformübergreifende IDE, die hauptsächlich für C# und andere .NET-Sprachen entwickelt wurde. MonoDevelop ermöglicht Entwicklern das schnelle Schreiben von Desktop- und ASP.NET-Webanwendungen unter Linux, Windows und Mac OSX. MonoDevelop macht es Entwicklern leicht, mit Visual Studio erstellte .NET-Anwendungen auf Linux und Mac OSX zu portieren, wobei eine einzige Codebasis für alle Plattformen beibehalten wird. -- Wenn Sie Ihren Code mit MonoDevelop nicht korrekt kompilieren können, haben Sie möglicherweise keine andere Wahl, als eine VM auszuführen.
Danke, ich habe mir Mono angesehen, aber obwohl es funktionieren sollte, habe ich keine klare Anleitung gefunden, wie man es installiert oder verwendet.
@Jagra Hier gibt es ein paar Tutorial-Videos: youtube.com/results?search_query=monodevelop+install+mac
MonoDevelop ahmt Visual Studio nach, daher sollte es für Sie einfach zu bedienen sein.
Nur um jeden Zweifel auszuräumen: Ja , wenn Sie eine DLL auf Mono kompilieren, läuft sie unter Windows ohne jegliche Modifikation, vorausgesetzt , Sie verwenden keine spezifischen Mono-Bibliotheken wie Mono.Addin oder Mono.Simd. Es geht auch in beide Richtungen - eine in Visual Studio kompilierte DLL/EXE läuft unverändert auf Mono, vorausgesetzt, Sie verwenden keine spezifischen Microsoft/Windows-Bibliotheken wie WPF, Workflow Foundation, COM+ usw.
@Jagra: Sobald Sie Mono (und MonoDevelop, wenn Sie möchten) von go-mono.com/mono-downloads/download.html installiert haben , ist es sehr einfach zu verwenden. Auch ohne MonoDevelop sollten Sie in der Lage sein, die meisten .sln-Projekte direkt aus Visual Studio heraus zu kompilieren, indem Sie xbuild.
Können Sie dies zusammen mit Entwicklern verwenden, die Visual Studio verwenden?
brew cask install dotnet-sdkinstalliert sowohl die .NET-Laufzeiten als auch das SDK

Sie können es mit Homebrew installieren :

brew install mono

Dann können Sie es verwenden mit:

mcs hello.cs
mono hello.exe

Wenn Sie einen Mac haben, können Sie C# wie folgt kompilieren:

Kompilieren: mcs fileName.cs
Ausführen:mono fileName.exe

Wenn Sie Mono nicht auf Ihrem Mac installiert haben, können Sie es googeln und installieren, und dann können Sie loslegen. Dazu benötigen Sie kein Windows.

Keine persönliche Erfahrung mit dieser IDE, aber das sieht so aus, als würde es funktionieren: http://monodevelop.com

Vielleicht möchten Sie sich jetzt mit dem Folgenden befassen

Xamarin https://www.xamarin.com/

Visual Studio für Mac https://www.visualstudio.com/vs/visual-studio-mac/

Kann ich .NET C#-Code auf meinem Mac kompilieren?

Sie können C#-Code ja kompilieren.

Ich würde Parallels und Windows lieber nicht installieren, wenn ich einen Weg finden kann, dies zu kompilieren, ohne dass eine so schwere Installation von Microsoft-Tools erforderlich ist.

Mono ist nicht zu 100 % mit der .NET-Implementierung kompatibel.

Die Common Language Infrastructure (CLI) ist ein Framework zum Ausführen von verwaltetem Code. Die CLI besteht aus mehreren Teilen, darunter ein Virtual Execution System (VES). VES von .NET ist die Common Language Runtime. Mono hat seine eigene separate VES-Implementierung.

Mit anderen Worten, erwarten Sie zumindest nicht, Code auszuführen, der nur in einer *nix/OSX-Umgebung getestet wurde, ohne ihn in einer Windows-Umgebung zu testen .