【问题标题】:Dnx451 vs NetFrameworkDnx 451 与网络框架
【发布时间】:2015-11-30 23:40:50
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: asp.net-core dnx


    【解决方案1】:

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

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

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

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

    如果您不以 dnxcore50 为目标,那么 dnxcore50 将不会构建,您将无法跨平台运行。

    如果您同时针对 dnx451 和 dnxcore50,那么您必须小心使用对两者都有效的东西,或者您必须在不兼容的部分周围使用#if。

    如果你只针对 dnx451,那么你可以使用 dnxcore50 中不支持的东西,但你不能在 .net core 上运行它

    【讨论】:

      【解决方案2】:

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

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

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

      是的

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

      是的

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-27
        • 2016-01-17
        • 1970-01-01
        • 2010-12-21
        • 1970-01-01
        • 1970-01-01
        • 2020-05-02
        • 2023-03-30
        相关资源
        最近更新 更多