Kennen Sie Möglichkeiten, ein C# -Projekt unter Linux auszuführen? Gibt es dafür framewoks oder Bibliotheken?So führen Sie C# -Projekt unter Linux aus
Antwort
Sie suchen nach der Mono Project - eine plattformübergreifende (aber in erster Linie auf Linux ausgerichtet) Implementierung von .NET Framework und CLR. Es kann Binärdateien ausführen, die für die CLR (MS .NET) kompiliert wurden, oder eigene native Linux-Binärdateien erstellen.
Das Projekt läuft schon eine Weile, und seine aktuelle Version (2.4) ist sehr brauchbar, sogar für production purposes. Einzelheiten zu den wichtigsten Funktionen und Meilensteinen aktueller und zukünftiger Versionen finden Sie unter project roadmap.
Einzelheiten über den aktuellen Stand:
Die große Mehrheit der BCL (Base Class Library) auf Mono, mit Ausnahme von einigen der .NET 3.0/3.5 stuff, wie WPF verfügbar ist (die momentan nur minimale Unterstützung hat) und WCF (fast keine Unterstützung). Silverlight 2.0 wird jedoch über das Projekt Moonlight unterstützt, und der Fortschritt läuft gut. WinForms Funktionalität (die GTK # als Backend verwendet) ist jedoch, soweit ich weiß, ziemlich vollständig.
Implementierung der C# 3.0 Sprache ist effektiv vollständig, einschließlich der C# 3.0-Features wie Lambda-Ausdrücke, LINQ und automatische Eigenschaften. Ich glaube, dass die C# compiler bis zu dem Punkt ausgereift ist, dass ihre Effizienz mindestens mit der des MS-Compilers vergleichbar ist, obwohl sie in einigen Aspekten noch nicht übereinstimmt. Was ist wirklich cool (und einzigartig) über den Mono C# -Compiler ist, dass bietet jetzt einen Compiler-Service - mit anderen Worten echte dynamische Kompilierung von Code (ohne die Verwendung des CodeDOM). Dies ist etwas, das MS vielleicht nur in .NET 5.0 hinzufügen wird.
Wie andere bereits gesagt haben, können Sie .NET-Anwendungen auf Mono ausführen. Wenn Ihre Anwendungen den Plattform-Aufruf (P/Invoke) verwenden, um systemeigenen Code aufzurufen, kann es zu Problemen kommen, wenn die native Bibliothek nicht mit Mono implementiert ist. Um zu überprüfen, ob Ihre Anwendung das tut (oder APIs verwendet, die noch nicht in Mono implementiert wurden), können Sie Mono Migration Analyzer (MoMA) verwenden.
- 1. Führen die .net-Anwendungen unter Linux aus?
- 2. So führen Sie Systembefehle (linux/bsd) mit Java aus
- 3. So führen Sie IdentityServer und WebAPI im selben Projekt aus
- 4. So führen Sie jar vom OS Process Sampler unter Linux aus
- 5. So führen Sie Shell-Einbau aus Scala
- 6. Stellen Sie ein Qt-Projekt unter Linux
- 7. So führen Sie Javah aus Eclipse aus
- 8. So führen Sie die interne Abwicklungsfunktion aus:
- 9. So führen Sie eine data.table-Zusammenführungsoperation aus
- 10. Führen Sie AppleScript aus C
- 11. So führen Sie Pyint mit PyCharm aus
- 12. So führen Sie mehrere SVN-Dienste aus
- 13. So führen Sie PowerShell in CMD aus
- 14. So führen Sie CPPUnit Komponententests aus
- 15. So führen Sie NUnit-Tests aus C# -Code
- 16. So führen Sie zwei Funktionen gleichzeitig aus
- 17. C++ Flash unter Linux
- 18. Führen Sie MongoDB-Befehle aus C#
- 19. So führen Sie Segue mit Verzögerung aus
- 20. So führen Sie nacheinander Stapeljobs aus
- 21. So führen Sie Gatling aus Code
- 22. So führen Sie diese Abfrage aus
- 23. So führen Sie Funktionen in Postgres aus
- 24. Entwickeln von C# unter Linux
- 25. Kompilieren von Objective-C-Projekt unter Linux (Ubuntu)
- 26. C# -Server-Skalierbarkeitsproblem unter Linux
- 27. So führen Sie eine Mac-Anwendung aus Java aus?
- 28. So führen Sie eine heruntergeladene Datei aus dem Speicher aus?
- 29. Laravel 5.2 Projekt - Deployment unter Linux
- 30. So führen Sie Hooks in Linux-Git-Server
+1 - Kennen Sie tatsächliche Produktionsserver mit Mono? – Dror
@Dror: Meinst du sowas wie? –
Noldorin
@Dror http://www.mono-project.com/Companies_Using_Mono Überprüfen Sie dies für Beispiele – prestomation