大家都知道Java是跨平台的,.NET因为不具有跨平台的特性,被越来越多的开发者诟病,之前有各种间接的跨平台的方案,比如mono。但是由于各种兼容问题,最终 .NET Core出现了,它可以让程序在Window,macOS,Linux等系统上的开发和部署,并且可以在硬件设备,云服务,和嵌入式/物联网方案中进行使用。同时,微软也正在逐步将.NET Core的相关技术开源,相信.net core 实现稳定高效的跨平台。所以,最近有时间,打算总结一下 .Net Core 的相关知识。

为什么要使用 .NET Core?

首先为什么要使用core:

ASP.NET Core 是重新设计的 ASP.NET,更改了体系结构,形成了更精简的模块化框架。

ASP.NET Core 具有如下优点:

  • 生成 Web UI 和 Web API 的统一场景。
  • 集成新式客户端框架和开发工作流。
  • 基于环境的云就绪配置系统。
  • 内置依赖项注入。
  • 轻型的高性能模块化 HTTP 请求管道。
  • 能够在 IIS、Nginx、Apache、Docker 上进行托管或在自己的进程中进行自托管。
  • 定目标到 .NET Core 时,可以使用并行应用版本控制。
  • 简化新式 Web 开发的工具。
  • 能够在 Windows、macOS 和 Linux 进行生成和运行。
  • 开放源代码和以社区为中心。

ASP.NET Core 可以作为组件直接在 NuGet中安装使用。

.NET Core的特性

  • 跨平台
    可以在Windows,macOS,Linux上运行

  • 灵活的部署机制

    1.便携式应用(Portable applications)
    这种部署机制和传统的.NET Framework相似,只要目标平台上存在.NET Core Runtime即可。

    2.自宿主应用(Self-contained application)
    顾名思义,这种部署机制将应用和运行时共同打包,即便目标平台上没有安装.NET Core Runtime也能正常使用

  • 命令行工具
    .NET程序所有的运行脚本都可以用命令行工具执行。

如何跨平台?

先来看一下.NET Framework和Core的大体结构:

其实.NET Framework本身是个"跨Windows"的平台, 像C#和VB等语言都遵守CLS, 编译成CIL执行。从我们多层架构设计的角度来看,.NET Core 重做了一个CoreCLR的运行时,更换最底层,从而实现"跨平台"。

开发环境安装

.net core 系统环境要求:

系统: windows 7 sp1 以上

Visual Studio::  2017 15.3版本以上

需要安装的组件:

  • ASP.NET 和 Web 开发
  • .NET Core 跨平台开发

具体步骤如下:

1. 首先下载在线安装exe,官网地址:https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/

2. 运行下载目录中的vs_Enterprise.exe安装。

都是简单的安装步骤,直接下一步即可。只是下载慢,安装时间比较长。

最后

以上,已经把对.net core 简单介绍完了,安装也很简单。后面会将具体的.net core 的开发。

