Ist DNX Alternative von Mono? Wenn nicht, was wird der Unterschied sein?
Mono ist eine Open Source Entwicklungsplattform. Die Implementierung basiert auf der CLI-Spezifikation, z. B. der von Microsoft bereitgestellten Plattform. Es enthält einen C# -Compiler, eine Laufzeitumgebung, eine BCL und eine so genannte MCL (Mono Class Library, eine Erweiterung der BCL). Mono selbst kann unter Linux, OSX, BSD und Windows auf verschiedenen Architekturen laufen.
DNX ist ein SDK erforderlich, um alle der Bits enthält, um eine Anwendung zu erstellen und auszuführen (einschließlich kundenspezifischer Dienstprogramme wie der dnu
die verwendet wird, zu bauen und den App-Paket), einschließlich der CLR (derzeit setzt es mit CoreCLR). Diese CoreCLR kann auch mit Mono geschaltet werden, was bedeutet, dass sie alle Dienste der Mono-Laufzeit, Compiler, etc. verbraucht.
Mono im Gegensatz zu DNX bietet die volle Plattform (Runtime, BCL, JIT, etc). DNX wird auf der niedrigsten Ebene als der Native-Prozess verwendet, der die CoreCLR aufruft. DNX würde für Szenarien wie Self-Host oder das Erstellen und Ausführen von der Befehlszeile verwendet werden.
Wie @xanatos hervorhebt, möchte DNX in der Lage sein, die Laufzeit mit der Anwendung zu liefern, wobei mehrere Laufzeiten Seite an Seite nebeneinander existieren können, ohne sich gegenseitig zu stören.
Vielleicht kann dieses Bild verdeutlichen:
Hier ist die Liste, die DNX oben laufen kann (x86 zeigt zweimal, wie es der Standard ist):
Active Version Runtime Architecture Location Alias
------ ------- ------- ------------ -------- -----
* 1.0.0-beta2-10735 clr x86 C:\Users\victorhu\.dnx\runtimes default
1.0.0-dev clr x64 C:\Users\victorhu\.dnx\runtimes clr-x64-dev
1.0.0-dev clr x86 C:\Users\victorhu\.dnx\runtimes clr-x86-dev
1.0.0-dev coreclr xd64 C:\Users\victorhu\.dnx\runtimes coreclr-x64-dev
1.0.0-dev coreclr x86 C:\Users\victorhu\.dnx\runtimes coreclr-x86-dev
1.0.0-dev mono C:\Users\victorhu\.dnx\runtimes mono-dev
There ist umfangreiche wiki page Erläuterung der DNX-Struktur für mehr. @Will weist auch auf die hin.
Update: 25/02/2016
DNX jetzt für .NET CLI Tools im Ruhestand ist.
Versucht, als Duplikat abzustimmen: http://StackOverflow.com/Questions/28379462/CoreClr-und-Projekt-Mono-Beziehung-nach-Microsoft-Open-Sourced-the-Net-Roa – nawfal