.net core系列源码地址介绍

这篇具有很好参考价值的文章主要介绍了.net core系列源码地址介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 很早就想写.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/914
        return (value == null || 0u >= (uint)value.Length) ? true : false;
    }

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

  

.net core系列源码地址介绍

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

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

  EntityFrameworkCore

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

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

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

  

.net core系列源码地址介绍

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

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

到了这里,关于.net core系列源码地址介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ASP.NET Core 配置系列一

    A S P . N E T   C o r e   配 置 主 要 通 过 这 3 个 文 件 设 置 : 1   项 目 文 件 也 叫 . c s p r o j   文 件 2   P r o g r a m . c s 3   a p p s e t t i n g s . j s o n 这 些 配 置 告 诉 A S P . N E T   C o r e   应 用 程 序 基 于 用 户 的 交 互 是 如 何 工 作 的, 在 本 节 中 我 们 理 解 A S P .

    2024年02月03日
    浏览(104)
  • ASP.NET Core 依赖注入系列一

    什么是ASP.NET Core 依赖注入? 依赖注入也称DI是一项技术用来实现对象松耦合以至于应用程序更容易维护,ASP.NET Core通过控制器的构造函数自动注入依赖的对象,我们创建ASP.NET Core MVC应用程序演示依赖注入特性是如何工作, 在这节中我们讲解该特性 1 例子 我们创建一个ASP.NET C

    2024年02月11日
    浏览(50)
  • .NET Core 开发微服务框架介绍

    什么是微服务? 微服务是一种系统架构模式,它将传统的单体应用程序按照业务功能拆分成多个职责单一、独立部署、松耦合、可伸缩的接口服务。每个微服务都有自己的数据存储、业务逻辑、通信机制和技术栈,可以通过标准化的协议(如 HTTP、gRPC、AMQP 等)进行交互。微

    2024年02月15日
    浏览(33)
  • 【源码解读】asp.net core源码启动流程精细解读

    core出来至今,已经7年了,我接触也已经4年了,从开始的2.1,2.2,3.1,5,6再到如今的7,一直都有再用,虽然我是一个Winform仔,但是源码一直从3.1到7都有再看,然后在QQ上面也一直比较活跃,之前好几年前一直说给大家解读asp.net core源码,在之前的博客中,讲的都是比较粗略

    2024年02月05日
    浏览(91)
  • .Net Core WebApi 系列:过滤器Filter

    过滤器有什么作用,在什么场景下适合用到它? 假设一个项目进展到快结束的时候,项目leader为了保证程序的稳定性和可监控和维护性要求将所有的方法加上日志,如果项目比较庞大,方法非常多,那岂不是得费很大得劲来完成这样一件事情。不过不用担心,咋们遇到的问题

    2024年02月05日
    浏览(40)
  • Asp .Net Core 系列: 集成 CORS跨域配置

    CORS,全称是“跨源资源共享”(Cross-Origin Resource Sharing),是一种Web应用程序的安全机制,用于控制不同源的资源之间的交互。 在Web应用程序中,CORS定义了一种机制,通过该机制,浏览器能够限制哪些外部网页可以访问来自不同源的资源。源由协议、域名和端口组成。当一

    2024年01月24日
    浏览(84)
  • ASP.NET Core SignalR 系列(二)- 中心(服务端)

    本章将和大家分享 ASP.NET Core SignalR 中的中心(服务端)。 本文大部分内容摘自微软官网:https://learn.microsoft.com/zh-cn/aspnet/core/signalr/hubs?view=aspnetcore-7.0 废话不多说,我们直接来看一个Demo,Demo的目录结构如下所示: 本Demo的Web项目为ASP.NET Core Web 应用程序( 目标框架为.NET 7.0

    2024年02月13日
    浏览(50)
  • ASP.NET Core SignalR 系列(四)- 中心筛选器

    本章将和大家分享 ASP.NET Core SignalR 中的中心筛选器。 本文大部分内容摘自微软官网:https://learn.microsoft.com/zh-cn/aspnet/core/signalr/hub-filters?view=aspnetcore-7.0 废话不多说,下面我们直接进入本章主题。 中心筛选器: 在 ASP.NET Core 5.0 或更高版本中可用。 允许在客户端调用中心方法之

    2024年02月16日
    浏览(42)
  • 你所不知道的ASP.NET Core进阶系列(三)

    一年多没更新博客,上一次写此系列还是四年前,虽迟但到,没有承诺,主打随性,所以不存在断更,催更,哈哈,上一篇我们细究从请求到绑定详细原理,本篇则是探讨模型绑定细节,当一个问题产生到最终解决时,回过头我们整体分析其产生背景以及设计思路才能有所获

    2024年02月05日
    浏览(78)
  • .net 温故知新【11】:Asp.Net Core WebAPI 入门使用及介绍

    在Asp.Net Core 上面由于现在前后端分离已经是趋势,所以asp.net core MVC用的没有那么多,主要以WebApi作为学习目标。 我使用的是VS2022, .Net 7版本。 在创建界面有几项配置: 配置Https 启用Docker 使用控制器 启用OpenAPI支持 不使用顶级语句 其中配置Https 是WebApi是否使用https协议,启

    2024年02月07日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包