.NetCore基础类库代码结构说明

大数据容器微服务

.NetCore的所有源码都是开源的。那么具体开源了哪些东西呢?

首先我们需要知道.NetCore的源码仓库地址:

  
https://github.com/dotnet

picture.image

github的几个主要仓库。如上图。

一、runtime仓库

.NetCore的运行时CoreCLR和基础类库等的代码都是在runtime仓库里。CoreCLR是运行时环境,使用C++编写的代码,里面有完整的源代码,其对外暴露的API基本与CLR一致。基础类库则是我们在平时开发中,调用的一些微软提供的内置方法、类等的源码,比如System.Console,Task等这些的源码。

1、第一层目录结构说明

(1)、docs存放相关文档;

(2)、eng 存放一些构建的命令;

(3)、src里存放所有的源代码;

2、第二层目录src的结构说明

picture.image

(1)、coreclr就是我们上面将的CoreCLR运行时的源码,子目 System.Private.CoreLib 存放的是c#编写的代码,这是一个非常重要的目录;有部分基础类库的源码都在这里;其他子目录 全部都是c++的代码。

(2)、installer是安装程序的目录;

(3)、libraries就是我们的.NetCore的基础类库源码;

3、开发中查看源码的方法

(1)、将runtime仓库代码下载到本地,查看基础类库里的源码;

(2)、几个网站:

  
https://source.dot.net/  
  
https://apisof.net/catalog  

4、runtime仓库代码构建

需要先build,然后在执行.\GenerateLibrariesSln.ps1,过程比较耗时耗精力。编译的大概步骤如下:

(1). 安装VS 2019 16.6(不要安装预览版)

(2). Win 10 专业版,最新版本 (1903/2004)

(3). 长路径支持:组策略(gpedit.msc) > 计算机配置 > 管理模板 > 系统 > 文件系统 > 启用 Win32 长路径

(4). Git长路径:

git config --system core.longpaths true

(5). 安装CMake软件

http://www.cmake.org/download 最新的正式版

(6). Python 最新正式版

(7). 编译指令:

  
./build -subset Clr  
./build -subset Libs  
./build -subset Installer

(8)、基础类库生成.sln

在目录\runtime\src\libraries里,打开power shell,执行如下命令:

  
./GenerateLibrariesSln.ps1 

二、aspnetcore仓库

这是我们的 Asp.Net Core Mvc的单独的仓库。

1、build方法

官方教程:

https://github.com/dotnet/aspnetcore/blob/main/docs/BuildFromSource.md

其他一些教程:

https://www.bilibili.com/video/BV1964y1F7hQ/

https://www.bilibili.com/read/cv7022984/

https://blog.csdn.net/hawk199/article/details/109681359

.netcore sdk官方下载地址:

https://dotnet.microsoft.com/download


2021沐雪.NetCore版本SaaS多租户商城系统源码 小程序商城源码

picture.image

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
拥抱云原生,下一代边缘云云基础设施 | 第 11 期边缘云主题Meetup
《拥抱云原生,下一代边缘云云基础设施》郭少巍|火山引擎边缘云边缘计算架构师
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论