很早就想写.net core相关教程内容了,但是一方面感觉东西太多了,一方面是太懒了,最近才下定决心,一定要写点东西出来

好了,先从.net core开源开始吧,以后会对一些独立模块单独剖析介绍,比如认证授权,配置,日志等等:

  .net core独立模块源码:https://github.com/aspnet

  .net core全家桶源码:https://github.com/dotnet/aspnetcore

  .net core拓展库源码:https://github.com/dotnet/extensions

  .net core标准库源码:https://github.com/dotnet/corefx

  .net core的EFCore源码:https://github.com/dotnet/efcore

  .net core的SDK源码:https://github.com/dotnet/sdk

  .net core的runtime源码:https://github.com/dotnet/runtime

  .net core独立模块

  在.net core的初期,每个模块源码是独立开的,每个模块是一个git仓库,比如常见的:

  Routing 路由模块源码:https://github.com/aspnet/Routing

  Security 认证授权模块源码:https://github.com/aspnet/Security

  MVC 模块源码:https://github.com/aspnet/Mvc

  Configuration 配置模块源码:https://github.com/aspnet/Configuration

  Options 模块源码:https://github.com/aspnet/Options

  DependencyInjection 依赖注入模块源码:https://github.com/aspnet/DependencyInjection

  Hosting 模块源码:https://github.com/aspnet/Hosting

  这些模块可以在上面的地址(https://github.com/aspnet)中去查询,还有很多。

  注意,虽然这些库还是放开的,但是已经不再更新了,他们已经全部被移到.net core全家桶里面去了,所以他们最多只能看作是.net core 2.x的版本

  .net core全家桶

  可能后来.net core的开发者们觉得每个模块一个仓库很麻烦,于是将常用的模块做成全家桶放到一个git仓库中去了,这就是.net core全家桶。

  注意.net core全家桶里面包含的内容是常用,可以认为是常用的 Microsoft.AspNetCore.XXXXX 的这些空间库的集合,这些库主要是做web等服务端开发需要的核心模块,如Hosting,MVC,Http等模块。

  .net core拓展库

  全家桶包含了一些常用的web等服务端开发库,那剩下像 Configuration,Options,DependencyInjection等这些的常用模块合在一起就组成了拓展库!

  需要注意的是,这些模块一般都是一些辅助型的模块,不是非需不可的存在,但是往往很便捷开发,可以认为这里面的都是 Microsoft.Extensions.XXXXXX的空间库。

  .net core标准库

  这个很好理解,其实就是我们的诸如 System.XXXX 等这些空间库的集合,比如我们的最常用的方法 String.IsNullOrEmpty()方法的地址在:https://github.com/dotnet/corefx/blob/v3.1.9/src/Common/src/CoreLib/System/String.cs#LC448  

    [NonVersionable]public static bool IsNullOrEmpty([NotNullWhen(false)] string? value){// Using 0u >= (uint)value.Length rather than// value.Length == 0 as it will elide the bounds check to// the first char: value[0] if that is performed following the test// for the same test cost.// Ternary operator returning true/false prevents redundant asm generation:// https://github.com/dotnet/coreclr/issues/914return (value == null || 0u >= (uint)value.Length) ? true : false;}

  其实,很多开发者都没有注意,在使用web开发时,在项目下的依赖项下面的框架中有两个框架:Microsoft.AspNetCore.App 和 Microsoft.NETCore.App

  

  Microsoft.AspNetCore.App:这里是全家桶拓展库中web开发主要和常用的库集合,注意,它并不包含全家桶和拓展库中的所有库,而且常用的一些库!

  Microsoft.NETCore.App:这个其实基本上可以认为是.net core的标准库了。

  EntityFrameworkCore

  这个其实EntityFramework在.net core下的实现,因为并不是所有的项目都需要数据库,因此它被独立出来作为一个第三方的库。

  附1:项目都是在github上,但是外网速度很慢,直接使用pull或者download可能会失败,一般多试几次就可以了,实在不行或者嫌太慢,可以使用gitee进行现有仓库导入,然后从gitee上进行拉取

  方法:登录gitee => 新建仓库 => 点击最下面的【导入已有仓库】=> 然后输入github上的仓库地址,如下图

  

  附2:代码弄下来之后,使用VS打开(建议使用VS2019)后十之八九一堆的报错,重新生成也不顶用,这往往是因为项目引用了外部项目导致的,所以仓库的作者一般会提供脚本(sh,bat,cmd等)来统一还原生成项目。

  比如.net core全家桶中,仓库中有 restore.cmd (restore.sh)文件,就是用于还原项目用的,它会下载一些插件工具之后统一还原生成整个解决方法,不过因为网络等原因,99%的可能是不会成功的,所以就将就着使用 ctrl + F 看吧。

.net core系列源码地址介绍相关推荐

  1. ASP.NET Core 框架源码地址

    ASP.NET Core 框架源码地址 https://github.com/dotnet/corefx 这个是.net core的 开源项目地址 https://github.com/aspnet  ...

  2. ASP .NET CORE 源码地址

    ASP .NET CORE 源码地址:https://github.com/dotnet/ 下拉可以查找相应的源码信息, 例如:查找 ASP .NET CORE Microsoft.Extension ...

  3. ASP.NET Core MVC 源码学习:MVC 启动流程详解

    前言 在 上一篇 文章中,我们学习了 ASP.NET Core MVC 的路由模块,那么在本篇文章中,主要是对 ASP.NET Core MVC 启动流程的一个学习. ASP.NET Core 是新一 ...

  4. ASP.NET Core MVC 源码学习:Routing 路由

    前言 最近打算抽时间看一下 ASP.NET Core MVC 的源码,特此把自己学习到的内容记录下来,也算是做个笔记吧. 路由作为 MVC 的基本部分,所以在学习 MVC 的其他源码之前还是先学习一下 ...

  5. pyTorch入门(六)——实战Android Minist OpenCV手写数字识别(附源码地址)

    学更好的别人, 做更好的自己. --<微卡智享> 本文长度为4239字,预计阅读12分钟 前言 前面几篇文章实现了pyTorch训练模型,然后在Windows平台用C++ OpenCV D ...

  6. Android BlueToothBLE入门(二)——设备的连接和通讯(附Demo源码地址)

    学更好的别人, 做更好的自己. --<微卡智享> 本文长度为7870字,预计阅读12分钟 前言 接<Android BlueToothBLE入门(一)--低功耗蓝牙介绍>上篇, ...

  7. android dts配置_AndroidLinux关于DTS设备树源码的介绍

    Android&Linux关于DTS设备树源码的介绍 Device tree是一种简单的节点和属性的树形结构.属性是键值对,而节点可能包括属性和子节点.画一颗电路板上CPU.总线.设备组成的树 ...

  8. SpringMVC+Maven开发项目源码详细介绍

    代码地址如下: http://www.demodashi.com/demo/11638.html Spring MVC概述 Spring MVC框架是一个开源的Java平台,为开发强大的基于Java的 ...

  9. Spring Core Container 源码分析七:注册 Bean Definitions

    前言 原本以为,Spring 通过解析 bean 的配置,生成并注册 bean defintions 的过程不太复杂,比较简单,不用单独开辟一篇博文来讲述:但是当在分析前面两个章节有关 @Autowi ...

  10. python解释器cpython的源码简要介绍

    0. 参考文档 参考文档如下: Your Guide to the CPython Source Code [python]带你入门cpython源代码,让你不再一头雾水!尝试去读读python的实现 ...

最新文章

  1. 阿里大佬分享API网关在微服务架构中的应用
  2. python判断两个值是否相等_Python--比较两个字典部分value是否相等
  3. CIKM 2020 | 知识库问答复杂问题的分层查询图生成方法
  4. Debian 8开启sftp服务
  5. 【收集】常用网络上的Webservice地址
  6. Python:file (read,readline,readline )使用方法
  7. javaone_JavaOne 2015 –提交技巧和建议
  8. 我看中国软件---管理篇
  9. 关于相似性度量与各类距离的意义
  10. [复变函数]第17堂课 5 解析函数的 Laurent 展式与孤立奇点 5. 1 解析函数的 Laurent 展式...
  11. 图解算法系列笔记(二)
  12. 一步一步写算法(之递归和堆栈)
  13. Pandas——Series与DataFrame
  14. python notebook_Python Notebook (Jupyter Notebook) 介绍
  15. 水系图一般在哪里找得到_水系电池再发Nature,事实力证将迎来发展的春天!
  16. 华为数据中心产品汇总介绍
  17. 基于STM32F103C8T6的74HC595驱动8位数码管模块学习
  18. 网络中心化 和 去中心化
  19. Kuangbin 带你飞-线段树专题 题解
  20. 元宵佳节,戴铭老师亲自带你分析iOS行业动态!

热门文章

  1. 【支付宝商家中心】支付功能签约,产品签约失败;修改经营类目;系统检测到您的账户不符合国家相关法律法规或《支付宝用户服务协议》约定
  2. 广度搜索和深度搜索的分析
  3. matlab中图例的字怎么改,如何在Matlab图形图例中设置自定义标记
  4. Win11重启快捷键是什么?
  5. DPDK ipv4 ip分片与重组
  6. vue elementui table表格序号一列 样式设计
  7. 24种常见的逻辑关系谬误
  8. Ubuntu下 VS code安装并配置C/C++模块
  9. CSS手写向下小三角(极简代码)
  10. CAJViewer安装报错卸载报错打开报错解决流程