DNX は Mono の代替品ですか? そうでない場合、違いは何ですか?
Mono はオープンソースの開発プラットフォームです。その実装は、Microsoft が提供するプラットフォームなどの CLI 仕様に基づいています。これには、C# コンパイラ、ランタイム、BCL、および MCL (Mono Class Library、BCL の拡張機能) と呼ばれるものが含まれます。Mono 自体は、さまざまなアーキテクチャの Linux、OS X、BSD、および Windows で実行できます。
dnu
DNX は、CLR (現在はCoreCLRでデプロイされます) を含む、アプリケーション (アプリのビルドとパッケージ化に使用される などのカスタム ユーティリティを含む) のビルドと実行に必要なすべてのビットを含む SDK です。この CoreCLR は、Mono で切り替えることもできます。つまり、Mono ランタイム、コンパイラなどのすべてのサービスを使用します。
DNX とは対照的に、Mono は完全なプラットフォーム (ランタイム、BCL、JIT など) を提供します。DNX は、CoreCLR を呼び出したネイティブ プロセスとして最下位レベルで使用されます。DNX は、セルフホストやコマンド ラインからのビルドおよび実行などのシナリオに使用されます。
@xanatos が指摘するように、DNX は、複数のランタイムが相互に干渉することなく共存できるアプリケーションと共にランタイムを出荷できることを目指しています。
おそらく、この画像は明確にすることができます:

これは、DNX が一番上で実行できるリストです (x86 はデフォルトで 2 回表示されます)。
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
詳細については、DNX 構造を説明する広範なwiki ページがあります。@Will は、 ASP.NET のドキュメント ページも指摘しています。
更新: 2016 年 2 月 25 日
DNX は廃止され、.NET CLI ツールが使用されるようになりました。
更新: 2020 年 8 月 6 日
.NET CLI ツールは廃止され、dotnet sdkが優先されます