Csharp开源项目 Github优秀的.NET Core开源项目的集合
Awesome-dotnet-core
.NET Core入门到进阶库、工具、框架、模板引擎、身份认证、数据库、ORM框架、图片处理、文本处理、机器学习、日志、代码分析、教程等 //github.com/jasonhua95/awesome-dotnet-core

Fur
//gitee.com/monksoul/Fur
Fur 是 .NET 5 平台下极易入门、极速开发的 Web 应用框架
Fur 在设计之初就秉承着 “六极” 极易入门、极速开发、极少依赖、极少配置、极其灵活、极易维护的设计思想
在架构设计上做了大量的优化,支持各个能力阶层技术员极速上手
功能模块:
//pic1.zhimg.com/80/v2-b135875e676235ac443dd2a2e8f34f36_720w.jpg?source=1940ef5c

纸壳CMS
.Net Core 跨平台运行部署
内容管理系统 插件试设计 方便横向扩展
多种常见的设计模式在这个系统中都有很好的运用 可视化设计在线编辑内容
//github.com/SeriaWei/ZKEACMS.Core

经典领域驱动设计的
权限管理系统 OpenAuth.Net
项目采用经典DDD架构(用沃恩.弗农大神的话,其实这是DDD-Lite)思想进行开发,
简洁而不简单,实用至上,并且所写每一行代码都经过深思熟虑,符合SOLID规则
//gitee.com/yubaolee/OpenAuth.Net

NET Core源码
C#开源项目推荐
Core是开放源代码和跨平台框架,用于构建基于现代云的互联网连接应用程序,
例如Web应用程序,IoT应用程序和移动后端
Core应用程序在.NET Core(一个免费的,跨平台的开源应用程序运行时)上运行
//github.com/dotnet/aspnetcore

Util应用框架
Util是一个.net core平台下的应用框架,
提升小型团队的开发输出能力,由常用公共操作类(工具类)、分层架构基类、Ui组件,第三方组件封装,
第三方业务接口封装,配套代码生成模板,权限等组成
简单易用API设计
让团队快速上手进行开发
对于简单操作,通常采用静态方法或扩展方法进行调用,对于更加复杂的操作,尽量封装为链式API
 型(静态类型) 化风格,将UI组件封装为
core razor组件
充分发挥VS开发工具的优势,比如智能提示,编译时检查
整洁,Util开发小组成员都有着代码洁癖,每行代码都经过反复斟酌。
中文注释进行补充
//github.com/dotnetcore/Util

OSharp
全称 OSharp Framework with .NetStandard2.x
基于.NetStandard2.x开发.NetCore快速开发框架
最新稳定版的.NetCore SDK(当前是.NET Core 3.1)
对 AspNetCore 的配置、依赖注入、日志、缓存、实体框架、Mvc(WebApi)、身份认证、权限授权等模块进行更高一级的自动化封装
并规范了一套业务实现的代码结构与操作流程,使 .Net Core 框架更易于应用到实际项目开发中
dotnetcore/OSharp

Autofac
经典的的DI框架
Autofac是Microsoft .NET的IoC容器
管理类之间的依赖关系,以使应用程序随着大小和复杂性的增长而易于更改。

FreeSqlFreeSql 是功能强大的对象关系映射技术(O/RM)
支持 .NETCore 2.1+ 或 .NETFramework 4.0+ 或 Xamarin。
功能特点支持 CodeFirst 迁移,哪怕使用 Access 数据库也支持;
支持 DbFirst 从数据库导入实体类,安装实体类生成工具;
支持 深入的类型映射,比如pgsql的数组类型;
支持 丰富的表达式函数,以及灵活的自定义解析;
支持 导航属性一对多、多对多贪婪加载,以及延时加载;支持 读写分离、分表分库、过滤器、乐观锁、悲观锁;
MySql/SqlServer/PostgreSQL/Oracle/Sqlite/达梦/人大金仓/神舟通用/Access
//link.zhihu.com/?target=https%3A//github.com/dotnetcore/FreeSql

懒得勤快
Masuit.Tools包含一些常用的操作类,大都是静态类,加密解密,反射操作,硬件信息,字符串扩展方法,日期时间扩展操作,大文件拷贝,图像裁剪,验证码等常用封装
一旦使用本开源项目以及引用了本项目或包含本项目代码的公司因为违反劳动法(包括但不限定非法裁员、超时用工、雇佣童工等)在任何法律诉讼中败诉的,项目作者有权利追讨本项目的使用费,
或者直接不允许使用任何包含本项目的源代码!
任何性质的外包公司或996公司需要使用本类库,请联系作者进行商业授权!
其他企业或个人可随意使用不受限
特色功能示例,还有很多,可以直接看看github
1.检验字符串是否是Email、手机号、URL、IP地址、身份证号bool isEmail="3444764617@qq.com".MatchEmail();
bool isInetAddress = "114.114.114.114".MatchInetAddress();
bool isUrl = "http://masuit.com".MatchUrl();
bool isPhoneNumber = "15205201520".MatchPhoneNumber();
bool isIdentifyCard = "312000199502230660".MatchIdentifyCard();// 校验中国大陆身份证号2.html的防XSS处理:string html = @"<link href='/Content/font-awesome/css' rel='stylesheet'/>
        <!--[if IE 7]>
        <link href='/Content/font-awesome-ie7.min.css' rel='stylesheet'/>
        <![endif]-->
        <script src='/Scripts/modernizr'></script>
        <div id='searchBox' role='search'>
        <form action='/packages' method='get'>
        <span class='user-actions'><a href='/users/account/LogOff'>退出</a></span>
        <input name='q' id='searchBoxInput'/>
        <input id='searchBoxSubmit' type='submit' value='Submit' />
        </form>
        </div>";
