Lightstorm Geschrieben 5. Dezember 2019 Melden Share Geschrieben 5. Dezember 2019 Bin ich der einzige den das auch so verwirrt? Also Unity benutzt Mono, richtig? Nicht .net Core oder .Net von Microsoft. Ist dass das originale Mono oder irgendeine modifiziertes Mono für Unity? Also ein Art "Unity Mono"? Und Mono bzw. Unity ist kompatible zu .Net 2.0 und .Net 4 Standard von Microsoft? Ist .Net 4 nicht eine höhere Version als Net. 2.0? Oder werden beide Stränge für sich alleine weiter entwickelt? Die neuen Features von C# 8 werden laut Microsoft Webseite von .Net 2.1 unterstützt. Was bei mir wieder für Verwirrung sorgt weil ich intuitiv meinen könnte das doch .Net 4 die aktuelle Version ist und Neuerungen darauf aufbauen und nicht auf älteren Versionen. Hinzu kommt das Visual Studio 2019 C# 8 Features unterstützt und sie erfolgreich validiert aber der Unity Editor spuckt nach dem compilieren Fehler aus. z.B. nimmt der VS 2019 eine Switch Expression (C# 8 Feature) an, mit annehmen meine ich dass nichts rot unterstrichen ist. Aber der Unity Editor gibt Fehler an der Stelle an. Laut Unity Forum ist eine Unterstützung für C# 8 für 2020 geplant. Macht wohl Sinn. Unity unterstützt den .Net 2.0 Standard. C# 8 Features setzen aber .Net 2.1 Standard voraus. Kann jemand diese Verwirrung bisschen auflösen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MaZy Geschrieben 6. Dezember 2019 Melden Share Geschrieben 6. Dezember 2019 Wahrscheinlich Mono selbst ist nichts anders um die Möglichkeit zu geben Plattform unabhängig zu programmieren, das mit C#. Ein Beispiel, ich habe ein Server programmiert, welches mit C# geschrieben wurde und welches sogar einen .exe beinhaltet. Das Programm läuft sowohl in Linux aber auch im Windows. Mittlerweile kann man sogar die Datei direkt starten. Früher musste ich noch mono zusätzlich ausführen. Früher war mono nicht für Systeme gedacht. Eigentlich nur windows. Kurz: Mono hilft die diese Programme die programmiert wurde auszuführen, zu compilen (ja auch in Linux kann man sie compilen und ausführen). Net Standard definiert, welche Libraries in der Programmierung benutzt werden können. Beispiel Netstandard 2 die framework 4.6.1 und die netstanard 1 wäre framework 4.5. Da sind auch aber andere Pakete dabei. Nicht nur Framework. Z.B. Core. Net Framework waren nicht beabsichtigt auf anderen Projekten zu funktionieren. Durch Xamarin und Mono wurde was neues erschaffen, wo man dann für anderen Plattformen erweitern konnte. Net Core benutzt KEIN mono. Wurde bewusst so vom Libraries aufgebaut, dass man auch für andere Plattformen verwenden kann. Ich habe jetzt nicht selbst benutzt, aber ich vermute mal, dass da sowas gibt wie if application is linux then usw. So wie ich auch verstanden habe hat Core auch keine libraries für Interfaces. Sprich kein Fenster wo man navigieren kann (Windows forms, WPF usw). Am 5.12.2019 um 16:04 schrieb Lightstorm: Ist dass das originale Mono oder irgendeine modifiziertes Mono für Unity? Also ein Art "Unity Mono"? Es ist der originale Mono zu mindest in der API Bereich. Zu modifizieren und zu ändern wäre nicht gut, dann müssten wir auch die Libraries dafür runterladen. Z.B. müsste ich irgendwas zusätzlich auf meinem Linux installieren, damit auch Unitys Version funktionieren soll. Aber der Standard Mono läuft. Am 5.12.2019 um 16:04 schrieb Lightstorm: Und Mono bzw. Unity ist kompatible zu .Net 2.0 und .Net 4 Standard von Microsoft? Unity ist ein Editor. Unity benutzt mono vom Microsoft. Natürlich! Am 5.12.2019 um 16:04 schrieb Lightstorm: Ist .Net 4 nicht eine höhere Version als Net. 2.0? Oder werden beide Stränge für sich alleine weiter entwickelt? Man kann derzeit zwischen net 2.0 standard under net 4.x auswählen. Das sind eigentlich keine Versionen sondern Paketzustellungen. Früher konnte man auch Net 3.5 auswählen. Wichtig ist hier zu unterscheiden, dass wenn dahinter standard steht, dass es nicht das gleiche ist wie, ohne Standard. Standard heißt, dass da bis zu bestimmte libraries, versionen usw enthalten sind. beispiel Framework, Core, Mono usw. Die Schreibweise ist um das zu erkennen ist: Zitat netstandard2.0 Zusammenstellung für 4.x net40 net403 net45 net451 net452 net46 net461 net462 net47 net471 net472 net48 Net 4.x bedeutet, dass höchst mögliche soll erlaubt werden beim Programmieren. z.B. .Net Framework 4.7.2 usw. Unity Editor natürlich muss das unterstützen. Sonst geht es nicht. Am 5.12.2019 um 16:04 schrieb Lightstorm: Die neuen Features von C# 8 werden laut Microsoft Webseite von .Net 2.1 unterstützt. Was bei mir wieder für Verwirrung sorgt weil ich intuitiv meinen könnte das doch .Net 4 die aktuelle Version ist und Neuerungen darauf aufbauen und nicht auf älteren Versionen. Siehe oben Am 5.12.2019 um 16:04 schrieb Lightstorm: Hinzu kommt das Visual Studio 2019 C# 8 Features unterstützt und sie erfolgreich validiert aber der Unity Editor spuckt nach dem compilieren Fehler aus. z.B. nimmt der VS 2019 eine Switch Expression (C# 8 Feature) an, mit annehmen meine ich dass nichts rot unterstrichen ist. Aber der Unity Editor gibt Fehler an der Stelle an. Unity hat ist noch nicht bei der Framework Version. Deswegen geht es noch nicht. Am 5.12.2019 um 16:04 schrieb Lightstorm: Laut Unity Forum ist eine Unterstützung für C# 8 für 2020 geplant. Macht wohl Sinn. Unity unterstützt den .Net 2.0 Standard. C# 8 Features setzen aber .Net 2.1 Standard voraus Ich glaube standard 2.1 wird das nicht werden. Wird eher immer noch net 4.x sein, da wie ich oben schrieb standard auch viele Sachen hat die wir aber nicht in Unity brauchen. Net 4.x sollte nur die Framework Version sein. 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.