20201101.netCore基础理论

一、.net core简介

.net Core更名为.net 5。net 5最大的更新就是改名和统一。

.net Core备受关注的原因:开源、跨平台、能能。

软件许可协议==开源协议。.net基金会是为了加强.net生态系统。

主流的开源协议:GPL、MIT、Apache、BSD

二、.net Core的重要组件:CoreCLR、CoreFX、CLI、Roslyn

1、CoreCLR:最核心部分,公共语言运行时,C++编写。由.net framework发展而来。它由中间代码解析、中间代码编译、类型安全、异常处理、线程管理、GC

字符串可以转换成Type类型吗?

 2、CoreFX:基础类库。由C#编写。即Library

基础类库 有必要进行研究并进行封装吗?

基础类库是用C#编写的,可以研究,但是封装的话,就是修改源代码了,可以用类对其进行扩展,封装自己常用的方法,这样能省不少事

3、CLI

Common Language Infrastructure=通用中间语言

Command Line Interface=命令行接口

dotnet run就是CLI中的命令行接口

4、Roslyn==编译平台,代码分析

 .net Core与asp.net core是相对独立的两个技术栈。

系统的课程,20%的是精华,80%的是废话。本次课程只讲精华,线程管理和GC,其它的都与我们应用无关。

 asp.net core 3.0之前,是不依赖.net core的,可以运行在windows、linux等上,它的前身是asp.net MVC。

 三、.net Standard

.net只是微软开发使用?

客户端范围=游戏引擎Unity,支持C#

Xamarin=移动端

这两个项目都不是微软的,也不是微软主导的。移动端要求高效;服务器端要求高并发;

 .net Standar不是程序,是纯文本的类型信息。规范相同功能的类型和函数,在不同的.net开发框架中具有相同的形态。 目前只是规范现有的,未来主导.net的发展。目前最新的版本规范是2.1

四、工具

1、VS Code不是IDE,是跨平台的轻量级代码编辑神器,目前前端使用者比较多。跨平台开发.net Core的话,VS Code是首选,如果只是在Windows 开发,用VS比较好。

 2、Rider收费,比VS某些地方好用。

只有VS 2019支持.net Core 3.X

3、.net 程序迁移.net core,用.net api portability。它是一个开发工具,用管理扩展安装.net portability analyzer。

https://github.com/microsoft/dotnet-apiport

 4、常见小工具:

(1).NET API Catalog:https://apisof.net

(2).net Core在线源码:https://source.dot.net

(3)把IL反编译为C#(dnSpy):https://github.com/dnSpy/dnSpy    ilspy不兼容新版core

5、.net standard和.net Core的区别

 .net core类库可以引用.net standard的类库,但是有版本的要求。

NotSupportedException:不受支持。某些API可以在windows上支持,但是在其它平台上不会支持,就会发生这种情况。appDomain在linux上不支持

 五、.net与java

同等级别,.net懂的知识比java的要少。

posted @ 2020-11-01 20:47  揽月2020  阅读(155)  评论(0)    收藏  举报