Dnx451对比NetFramework

时间:2015-11-30 13:39:52

标签: asp.net-core dnx

根据我的理解,如果我的应用程序目标DNX Core,主机不需要安装.net框架,因为DNX本身提供托管环境(CLR和所有依赖关系作为部署包的一部分),这也有意义理解为什么它可以通过为不同平台提供不同的dnx类型的执行环境来跨平台。

但是,我无法建立我对DNX451的理解 - 因为DNX451代表完整的NetFramework。

如果我的应用程序以DNX451为目标,那么我还需要在主机上安装.Net Framework,对吗?

如果我的ASP.NET 5应用程序仅针对DNX451(不是DNX CORE),那么它不支持跨平台,对吧?

简而言之,我需要了解针对DNX451与.NET Framework的差异btw定位应用程序?

2 个答案:

答案 0 :(得分:1)

如果您的目标dnx451与桌面框架相对应。

如果您的目标dnxcore50与跨平台.net核心相对应。

构建时,可以生成包含每个目标的构建的nuget。

当您在桌面框架上运行它时,它将使用桌面框架的构建,当您在dnxcore50上运行它时,它将使用dnxcore50的构建。

如果您没有定位dnxcore50,那么dnxcore50将无法构建,您将无法运行跨平台。

如果您同时定位dnx451和dnxcore50,那么您必须小心使用两者兼有的东西,或者必须围绕不兼容的部分#if。

如果您只定位dnx451,那么您可以使用dnxcore50不支持但不能在.net核心上运行它的东西

答案 1 :(得分:1)

  

简而言之,我需要了解btw目标应用的差异   对于DNX451与.NET Framework?

您不能直接将dnx应用程序定位到.Net Framework(我的意思是net4x缩写,关于我们可以阅读here的不同目标的缩写),到.Net Framework({{1你只能定位net4x - 可以使用dnx应用程序。 portable class library (package)表示.net execution environment内部使用.net框架4.5.1。当您使用.Net core

定位到dnxcore,dnx时
  

如果我的应用程序以DNX451为目标,那么我还需要在主机上安装.Net Framework>对吧?

  

如果我的ASP.NET 5应用程序仅针对DNX451(不是DNX CORE),那么   它不支持跨平台,对吗?