VS 2015 中新 MVC6 项目的目标运行时

Targeting Runtime for New MVC6 Project in VS 2015

我在 Windows 7.ASP.NET beta 7 上使用 VS 2015。

当我在 VS2015 中创建一个针对 .NET 4.6 框架的新 MVC6 项目时,我的项目引用如下所示:

DNX 4.5.1
DNX Core 5.0

我不想为跨平台创建,并希望我的引用看起来像这样(来自其他 tutorials):

ASP.NET 5.0
ASP.NET Core 5.0

来自 ASP.NET 5.0 文档:

我在 VS 2015 中看到的内容(没有 dnx 的复选框选项):

我应该手动破解 project.json 文件吗?

"frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  },

您可以使用的文档 select 该平台来自 ASP.NET 5 的先前测试版或预览版,因此对任何人都无效。

您的 project.json 看起来是正确的。

DNX 是一个执行环境,可以运行 在各种底层 .NET 框架上,包括 .NET 框架 4.5.1、4.5.2 或最新的 .NET 框架 4.6。

.NET Core 5 不是 .NET Framework 5,而是一个模块化 运行 时间和库实现,包括 .NET Framework 4.X 的一个子集。所以你可以称它为 mini .NET 4X。它不是 Windows 的最新版本的 .NET 框架。最新版本为 .NET Framework 4.6

如果您将 project.json 默认设置为

"frameworks": {
    "dnx451": { },
    "dnxcore50": { }
 },

然后当您发布项目时,您将能够发布到 .NET Core 或 .NET Framework。

clr-win = .NET Framework windows

core-clr-win = .NET 核心

如果您不想创建跨平台,您可以将 project.json 编辑为

"frameworks": {
    "dnx451": { },
 },

并且当您发布网站时,您将无法看到 .NET Core 的目标 DNC 版本作为一个选项。

如果您需要使用更高版本的 .net 功能,或者如果您希望包含和引用 class 库,该库本身针对您的项目的更高版本的 .net 框架,您需要更改您的project.json 以相同或更新的 .net 框架版本为目标,例如dnx452 或 dnx46

例如

 "frameworks": {
    "dnx46": { },
 },

只要您保存 project.json 文件,您的项目就会自动更新。可以在输出中查看进度window.