为啥默认的 mvc6 模板针对多个 DNX 版本?

Posted

技术标签:

【中文标题】为啥默认的 mvc6 模板针对多个 DNX 版本?【英文标题】:Why does the default mvc6 template target multiple DNX Versions?为什么默认的 mvc6 模板针对多个 DNX 版本? 【发布时间】:2015-06-05 13:04:25 【问题描述】:

使用 asp.net 5 创建新的 MVC 6 项目时,会同时引用 DNX 451 和 DNXCore50。 为什么要引用多个 DNX 版本?它们都是必需的吗?

【问题讨论】:

还有许多其他资源(包括关于 SO),您可以在其中了解差异,例如 ***.com/q/26908049/195653。 @rdans 很好地涵盖了(原始)问题的其余部分! 【参考方案1】:

DNSCore50 使用 .net 核心,DNX451 使用 .net 框架。引用它们意味着您可以为这两个目标构建。

如果您不想同时为两者构建,可以删除其中一个。

您可能希望同时保留两者的原因可能是您正在创建一个库,您希望它可用于两种类型的外部项目。

您可能不想同时保留两者的原因可能是您使用的外部库仅对其中一个可用(很有可能您最喜欢的大多数库都只是框架),或者您可能需要使用尚未在 .net core 中实现的框架代码。

【讨论】:

以上是关于为啥默认的 mvc6 模板针对多个 DNX 版本?的主要内容,如果未能解决你的问题,请参考以下文章

使用动作约束时在 MVC 6 中使用 Swagger 的多个 Api 版本

DNX / .NET Core 程序集版本控制:4.0.0 与 4.0.10

找不到 DNX 运行时 dnx-clr-win-x86.1.0.0-beta-001598

tp5.0 修改了默认控制器,为啥样式路径都不对了

在 Mono 上运行 ASP.NET 5 的 Ubuntu 上使用 MVC 6 调整图像大小

dnxcore50可以引用针对.net4.5编译的nuget包吗