string s = html.HtmlSantinizerStandard();//清理后:<div><span><a href="/users/account/LogOff">退3.产生分布式唯一有序短idvar sf = SnowFlake.GetInstance();
string token = sf.GetUniqueId();// rcofqodori0w
string shortId = sf.GetUniqueShortId(8);// qodw9728
var set = new HashSet<string>();
double time = HiPerfTimer.Execute(() =>{
    for (int i = 0; i < 1000000; i++)    {
        set.Add(SnowFlake.GetInstance().GetUniqueId());
    }
});
Console.WriteLine(set.Count == 1000000); //True
Console.WriteLine("产生100w个id耗时" + time + "s"); //2.6891495s4.Linq表达式树扩展
Expression<Func<string, bool>> where1 = s => s.StartsWith("a");
Expression<Func<string, bool>> where2 = s => s.Length > 10;
Func<string, bool> func = where1.And(where2).Compile();
bool b=func("abcd12345678");//true
Expression<Func<string, bool>> where1 = s => s.StartsWith("a");
Expression<Func<string, bool>> where2 = s => s.Length > 10;
Func<string, bool> func = where1.Or(where2).Compile();
bool b=func("abc");// true5.日志组件LogManager.LogDirectory=AppDomain.CurrentDomain.BaseDirectory+"/logs";
LogManager.Event+=info =>{
    //todo:注册一些事件操作
};
LogManager.Info("记录一次消息");
LogManager.Error(new Exception("异常消息"));
//github.com/XiLife-OSPC/Masuit.Tools

SignalR
为 ASP.NET 开发人员提供的一个库,
简化开发人员将实时 Web 功能添加到应用程序的过程。
当WebSockets可用时(即浏览器支持Html5)SignalR使用WebSockets
当不支持时SignalR将使用其它技术来保证达到相同效果
SignalR 将与客户端进行实时通信带给了ASP .NET
以前用户需要刷新页面或使用Ajax轮询才能实现的实时显示数据,现在只要使用SignalR,就可以简单实现了。
//github.com/SignalR/SignalR
 
SparkleShare
SparkleShare是一个共享开源代码的工具
设计的目标就是让共享代码变得更加简单而不是你先前习惯的样子
允许你实时的同步Git库,对于Linux、Mac和Windows都是是可用的。
//github.com/hbons/SparkleShare

mono
第三方的跨平台的.NET运行环境,在微软的.net框架还只支持WIN平台的时候
mono就已经开始支持Unix, Windows, MacOS甚至IOS,安卓等操作系统了。
Mono由Novell公司
(Ximian发起由Miguel de lcaza领导
致力于开创.NET在Linux上使用的开源工程
包含一个C#语言的编译器,一个CLR的运行时,
一组类库,并实现了 ADO NET和ASP NET 能够使得开发人员在Linux用C#开发程序。)
该项目的目标是创建一系列符合标准ECMA (Ecma-334和Ecma-335)的.Net 工具,
包括C #编译器和共同语言(CL 即 Common Language)执行平台(Platform).与微软的.Net不同,
Mono项目不仅可以运行于Windows系统内,还可以运行于Linux, FreeBSD, Unix, Mac OS X和Solaris。
//github.com/mono/mono

ServiceStack
是能同时运行于 .Net 和 Mono 上的开源web框架,
是开发 Web 服务与 Web 应用的有力替代品
包含高性能 Razor Engine 的 Web 应用框架
支持例如 HTML,XML,JSON,SOAP 等多种格式的基于消息的 Web 服务框架
包含内建 IOC 的容器 若干内建库文件,诸如:Text serializer,Redis Client,ORM 以及 caching providers
除了 ASP.NET Hosting 和 Mono Hosting 之外,还包含 self-hosting 选项
//github.com/ServiceStack/ServiceStack

Nancy
轻量高效的基于http 服务的框架
快迅而优雅的处理DELETE,GET,POST,OPTIONS,POST,PUT与PATCH请求
开发者更加专注于其它业务及更重要的内容
Nancy能同时运行于.NET与MONO平台。
//github.com/NancyFx/Nancy

AutoMapper
解决对象与代码之间的映射关系
领域对象与DTO之间的转换、数据库查询结果映射至实体对象
官话
AutoMapper is a simple little library built to solve a deceptively complex problem - getting rid of code that mapped one object to another. This type of code is rather dreary and boring to write, so why not invent a tool to do it for us?
//github.com/AutoMapper/AutoMapper

Psychson
是一个可以给实现给包括iOS、Android和Windows Phone及Blackberry多种操作系统的App应用推送消息通知的开源C#库
兼容Mono框架
//github.com/adamcaudill/Psychson

RestSharp
开源的.NET平台下REST和Http API的客户端库
支持的平台有.NET 3.5/4、Mono、Mono for Android、MonoTouch、Windows Phone 7.1 Mango
他可以简化我们访问Restful服务
//github.com/restsharp/RestSharp

apper-dot-net
超轻量型的ORM开源框架,对象关系映射
Object Relational Mapping,简称ORM,或O/RM,或O/R mapping
实现面向对象编程语言里不同类型系统的数据之间的转换
创建了一个可在编程语言里使用的“虚拟对象数据库”
dapper超级轻小,简便,运行速度很快
赢得了很多开发者的喜欢
//github.com/StackExchange/dapper-dot-ne

Opserver
Opserver是闻名遐迩的网站Stack Overflow的开源监控解决方案
由Stack Exchange发布
基于.NET框架构建,这在监控工具领域有些与众不同
旨在为每个受监控系统的健康状况提供一个快速的总体视图
允许用户使用下钻方法进行深入挖掘。
//github.com/StackExchange/dapper-dot-ne