ASP.NET Core系列(一): .NET Core简介及安装开发环境的更多相关文章

  1. Redis系列(一):Redis的简介与安装

    原文链接(转载请注明出处):Redis系列(一):Redis的简介与安装 什么是 Redis Redis 是一个使用ANSI C 编写的开源.支持网络协议.基于内存.可选持久性的键值对数据库,它是一个 ...

  2. SLAM+语音机器人DIY系列:(五)树莓派3开发环境搭建——1.安装系统ubuntu_mate_16.04

    摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认识.接下来就正式进入机器人大脑(嵌入式主板:树莓派3)的开发.本章将从树莓派3的开发环境搭建入手,为后续ros开 ...

  3. 1.Struts2简介和Struts2开发环境搭建

    一.Struts2简介: 1.什么是Struts2? 著名的SSH三大框架分别为:表现层(Struts).业务逻辑层(Spring),持久化层(Hibernate). Struts2是在WebWork ...

  4. PostgreSQL系列一:PostgreSQL简介与安装

    一.PostgreSQL简介     1.1 PostgreSQL概述             PostgreSQL数据库是目前功能最强大的开源数据库,支持丰富的数据类型(如JSON和JSONB类型. ...

  5. Redis系列(一)——简介及安装

    摘自:redis中文网(http://www.redis.net.cn/) 参考:http://www.cnblogs.com/hoojo/p/4466024.html,http://keenwon. ...

  6. Angular2入门系列教程1-使用Angular-cli搭建Angular2开发环境

    一直在学Angular2,百忙之中抽点时间来写个简单的教程. 2016年是前端飞速发展的一年,前端越来越形成了(web component)组件化的编程模式:以前Jquery通吃一切的田园时代一去不复 ...

  7. 【Xamarin挖墙脚系列:打造独特的Xamarin.IOS开发环境】

    苹果的产品,依赖特定的开发环境. Mac  +  Xcode  不可缺少.所以,必须有Mac系统. 1-虚拟机搭建 2-土豪有Mac电脑设备 但是我觉得还是顺带上Visual Studio才是完美.. ...

  8. go系列(1)- linux下安装go环境

    安装GO 打开安装包下载地址,查看linux下go的最新版本 https://golang.google.cn/dl/ 经查看go的最新版本为go1.11.4.linux-amd64.tar.gz 右 ...

  9. vue + ArcGIS 地图应用系列一:arcgis api本地部署(开发环境)

    封面 1. 下载 ArcGIS API for JavaScript 官网地址: https://developers.arcgis.com/javascript/3/ 下载地址:http://lin ...

随机推荐

  1. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.

    Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when ...

  2. UWP使用AppService向另一个UWP客户端应用程序提供服务

    原文:UWP使用AppService向另一个UWP客户端应用程序提供服务 在上篇里,我使用的是寄宿在WPF上的WCF进行两个程序间的通信,在解决问题的同时,我的同事也在思考能否使用UWP来做这件事.于 ...

  3. Win8 Metro(C#)数字图像处理--2.74图像凸包计算

    原文:Win8 Metro(C#)数字图像处理--2.74图像凸包计算 /// <summary> /// Convex Hull compute. /// </summary> ...

  4. LoadLibrary方法加载运行DLL库

    最近和另一家公司对接,要求用对方提供的测试程序测试我们做的DLL. 接到对方的测试程序,发现和我们以前调用DLL的方式不太一样.但我稍微看了一会代码也看懂其意思了,一天搞定了. 但其中也遇到些小困惑, ...

  5. .NET DataTable转换为JSON格式的字符串

    在进行数据传递的时候,有时我们需要通过Ajax的方式或者其他的方式传递一个数据列表,可以将DataTable或者其他形式的数据列表转换为JSON的格式,通过Ajax实体的形式进行传递. 比如说: // ...

  6. 还可以使用Q_SIGNAL,Q_EMIT,Q_SLOT避免第三方库的关键字冲突

    You can define the QT_NO_KEYWORDS macro, that disables the “signals” and “slots” macros. If you use ...

  7. notepadd++正则表达式大小写转换

    示例1:将语句 test this sentence 转为大写 查找:^.*$ 替换:\U$0 或------------ 查找:^(.*)$ 替换:\U\1 或 \U$1 示例2:将语句 TEST ...

  8. 前端开发在uc浏览器上遇到的坑

    关于uc 的flex 和textarea 的width:100%: 这些天再做一个wap的项目,本想着手机上不用考虑兼容性问题,可以大刀阔斧搞,fuck ie678! 在pc上完成页面开发,在chro ...

  9. Tensorflow 又要升级了。Nvidia驱动升级,牵一发而动全身

    如题. 以前好好的,在宿主主机上,升级了下Linux的内核到4.15.0-13 Ubuntu16.04 以前的nvidia 驱动竟然也调了.用tensorflow 的GPU加速,必须使用nvidia ...

  10. 浏览器引擎-phantomjs初次认识

    最近没什么重要的任务,就抽空看了看项目组爬虫小组的代码,因为我们的爬虫主要是以python的scrapy框架为主,看起来比较方便.在看代码的时候看到一个叫phantomjs的东西,蛮新鲜的,就去问了下 ...