ASP.NET Core(ASP.NET 5)应用程序中提供了哪些框架?
我已经看到了在project.json文件中使用的各种框架,使用诸如netcore50
, dotnet
, dnx451
, net45
等名称。 “framework”部分的文档project.json并没有(但是)指定如何将这个部分用于不同的框架。
什么框架是可用的,应该在project.json中使用什么名称来定位每个?
更新3
完整列表请参阅目标框架 。
ASP.NET应用程序开发人员需要了解的最常见的TFM是:
-
netcoreappx.y
=以.NET Core xy为目标的应用程序(例如netcoreapp1.0
= .NET Core 1.0) -
netstandardx.y
=一个以.NET Standard xy为目标的库。 (例如netstandard2.0
= .NET标准2.0)。 .NET标准库可以在桌面.NET,Windows Phone,Mono等等上运行。 -
net4xy
=面向桌面.NET Framework 4.xy的库或控制台应用程序(例如,net452
或net46
)
更新2 (2015年12月9日)
现在可以从dotnet获得一些官方的文档。 请参阅.NET平台标准→Nuget
对于面向遵循.NET标准的多个平台的库,这些TFM(目标框架标记)是可用的
更新 (2015年8月12日)
这个Nuget博客post显示了可用于nuget的额外TFM。 它也解释了dotnet
TFM。
原始回应
虽然这不是官方文档, 但Oren Novotny的博客文章有一个很好的表格,显示了不同的目标框架标记。
截至目前,只有两个三个任何包支持。
.Net Framework 4.5.1 = dnx451 .Net Framework 4.5.2 = dnx452 .Net Core 5.0 = dnx50
.NET Framework 4.6.0(dnx46)将在不久的将来发布。
仍然取决于你的意思是“可用”。 任何人都可以发布一个新的框架是他们想要的,那个猫现在已经不在了。 但是,默认情况下,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)
编辑:在早期的testing版本中也有一个aspnet50和aspnetcore50,但它们已被弃用,应分别用dnx451和dnxcore50replace。
- WCF – 如何增加邮件大小配额
- 参数化查询与SQL注入
- Web API路由 – api / {controller} / {action} / {id}“function障碍”api / {controller} / {id}
- 可能添加MIMEtypes到web.config而不可能破坏网站?
- ASP.NET MVC自定义error handlingApplication_Error Global.asax?
- unit testing一个asp.net应用程序时如何使用web.config
- 名称“controlname”在当前上下文中不存在
- 无法识别的属性“targetFramework”。 请注意,属性名称区分大小写
- 从C#中的DataTable中删除列