什么是Visual Studio 2015中的DNX?如何使用它?

卡托

什么是Visual Studio 2015中的DNX?如何使用它?

我看到DNX是Dot Net执行环境。我想知道的是它到底是什么以及如何使用?

汤玛士

DNX是.Net的SDK,与.Net Framework相似但完全不同。差异很大,包括诸如

  • API大小:共享该API的地方是相同的,但是它是.Net Framework的子集。框架库称为CoreFx,来自Windows应用商店和Silverlight API包。CoreFx库软件包可以直接实现(dnxcore50),也可以是.Net Framework的类型转发器(dnx46)。请注意,.Net Framework的80%是诸如WPF和WinForms之类的应用程序模型或诸如WMI之类的Windows库,...在大多数情况下,这些库没有使用。
  • 运行时支持:SDK可以在.Net Framework运行时(Windows)或CoreCLR(Windows,Mac,Linux,FreeBSD)或Mono(Windows,Mac,Linux等)之上运行。
  • 部署模式:包括运行时在内的库都部署到应用程序的文件夹中。这样可以防止由于Framework更新而导致的错误,并且还允许Microsoft以更“危险”的方式发展.Net生态系统。
  • 编译模式:DNX具有集成的编译管道(基于Roslyn),可实时编译源代码,因此您可以直接从内存中编译的源代码直接运行软件,而无需文件(模糊了运行时间和设计时间之间的差异)。特别适用于ASP.Net方案。支持预编译。
  • 平台集成:DNX不是平台集成的(意味着:您必须像使用mono或java一样调用它)。
  • NuGet Everything和新项目系统:clr,库(第1,第2和第3)和应用程序模型都是NuGet软件包。默认情况下,项目可以输出NuGet软件包。在新项目系统中,源代码项目,NuGet软件包和DLL具有相同的优先级。
  • 开源:CoreCLR,CoreFx,Roslyn,DNX,ASP.Net都是经过MIT或Apache 2许可的开源。

DNX SDK从ASP.Net团队演变而来,并由.Net Framework团队的CoreCLR和CoreFx项目提供支持。CoreFx / CoreCLR / Roslyn模块(与DNX不同)也被其他SDK(例如面向其他功能(如本机编译和WinRT应用程序模型)的Universal Windows Platform(UWP)使用。

现在是丑陋但好消息:

  • 像UWP这样的DNX本质上是对Microsoft提供的.Net的重大清理,而经典的.Net Framework即将维护(这没什么不好)。我们的.Net Framework知识仍然有用,但是我们必须重新学习我们的平台。
  • UWP用于桌面应用程序。它是Windows团队的首选模型。WPF和WinForms不是首选方法,实际上已过时。放手吧。
  • DNX用于Web开发和服务器应用程序(本质上是相同的)。
  • Windows不再是Microsoft的唯一平台。他们使用其他平台,例如Linux(云)和Mac(开发人员)。他们的Android和iOS产品阵容均支持Xamarin。
  • 这是图书馆和第三方的地狱。欢迎来到2015年。IMO在这里没有什么好处。

这确实很好,并且保持了.Net的相关性(例如,Node.js)。

在Visual Studio 2015中,您可以使用ASP.Net 5项目模板来利用它。

ps:再次写了很多,读得太晚了。希望能帮助到你!

pps:请注意... DNX是历史。CLI接管了。.涵盖了它的大部分特性,但不是全部。

ppps:此评论不再反映.NET Core(DNX最终在其中发展)。.NET Core和更高版本的“ .NET 5”是完全不同的野兽。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么在Visual Studio 2015上valarray这么慢?

为什么此代码会使Visual Studio 2015崩溃?

什么是Visual Studio Code中的“工作区”?

Visual Studio如何处理删除的指针,为什么?

如何在Visual Studio 2015中修复DNX / DNVM?

在Visual Studio中什么是可行的文本间距方法

什么是Visual Studio Code?

如何强制Visual Studio使用DNX的特定版本

Visual Studio 2013:如何找出谁签出了什么

Visual Studio 2015表示“广播是多余的”。为什么?

Visual Studio 2015中WPF Windows顶部的功能是什么

为什么在Visual Studio 2015中无法编辑并继续工作?

为什么在Visual Studio 2015中找不到引用的组件在Visual Studio 2017中找不到

Visual Studio 2017中源文件的默认编码是什么

为什么在Visual Studio 2017中Python损坏了?

什么是Visual Studio的“显示项”中的“ C ++变量”?

什么是Visual Studio 2013中的假冒程序集?

“ Visual Studio代码”安装程序使用什么?

什么是Visual Studio 2015中的“ Roslyn代码修复”?

visual studio 2015和visual studio 2015实验实例之间有什么区别

什么是PRE Visual Studio 2015

Visual Studio 2015中的编译器是什么

Visual Studio 2015中的Iostream

如何使用config.json为Visual Studio 2015 / DNX项目设置特定于环境的变量?

在Visual Studio 2015中切换DNX版本?

为什么我不能在Visual Studio 2015中使用TypeScript 1.8

如何更新 Visual Studio 2015?

如何卸载 Visual Studio 2015

如果我使用 Visual Studio Code,我在 Visual Studio 中错过了什么?