您的位置:首页 > 其它

什么是目标框架别名(What are the Target Framework Monikers (TFMs))?

2016-07-21 11:51 302 查看



我们现在的.NET Core 1.0应用(ASP.NET Core 1.0应用或控制台应用)有了新的被运行在不同框架上的可能性:①运行在.NET Core平台上 ②运行在传统的.NET Framework 4.5.x 上(对很多企业级应用来说仍然是一个至关重要的框架)。相对传统的.NET Framework 4.5.x(体积大、臃肿但全面) ,.NET Core平台栈和类库变得更加小和轻量化了。


什么是目标框架别名(Target Framework Monikers)

目标框架别名就是框架名称(Framework)+版本(Version)的标识符(ID),在你的.NET Core应用中可以指定的目标框架。

到目前为止,可以选择使用的框架别名有如下这些:

“netcoreapp10”针对.NET Core 1.0

“net45”、“net451”、“net452”、“net46”、“net461” 针对传统的.NET Framework版本

“portable-net45+win8” 针对PCL(Portable Class Libraries)--可移植的类库

“dotnet5.6”、“dnxcore50”针对.NET Core预览版(.NET Core RTM和.NET Core RC2以前的版本)

“netstandard1.2”、 “netstandard1.5”等针对 .NET Standard Platform



.NET平台[b]标准(.NET Platform Standard)[/b]

先用一张图直观的看看,.NET平台标准就是要把各自为政变为一统江湖。不管是开发传统的基于.NET Framework的应用还是开发基于.NET Core的应用,其依赖的底层类库都是一样的。这样就标准化了。



.NET Platform Standard别名"netstandard1.5"、"netstandard1.6"等的使用是有局限性的。当我们开发ASP.NET Core应用或Console应用时我们一般指定要在其上进行构建和运行的框架(Framework)。.NET Platform Standard别名仅仅是当我们开发包/类库时(也就是说我们是这些包/类库的作者或拥有者)才会使用到来指定哪些框架支持各自的类库。

通用的规则:

app的开发者:指定我们正在写的目标TFM,比如:netcoreapp1.0, uap10.0 , net452 , xamarinios 等;

包/类库的 作者:指定最低版本的.NET Platform Standard,比如:netstandard1.0以便你的类库可以向后兼容。

看一个具体的project.json配置



一般情况下我们开发.NET Core的应用时只需使用别名为:netcoreapp1.0的框架即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: