麓谷官网欢迎你访问长沙北大青鸟麓谷校区,支持你成为一个受人尊重的专业人才!
当前位置: 首页 > 青鸟知识 > net

.NET Core Tools 1.0版本发布,文件格式切换为csproj

来源:长沙北大青鸟|发布时间:2017-03-21|浏览量:

学IT,好工作

就读长沙岳麓职业培训学校

求学热线: 400-160-2868

  微软发布.NET Core Tools 1.0版本和.Net Standard

  微软发布.NET Core Tools 1.0版本,为.NET Core开发人员以及构建.NET Core和ASP.NET Core的应用程序提供了便利。此版本的发布标志着.NET Core项目文件格式正式切换为csproj风格的项目文件。以前.NET Core项目使用project.json格式,但现有项目可以在VS2017中迁移到新格式。虽然这是一种单向迁移,但备份是基于原始文件的。微软已经发布了VS2017的扩展,它为基于XML的项目文件(包括.csproj)提供了智能感知功能(IntelliSense)。

  .NET Core的另一个进步是正式引入.NET标准类库项目来替代可移植类库。符合.NET标准的项目和NuGet包可由.NET Framework、Xamarin和通用Windows应用程序引用。这样,在那些希望编写一个类库,而这个类库使用.NET Core或.NET Framework固有功能的情况下,每个类库都有特定的类库模板可用。

  用VS2015的.NET Core开发人员须升级到VS2017才能使用1.0版本提供的新工具。与此同时,命令行和Visual Studio Code也支持这些工具,这是不升级Visual Studio而又可以使用这些工具的替代方法。

招生简章.jpg

  目标框架别名(TFM)

  目标框架别名是.NET Core中应用程序所针对的框架类型+版本号的ID。我们可以把别名分成两个不同的类型:跨平台的目标.Net Standard和平台实现,如.Net 4.6、.Net Core 1.0和Xamarin。

  .Net Standard

  .Net Standard库是.Net Core可移植性的核心。其目的是定义标准的API集。这些API,如集合、线程、反射,是由.Net Core、.Net 4.5、Xamarin和Mono等平台实现的。它们是开发人员用来构建自己的库和应用程序的基本构建块。

  从1.0到2.0,.Net Standard的每个版本都定义了一组特定的库。下面的代码直观地展示了标准库和平台之间的关系:

  interface INetStandard10

  {

  void Primitives();

  void Reflection();

  void Tasks();

  void Collections();

  void Linq();

  }

  interface INetStandard11 : INetStandard10

  {

  void ConcurrentCollections();

  void InteropServices();

  }

  interface INetFramework45 : INetStandard11

  {

  //特定于平台的API

  void AppDomain();

  void Xml();

  void Drawing();

  void SystemWeb();

  void WPF();

  void WindowsForms();

  void WCF();

  }

  CoreFx GitHub库提供了所有API的列表及其相关的netstandard版本。

  框架/运行时别名

  除netstandard之外的别名是可以让应用程序在其中运行的、实际的运行时环境。对于新应用程序,常用的别名如下:

  .NET Core - netcoreapp

  .NET Framework - net

  Universal Windows Platform - uap

  Xamarin IOs - xamarinios

  Mono Android - monoandroid

  下面是一个简单的平台选择指南:

  应用开发人员:编码应以netcoreapp1.0、uap10.0、net452、xamarinios等TFM为目标平台;

  包/库作者:尽量以netstandard的最低版本为目标,那样可以在所有支持那个netstandard版本以及更高版本的平台上运行。

  .Net Core和netcoreapp1.0比较

  虽然表面上看起来相似,但.Net Core和netcoreapp1.0的意思完全不同。.Net Core这个叫法中没有版本号,通常用于描述实现.Net模块化、解决多个平台之间二进制兼容性问题的总体方案。但是,netcoreapp1.0有更具体的意义。它是可以在Windows、Mac OS和Linux上运行的跨平台运行时的别名。简而言之,.Net Core既可以指跨平台的方案,也可以指跨平台的运行时,这要视情况而定。

  关于这一点,一个具体的应用场景是从Asp.Net迁移到Asp.Net Core时依赖项不支持.Net Core的问题。如果只是想以.Net Framework为目标平台,则这种迁移是可能的。例如,这让你可以使用Asp.Net Core,但仍然以.Net 4.6为目标平台。

上一篇:.NET Framework4.6.2发布:加密特性增强

下一篇:如何破解.net程序并进行编译和反编译

扫码关注微信公众号了解更多详情

跟技术大咖,专业导师一起交流学习

姓名
电话
Q Q

在线留言

请您把问题留下,我们为您提供专业化的解答!

QQ咨询
  1. 招生问答
  2. 热门点击
  3. 最新更新
  4. 推荐文章

关于我们

学校成就

就业保障

联系方式

联系电话:400-160-2868

在线报名

预约报名

备案号:湘ICP备2020021619号-1
地址:湖南省长沙市高新区麓谷麓松路679号 版权所有:长沙市岳麓职业培训学校

在线咨询
课程咨询 学费咨询 学费分期 入学测试 免费预约 来校路线
初中生 高中生 待业者
400-160-2868

在线客服