Kann ich problemlos Linux / Mono anstelle von Windows / Visual Studio verwenden? [geschlossen]

9

Ich habe mehr als 6 Jahre Erfahrung mit .Net (C # / ASP.NET) und Visual Studio. Aber vor kurzem bin ich versucht, auf Linux / Mono umzusteigen. Es kommen einige Fragen auf:

  1. Kann ich meine alten Visual Studio-Projekte und Quellcodes in Mono korrekt ausführen?

  2. Meine Clients verwenden IIS für ASP.NET und MS Windows für Winform- und Konsolenprojekte. Betrifft meine Migration sie? Mit anderen Worten, werden meine Mono-Projekte unter Windows / IIS ohne Änderungen oder Probleme ausgeführt?

  3. Ist Mono angesichts der jüngsten Änderungen von Mono, Novell, Xamarin und Attachme zuverlässig?

  4. Kann ich weiterhin meine bevorzugten Open Source- und keine Open Source-Projekte wie NHibernate, Castle, Cuyahoga, log4net, Microsoft Enterprise Library und DNN verwenden?

  5. Kann ich Mono ASP.NET-Webprojekte problemlos in Apache hosten?

  6. Kann ich meine Kenntnisse in ASP.NET-Webformularen und MVC in Mono genau einsetzen?

Afshar Mohebbi
quelle
2
Vielleicht ... Ich würde wetten, dass die Antwort nein ist, aber ich bin sicher, dass ein Mono-Typ das argumentieren wird. Wenn Sie ernsthaft darüber nachdenken, sollten Sie einige Tests durchführen und ausprobieren. Das sollte ein besserer Leitfaden für Sie sein als zufällige Meinungen des Internenten. Weil derjenige, der Ihnen sagt, dass es kein Problem ist, wird es nicht einfach sein, es für Sie zu tun, wenn Sie auf einen Haken stoßen.
SoylentGray
Nur zu Ihrer Information, ich habe eine coole ASP.Net-Anwendung mit C # unter Verwendung von Mono geschrieben und sie auf einem Ubuntu-Server bereitgestellt, auf dem Apache ohne "große" Probleme ausgeführt wird.
AngryBird
2
Eine sehr umfassende Antwort auf diese Frage finden Sie hier: Mono wird häufig verwendet, um "Ja, .NET ist plattformübergreifend" zu sagen. Wie gültig ist diese Behauptung?
Robert Harvey

Antworten:

5

Kann ich meine alten Visual Studio-Projekte und Quellcodes in Mono korrekt ausführen?

Hauptsächlich. Es gibt etwas Magie, die der Mono-Compiler nicht verarbeiten kann. Die meisten Leute machen das aber nicht. MonoDevelop öffnet VS-Lösungs- und Projektdateien normalerweise ohne Probleme.

Meine Clients verwenden IIS für ASP.NET und MS Windows für Winform- und Konsolenprojekte. Betrifft meine Migration sie? Mit anderen Worten, werden meine Mono-Projekte unter Windows / IIS ohne Änderungen oder Probleme ausgeführt?

Sie möchten alles testen, bevor Sie es für die Produktion bereitstellen. Normalerweise ist dies jedoch nicht der Fall. Alle Probleme werden Randfälle sein.

Ist Mono angesichts der jüngsten Änderungen von Mono, Novell, Xamarin und Attachme zuverlässig?

Xamarin hat die Rechte und Lizenzen für alles Mono-bezogene von Attachmate erworben. Dies selbst ist kein Problem. Xamarin stellt Ressourcen bereit, um MonoDevelop zu einem besseren Produkt zu machen. Ich verbringe das vergangene Wochenende mit vielen Mitgliedern des Mono-Teams und sie möchten die Produktlinie fortsetzen. Ein stärkerer Fokus wird jedoch auf den mobilen Dingen liegen. Serverseitige Inhalte werden nicht ignoriert, aber ich würde nicht die schnellste Einführung neuer Inhalte erwarten.

Kann ich weiterhin meine bevorzugten Open Source- und keine Open Source-Projekte wie NHibernate, Castle, Cuyahoga, log4net, Microsoft Enterprise Library und DNN verwenden?

Ich kann nicht jedes Projekt einzeln kommentieren, aber viele Projekte werden mit wenig bis gar keiner Änderung auf Mono ausgeführt.

Kann ich Mono ASP.NET-Webprojekte problemlos in Apache hosten?

Es hängt von Ihren Apache-Fähigkeiten ab, aber es ist möglich.

Kann ich meine Kenntnisse in ASP.NET-Webformularen und MVC in Mono genau einsetzen?

Der Code, den Sie schreiben, sollte keinen Unterschied zwischen VS und MonoDevelop machen.

Travis
quelle
Ich bin gerade auf einen Fall gestoßen, in dem das Kompilieren des gleichen Codes in Mono und .NET C # unterschiedliche Ergebnisse liefert ... (Code Wars verwendet Mono C # und während die Codierungsaufforderung in Visual Studio erwartete Ergebnisse liefert, lädt das Laden auf der Code Wars-Seite die Ergebnisse für einige Testfälle liefern unterschiedliche Ergebnisse. Ich habe staticMethoden mit Rekursion - Ich wandere, wenn Mono Methodenargumente (nach ref / by val) und Statik anders behandelt als .NET C #? Oder vielleicht liegt das Problem woanders: /
Prokurors
1

Was Sie über ASP.Net und Mono wissen sollten, ist, dass Mono gerade die Unterstützung für ASP.net eingestellt hat.

*** Hinweis: hmm ... Ich hätte schwören können, dass ich das in einem Jeff & Joel-Podcast gehört habe, aber das Googeln gibt mir keine gute Referenz.

Scott C Wilson
quelle
1
In diesem Fall wurden die FAQ noch nicht aktualisiert. Wenn ich es jedoch lese, habe ich den Eindruck, dass es wahrscheinlich keine gute Idee ist, die ASP.NET-Unterstützung abhängig von Mono für ASP.NET einzustellen, auch wenn sie nicht sofort eingestellt wird. Wenn nichts anderes, ist die Unterstützung sowohl teilweise als auch einige Versionen dahinter.
Adam Lear
0

Ist Mono angesichts der jüngsten Änderungen von Mono, Novell, Xamarin und Attachme zuverlässig?

Mono hat Gegenwart und Zukunft. Sie hängen jetzt nicht mehr von der Strategie eines großen Unternehmens ab. Xamarin hat die IP-Rechte von Mono und verwandten Produkten.

Miguel de Icaza und Nat Friedman haben Erfahrung in der Leitung eines unabhängigen OpenSource-Unternehmens.

Rufo El Magufo
quelle