Visual studio 2015 project.json frameworks元素是什么意思&;使用哪种框架?

Visual studio 2015 project.json frameworks元素是什么意思&;使用哪种框架?,visual-studio-2015,asp.net-core-mvc,dnx,project.json,Visual Studio 2015,Asp.net Core Mvc,Dnx,Project.json,当您在Visual Studio 2015中基于ASP.NET项目模板创建新项目时,您将在project.json中获得以下frameworks元素 "frameworks": { "dnx451": { }, "dnxcore50": { } }, 如果向解决方案中添加类库,frameworks元素如下所示: "frameworks": { "dotnet": { } } 现在这些不同的框架是什么?我需要所有这些框架吗?例如,如果我希望此库从sql serv

当您在Visual Studio 2015中基于ASP.NET项目模板创建新项目时,您将在project.json中获得以下frameworks元素

"frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  },
如果向解决方案中添加类库,frameworks元素如下所示:

"frameworks": {
    "dotnet": { }
  }
现在这些不同的框架是什么?我需要所有这些框架吗?例如,如果我希望此库从sql server访问数据,我可以使用dnx451还是必须使用dotnet

在ASP.NET 5的早期版本中,建议去掉dnxcore50。还是这样吗?例如,为什么要使用dnx451而不是dnxcore50


“dotnet”框架指的是.NET的哪个版本?

Visual Studio根据
frameworks
部分中列出的所有框架交叉编译所有代码。因此:

dnx451
dnx46
等等。这是一个完整的.NET framework,在启动期间,
DNX
将引导安装的.NET framework 4.5.1或4.6版本

dnxcore50
是新的.NET核心,它使用CoreCLR运行时和CoreFX库,这是微软的开源项目,是.NET Framework的子集,旨在可移植和跨平台。如果您不针对它进行编译,也不关心跨平台开发或.NETCore提供的其他好处,您可能会放弃它。另一方面,如果.NETCore不提供您所需的功能,如WCF(服务器端)、WPF、反射API(只有一个子集)、应用程序域,则必须将其删除。可以通过或从sql server访问数据

dotnet
老实说,我不知道它是什么-当前的文档没有提到这种框架的存在,也没有提供任何可以在这里使用的有效字符串列表。Visual Studio工具在解析框架方面似乎非常自由(例如,
'451'
==
'net451'
)。至少对我来说,它是为.NET4.0编译的

斯科特·艾伦(Scott Allen)对如何选择dnx口味有自己的看法。 还有关于如何选择正确的.NET的文档页面(我认为非常粗略)

您可能有兴趣查看源代码,以检查.NET Core是否提供了所需的软件包。

我发现了这一点:Oren Novotny解释了您在
框架中可能使用的不同风格。信息量很大,但没有说明如何选择。而且可能已经过时了(6月撰写的文章)