Entwicklung von C # unter Linux

107

Ich würde gerne wissen, ob es effektive und Open Source-Tools gibt, um C # -Anwendungen unter Linux (Ubuntu) zu entwickeln. Insbesondere muss ich Windows Forms-Anwendungen entwickeln.

Ich weiß über das Mono- Projekt Bescheid , habe es aber nie benutzt. Was sind die besten Tools (IDE, Compiler usw.), um eine .NET-Entwicklungsumgebung unter Ubuntu einzurichten?

Ist unter Linux entwickelte Software unter Windows ausführbar? Gibt es unterschiedliche Verhaltensweisen oder Inkompatibilitäten?

Davioooh
quelle
Schauen
NlightNFotis
Dies könnte auch irgendwie nützlich sein stackoverflow.com/questions/716077/…
NlightNFotis
Dies kann auch von Interesse sein: mono-project.com/WinForms_Getting_Started_Guide
NlightNFotis

Antworten:

69

MonoDevelop, die mit Mono Project verknüpfte IDE, sollte für die C # -Entwicklung unter Linux ausreichen. Jetzt kenne ich keine guten Profiler und andere Tools für die C # -Entwicklung unter Linux. Aber wohlgemerkt, dass C # eine Sprache ist, die Windows besser beherrscht. Sie entwickeln C # -Apps besser für Windows als für Linux.

BEARBEITEN: Wenn Sie MonoDevelop vom Ubuntu Software Center herunterladen, enthält es so ziemlich alles, was Sie für den sofortigen Start benötigen (Compiler, Laufzeitumgebung, IDE). Weitere Informationen finden Sie unter folgenden Links:

NlightNFotis
quelle
1
Ist es eine Software, die unter Linux entwickelt wurde und unter Windows ausgeführt werden kann?
Davioooh
2
Unter Windows oder Linux entwickelte Software kann auf dem .NET-Framework ausgeführt werden. Solange es möglich ist, das .NET-Framework im Betriebssystem zu installieren, kann die Anwendung ausgeführt werden. Du hast die Version allerdings
kennengelernt
@nvr Dennoch war ich gefragt, ob unterschiedliche Framework-Implementierung Inkompatibilitäten verursachen kann
Davioooh
4
Abwärtskompatibilität ist meines Wissens immer vorhanden. Probleme können auftreten, wenn Sie versuchen, eine Anwendung auf .Net 2.0 auszuführen, das mit .Net 3.5 oder späteren Versionen entwickelt wurde.
Shiham
Sie sollten jedoch beachten, dass .Net unter Windows immer mehr kann. Mono ist eher ein Kompatibilitätsprojekt als eine tatsächliche Implementierung des Software Development Kits. So sehe ich es zumindest.
NlightNFotis
28

Jetzt migriert Microsoft zu Open Source - siehe CoreFX (GitHub).

Henry H.
quelle
9

Ich würde vorschlagen, MonoDevelop zu verwenden.

Es ist ziemlich explizit für die Verwendung mit Mono konzipiert und alle für die Entwicklung in C # eingerichtet.

Die einfachste Möglichkeit, es unter Ubuntu zu installieren, besteht darin, das Monodevelop-Paket in Ubuntu zu installieren. ( Link zu Mono auf ubuntu.com ) (Wenn Sie jedoch eine neuere Version installieren möchten, bin ich mir nicht sicher, welche PPA geeignet wäre.)

Ich würde jedoch nicht empfehlen, mit dem WinForms-Toolkit zu entwickeln - ich erwarte nicht, dass es in Windows und Mono dasselbe Verhalten aufweist (die Implementierungen sind ziemlich unterschiedlich). Eine Übersicht über die UI-Toolkits, die mit Mono funktionieren, finden Sie auf der Informationsseite zu Mono-project .

Jean Hominal
quelle
8

Mono Develop ist genau das, was Sie wollen. Wenn Sie Visual Studio verwendet haben, sollten Sie es einfach genug finden, um loszulegen.

Wenn ich mich richtig erinnere, sollten Sie in der Lage sein, mit zu installieren sudo apt-get install monodevelop

Chris Diver
quelle
Der Installationsbefehl ist korrekt. Sie müssen jedoch sicherstellen, dass Sie das Monodevelop-Repository zu Ihrem System hinzugefügt haben, bevor Sie dies tun. Hier ist ein aktuell funktionierender Link: monodevelop.com/download Und hier ist die Möglichkeit, das Repository hinzuzufügen: `` `sudo apt install apt-transport-https dirmngr sudo apt-key adv --keyserver hkp: //keyserver.ubuntu. com: 80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb download.mono-project.com/repo/ubuntu vs-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-vs.list sudo apt update `` `
FreedomInChaos
6

Mono ist eine Laufzeitumgebung, in der .NET-Anwendungen ausgeführt werden können und die sowohl unter Windows als auch unter Linux funktioniert. Es enthält einen C # -Compiler.

Als IDE könnten Sie MonoDevelop verwenden , und ich nehme an, dass auch für Eclipse etwas verfügbar ist.

Beachten Sie, dass die WinForms-Unterstützung für Mono vorhanden ist, jedoch etwas fehlt. Im Allgemeinen scheinen Mono-Entwickler verschiedene GUI-Toolkits wie Gtk # zu bevorzugen.

ODER Mapper
quelle