这是DNX的描述:
.NET执行环境(DNX)是一个软件开发工具包(SDK)和运行时环境,它具有为Windows,Mac和Linux构建和运行.NET应用程序所需的一切。它提供了一个主机进程,CLR托管逻辑和托管入口点发现。DNX是为运行跨平台ASP.NET Web应用程序而构建的,但它也可以运行其他类型的.NET应用程序,例如跨平台控制台应用程序。
DNX是否可以替代Mono?如果没有,那会有什么区别?
DNX是否可以替代Mono?如果没有,那会有什么区别?
Mono是一个开源的开发平台。它的实现基于CLI规范,例如Microsoft提供的平台。它包括一个C#编译器,一个运行时,一个BCL和一个称为MCL(Mono类库,它是BCL的扩展)。Mono本身可以在各种体系结构的Linux,OS X,BSD和Windows上运行。
DNX是一个SDK,其中包含构建和运行应用程序所需的所有位(包括自定义实用程序,例如dnu
用于构建和打包应用程序的自定义实用程序),其中包括CLR(当前它与CoreCLR一起部署)。此CoreCLR也可以通过Mono进行切换,这意味着它将占用Mono运行时,编译器等的所有服务。
与DNX相对,Mono提供了完整的平台(运行时,BCL,JIT等)。DNX在最低级别用作调用CoreCLR的本机进程。DNX将用于诸如自托管或从命令行构建和运行之类的方案。
正如@xanatos指出的那样,DNX希望能够随应用程序一起交付运行时,其中多个运行时将能够并存而不互相干扰。
也许这张图可以说明:
这是DNX可以在其上运行的列表(x86显示为默认值的两倍):
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
有一个扩展的Wiki页面,介绍DNX结构的更多信息。@Will也会指出ASP.NET文档页面。
DNX现在已经退休,转而使用.NET CLI工具。
现在已淘汰.NET CLI工具,转而使用dotnet sdk
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句