我们现在的.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平台标准(.NET Platform Standard)

先用一张图直观的看看,.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的框架即可。

什么是目标框架别名(What are the Target Framework Monikers (TFMs))?的更多相关文章

  1. 未能解析目标框架“.NETFramework,Version=v4.0”的 mscorlib的解决方法

    本人菜鸟一个,在编码过程中遇到的问题记录下以备忘,高手别笑.最近在做一个项目,公司的VS版本是2010,家里的VS版本是2012.把公司的项目用2012打开后再用2010打开就出现 未能解析目标框架“ ...

  2. visual studio 2010 C#编程时 没有.NET framework 2.0目标框架的解决办法

    解决办法是安装Framework .NET 3.5 Sp1 因为visual studio 2010是依赖.NET Framework 3.5 Sp1来识别其它版本的.NEt framework的. ...

  3. 未能解析目标框架“.NETFramework,Version=v4.0”的 mscorlib 错误的解决办法

    查看项目属性,发现该项目的目标框架是.NET Framework 4 Client Profile ,而被引用的程序集的目标框架是.NET Framework 4,将该项目的目标框架修改成.NET F ...

  4. 已使用.netframework,version=v4.6.1 而不是目标框架netcoreapp,version=v2.1 还原包,此包可能与项目不完全兼容

    已使用.netframework,version=v4.6.1 而不是目标框架netcoreapp,version=v2.1 还原包,此包可能与项目不完全兼容 NU1202: 包 System.Run ...

  5. 微软URLRewriter.dll的url重写在目标框架.Net Framework2.0、4.0和应用程序池经典模式、集成模式下的配置

    大家参考几篇园子里面的这篇文章: 文章1:微软URLRewriter.dll的url重写的简单使用 (讲解了使用UrlReWriter.dll的下载.web.config如何在目标框架2.0应用程序池 ...

  6. vs2015重新安装后,项目属性中的目标框架中没有framework4.6.1

    vs2015重新安装后,安装完后 项目属性中的目标框架中没有framework4.6.1,  控制面板的程序和功能中存在该安装包. 原因: NDP461-DevPack-KB3105179-CHS.e ...

  7. 错误 NETSDK1068: 框架依赖型应用程序主机需要一个至少 “netcoreapp2.1” 的目标框架

    错误 NETSDK1068: 框架依赖型应用程序主机需要一个至少 “netcoreapp2.1” 的目标框架 我有一个ASP.NET Core 2网站应用程序,编译运行都没有问题,但是发布时却出了错, ...

  8. .NET Standard SDK 样式项目中的目标框架

    系列目录     [已更新最新开发文章,点击查看详细] 包表示形式 .NET Standard 引用程序集的主要分发载体是 NuGet 包. 实现会以适用于每个 .NET 实现的各种方式提供. NuG ...

  9. .Net下引用多目标框架项目导致XAML无法识别类型的问题

    背景 我的项目(以下称为LibA)中有一个多目标框架编译的项目,即项目文件包含如下代码: <PropertyGroup> ... <TargetFrameworks>netco ...

随机推荐

  1. 开发者app 上传收集

    直接使用酷传  看各个市场目录 http://publish.coolchuan.com/myaccount/accounts 注册帐号 百度开发者 http://jingyan.baidu.com/ ...

  2. MySQL实现类似Oracle的序列

    MySQL实现类似Oracle的序列 2013-10-22 10:33:35     我来说两句      作者:走过的足迹 收藏    我要投稿 MySQL实现类似Oracle的序列   Oracl ...

  3. 一起做RGB-D SLAM 第二季 (二)

    本节目标 我们要实现一个基本的文件IO,用于读取TUM数据集中的图像.顺带的,还要做一个参数文件的读取. 设计参数文件读取的类:ParameterReader 首先,我们来做一个参数读取的类.该类读取 ...

  4. visual studio 2013 秘钥

    #visual studio 2013# 有效密钥:BWG7X-J98B3-W34RT-33B3R-JVYW9

  5. 用CSS让未知高度内容垂直方向居中

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title> ...

  6. Knockout 新版应用开发教程之Observable Arrays

    假如你想到侦测和相应一个对象的改变,假如你想要侦测和响应一一组合集的改变,就要用observableArray 在许多场景都是很有用的,比如你要在UI上需要显示/编辑的一个列表数据集合,然后对集合进行 ...

  7. DDD:小议 BoundexContext 设计

    背景 看了这篇文章:Coding for Domain-Driven Design: Tips for Data-Focused Devs,对 BoundedContext 的设计有了一点新的体会,记 ...

  8. GNOME3任务栏、标题栏过宽问题

    Debian 7.0 默认安装的是GNOME 3.4.2桌面系统,缺省状态下,用户会发现桌面系统的桌面任务栏及标题栏宽度太大,影响美观,同时也浪费屏幕显示的有效宽度,针对这个问题我们可以通过以下方式进 ...

  9. Testing - Selenium

    Selenium http://www.seleniumhq.org/ User Guide http://www.seleniumhq.org/docs/ Webdriver中文社区 http:// ...

  10. [Solution] 1分钟使用log4net

    log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具 官网:http://logging.a ...