根据我的理解,如果我的应用程序目标DNX Core,主机不需要安装.net框架,因为DNX本身提供托管环境(CLR和所有依赖关系作为部署包的一部分),这也有意义理解为什么它可以通过为不同平台提供不同的dnx类型的执行环境来跨平台。
但是,我无法建立我对DNX451的理解 - 因为DNX451代表完整的NetFramework。
如果我的应用程序以DNX451为目标,那么我还需要在主机上安装.Net Framework,对吗?
如果我的ASP.NET 5应用程序仅针对DNX451(不是DNX CORE),那么它不支持跨平台,对吧?
简而言之,我需要了解针对DNX451与.NET Framework的差异btw定位应用程序?
答案 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
如果我的应用程序以DNX451为目标,那么我还需要在主机上安装.Net Framework>对吧?
是
如果我的ASP.NET 5应用程序仅针对DNX451(不是DNX CORE),那么 它不支持跨平台,对吗?
是