ASP.NET 核心 (ASP.NET 5) 应用程序中有哪些可用框架?

What frameworks are available in ASP.NET Core (ASP.NET 5) applications?

我在 project.json 文件中看到了各种目标框架,使用 netcore50dotnetdnx451 等名称, net45, 等等。 documentation for the "framework" section project.json 没有(还)指定如何将此部分用于不同的框架。

有哪些框架可用,在 project.json 中应使用什么名称来定位每个框架?

截至目前只有 两个三个具有任何包支持。

.Net Framework 4.5.1 = dnx451 .Net Framework 4.5.2 = dnx452 .Net 核心 5.0 = dnx50

.NET Framework 4.6.0 (dnx46) 将于近期发布

还是要看你说的'available'是什么意思。任何人都可以发布他们想要的新框架,那只猫现在已经不在了。但是默认情况下,dnu 使用 project.json 通过查看 nuget.org 上的主要提要来查找依赖项。现在 nuget.org 这些是唯一的 dnx 框架依赖项。

例如,查看 microsoft.aspnet.mvc nuget 页面: https://www.nuget.org/packages/Microsoft.AspNet.Mvc/6.0.0-beta4

Dependencies

DNX 4.5.1
Microsoft.AspNet.Authorization (≥ 1.0.0-beta4)
Microsoft.AspNet.Cors (≥ 1.0.0-beta4)
Microsoft.AspNet.Mvc.Razor (≥ 6.0.0-beta4)
Microsoft.Framework.Caching.Memory (≥ 1.0.0-beta4)

DNXCore 5.0
Microsoft.AspNet.Authorization (≥ 1.0.0-beta4)
Microsoft.AspNet.Cors (≥ 1.0.0-beta4)
Microsoft.AspNet.Mvc.Razor (≥ 6.0.0-beta4)
Microsoft.Framework.Caching.Memory (≥ 1.0.0-beta4)

编辑:早期测试版中也有 aspnet50 和 aspnetcore50,但它们已被弃用,应分别替换为 dnx451 和 dnxcore50。

更新 3

完整列表请参阅 Target Frameworks

应用开发者需要了解的最常见的 TFM ASP.NET 是:

  • netcoreappx.y = 以 .NET Core 为目标的应用程序 x.y(例如 netcoreapp1.0 =.NET 核心 1.0)
  • netstandardx.y = 以 .NET Standard x.y 为目标的库。 (例如 netstandard2.0 = .NET Standard 2.0)。 .NET Standard 库可以在桌面 .NET、Windows Phone、Mono 等上工作。
  • net4xy = 面向桌面的库或控制台应用程序 .NET Framework 4.x.y (例如 net452net46)

更新 2(2015 年 12 月 9 日)

现在可以从 dotnet 获得一些官方文档。参见 .NET Platform Standard → Nuget

对于以遵循 .NET Standard 的多个平台为目标的库,可以使用这些 TFM(目标框架名字对象)。~

更新(2015 年 8 月 12 日)

This Nuget blog post 显示可用于 nuget 的其他 TFM。它还解释了 dotnet TFM。

原回复

虽然这不是官方文档,this blog post by Oren Novotny 有一个很好的 table 显示了不同的目标框架名字对象。