.Net Core有哪些不错的开源项目?

作者:布莱恩特
链接:https://www.zhihu.com/question/295227280/answer/1333085582
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

卧槽,必须得推荐这几个.Net Core开源项目!

持续更新,如果你有好的.NET Core开源项目,也可以评论指出!

0.Masuit.Tools

包含一些常用的操作类,大都是静态类,加密解密,反射操作,硬件信息,字符串扩展方法,日期时间扩展操作,大文件拷贝,图像裁剪,验证码等常用封装。

开源协议挺有意思的:

一旦使用本开源项目以及引用了本项目或包含本项目代码的公司因为违反劳动法(包括但不限定非法裁员、超时用工、雇佣童工等)在任何法律诉讼中败诉的,项目作者有权利追讨本项目的使用费,或者直接不允许使用任何包含本项目的源代码!任何性质的外包公司或996公司需要使用本类库,请联系作者进行商业授权!其他企业或个人可随意使用不受限。

特色功能示例,还有很多,可以直接看看github

1.Socket客户端操作类

var tcpClient = new TcpClient(AddressFamily.InterNetwork);
Socket socket = tcpClient.ConnectSocket(IPAddress.Any,5000);
socket.SendFile("D:\\test\\1.txt",false,i =>
{
    Console.WriteLine("已发送"+i+"%");
});

2.模板引擎

var tmp = new Template("{{name}},你好!");
tmp.Set("name", "万金油");
string s = tmp.Render();//万金油,你好!
var tmp = new Template("{{one}},{{two}},{{three}}");
string s = tmp.Set("one", "1").Set("two", "2").Set("three", "3").Render();// 1,2,3
var tmp = new Template("{{name}},{{greet}}!");
tmp.Set("name", "万金油");
string s = tmp.Render();// throw 模版变量{{greet}}未被使用

3.任意进制转换

NumberFormater nf = new NumberFormater(36);//内置2-62进制的转换
//NumberFormater nf = new NumberFormater("0123456789abcdefghijklmnopqrstuvwxyz");// 自定义进制字符,可用于生成验证码
string s36 = nf.ToString(12345678);
long num = nf.FromString("7clzi");
Console.WriteLine("12345678的36进制是:" + s36); // 7clzi
Console.WriteLine("36进制的7clzi是:" + num); // 12345678

4.DateTime扩展

double milliseconds = DateTime.Now.GetTotalMilliseconds();// 获取毫秒级时间戳
double microseconds = DateTime.Now.GetTotalMicroseconds();// 获取微秒级时间戳
double nanoseconds = DateTime.Now.GetTotalNanoseconds();// 获取纳秒级时间戳
double seconds = DateTime.Now.GetTotalSeconds();// 获取秒级时间戳
double minutes = DateTime.Now.GetTotalMinutes();// 获取分钟级时间戳

5.反射操作

MyClass myClass = new MyClass();
PropertyInfo[] properties = myClass.GetProperties();// 获取属性列表
myClass.SetProperty("Email","1@1.cn");//给对象设置值

//动态增删对象的属性
MyClass myClass = new MyClass();
var mc = myClass.AddProperty(new List<ClassHelper.CustPropertyInfo>()
{
    new ClassHelper.CustPropertyInfo(typeof(string), "Name", "张三"),
    new ClassHelper.CustPropertyInfo(typeof(double), "Number", 123456.0),
});//添加属性
object newObj = mc.DeleteProperty(new List<string>() { "Email", "Age", "IP", "PhoneNumber" });// 删除属性
Console.WriteLine(newObj.ToJsonString());// {"Password":null,"Name":"张三","Number":123456.0}

https://github.com/XiLife-OSPC/Masuit.Tools​github.com

 

1.OrchardCore

Orchard Core是使用http://ASP.NET Core构建的开源模块化,多租户应用程序框架,以及在该应用程序框架之上构建的内容管理系统(CMS)。

Orchard Core包含两个不同的项目:

  • Orchard Core Framework:一个用于在http://ASP.NET Core上构建模块化,多租户应用程序的应用程序框架。
  • Orchard Core CMS:基于Orchard Core框架构建的Web内容管理系统(CMS)

https://github.com/OrchardCMS/OrchardCore​github.com

 

2.awesome-dotnet-core

优秀的.NET Core开源项目的集合,从入门到进阶!

内容包括:库、工具、框架、模板引擎、身份认证、数据库、ORM框架、图片处理、文本处理、机器学习、日志、代码分析、教程等。

https://github.com/jasonhua95/awesome-dotnet-core​github.com

 

3. ZKEACMS

http://ASP.Net Core开源免费的内容管理系统

纸壳CMS(ZKEACMS)是ZKEASOFT自主研发的,开源的免费的建站系统,您可以直接使用它来做为您的企业网站,门户网站或者个人网站,博客,或用它做二次定制开发以满足您特定的需求。

采用可视化编辑设计,直接在预览页面上设计网页,以轻松快捷的拼图的方式构建你的网站。

纸壳cms是基于ASP .Net Core开发的,开源免费的内容管理系统。可视化设计,在线编辑是最大的亮点。

跨平台,功能丰富

纸壳CMS(ZKEACMS Core) 是ZKEACMS对 .Net Core 版本的全功能实现 CMS,借助于 .Net Core 实现跨平台,您可以在 Windows, MAC OS, Linux, Docker 上运行。

不仅如此,纸壳CMS拥有更丰富的功能,如:自定义表单,商城,留言评论等等。还有更完善的用户体验,更出色的性能。

https%3A//github.com/SeriaWei/ZKEACMS.Core​github.com

 

4.YiShaAdmin

YiShaAdmin 基于.NET Core Web开发,借鉴了很多开源项目的优点,让你开发Web管理系统和移动端Api更简单,所以我也把她开源了。 她可以用于所有的Web应用程序,例如网站管理后台、CMS、CRM、ERP、OA这类的系统和移动端Api。

采用Bootstrap + http://ASP.NET Core + Entity Framework Core基础架构。

内置功能

  • 员工管理:员工是系统操作者,该功能主要完成系统用户配置
  • 部门管理:配置系统组织机构(公司、部门、小组)
  • 职位管理:配置系统用户所担任职务
  • 文章中心:管理新闻及公司案例
  • 角色管理:角色菜单权限分配,角色对应权限,员工属于某个角色
  • 菜单管理:配置系统菜单,操作权限,按钮权限标识
  • 通用字典:系统里动态改变的数据,像文章类型,用字典进行维护,不变的数据,可以用枚举
  • 行政区划:全国的省市县三级数据,展示树形数据的使用
  • 系统日志(登录日志、操作日志、Api日志):查看系统的登录、操作、Api调用日志
  • 定时任务:在线(添加、修改、删除)任务调度,包含执行结果日志
  • 系统Api:Api文档与测试工具
  • 数据表管理:查看当前数据库所有表、字段及记录总数
  • 代码生成:快速生成对单表的增删改查
  • 服务器信息:查看服务器的基本信息

是一款基于代码生成器的快速开发平台,基于代码生成器的开发方式,可以将编码工作量减少70%以上,为企业提高开发效率,为企业节省项目研发成本,减少开发周期。

https://github.com/liukuo362573/YiShaAdmin​github.com

 

5 .NET Core源码

C#开源项目推荐,.NET Core源码必须推荐!

https://github.com/dotnet/aspnetcore​github.com

 

6.Util应用框架

Util是一个.net core平台下的应用框架,旨在提升小型团队的开发输出能力,由常用公共操作类(工具类)、分层架构基类、Ui组件,第三方组件封装,第三方业务接口封装,配套代码生成模板,权限等组成。

特点

  • 简单易用的傻瓜式API设计,让你的团队能够快速上手进行开发。对于简单操作,通常采用静态方法或扩展方法进行调用,对于更加复杂的操作,尽量封装为链式API。
  • 型(静态类型) 化风格,将UI组件封装为http://asp.net core razor组件,充分发挥VS开发工具的优势,比如智能提示,编译时检查。
  • 整洁,Util开发小组成员都有着代码洁癖,每行代码都经过反复斟酌。
  • 的中国味,Util开发小组成员的英文水平比较菜,命名充满国风,并以中文注释进行补充。

https://github.com/dotnetcore/Util​github.com

 

7. OSharp

OSharpNS 全称 OSharp Framework with .NetStandard2.x,是一个基于.NetStandard2.x开发的一个.NetCore快速开发框架。

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

dotnetcore/OSharp​github.com图标

8. XBlog

个人博客系统

技术要点

  • dotnet core平台,可以运行在windows和linux系统上
  • 完全基于BeetleX.FastHttpAp框架开发
  • 前后端分离,完全脱离后端视图引擎;基于vuejs和webapi模式
  • 混合HTTP和Websocket,当浏览器兼容Websocket的情况下请求会使用Websocket.
  • 基于javascript前端Markdown,降低文章在服务端解释的损耗
  • 支持HTTPS满足安全访问的需求
  • javascript async/await 对访问的浏览器要求比较高,旧版本浏览器可能无法查看

https://github.com/IKende/XBlog​github.com

 

7. FreeSql

FreeSql 是功能强大的对象关系映射技术(O/RM),支持 .NETCore 2.1+ 或 .NETFramework 4.0+ 或 Xamarin。

功能特点

  • 支持 CodeFirst 迁移,哪怕使用 Access 数据库也支持;
  • 支持 DbFirst 从数据库导入实体类,安装实体类生成工具;
  • 支持 深入的类型映射,比如pgsql的数组类型;
  • 支持 丰富的表达式函数,以及灵活的自定义解析;
  • 支持 导航属性一对多、多对多贪婪加载,以及延时加载;
  • 支持 读写分离、分表分库、过滤器、乐观锁、悲观锁;
  • MySql/SqlServer/PostgreSQL/Oracle/Sqlite/达梦/人大金仓/神舟通用/Access;

https://github.com/dotnetcore/FreeSql​github.com

 

8.Autofac

经典的的DI框架。

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

简单入门

注册组件,然后构建组件容器。
var builder = new ContainerBuilder();

builder.Register(c => new TaskController(c.Resolve<ITaskRepository>()));
builder.RegisterType<TaskController>();
builder.RegisterInstance(new TaskController());
builder.RegisterAssemblyTypes(controllerAssembly);

var container = builder.Build();
从容器或嵌套范围,解析服务。
var taskController = container.Resolve<TaskController>();

https://github.com/autofac/Autofac​github.com

 

9.OpenAuth.Core

.Net Core快速应用开发框架、最好用的权限工作流系统。

基于经典领域驱动设计的权限管理及快速开发框架,源于Martin Fowler企业级应用开发思想及最新技术组合(IdentityServer、EF core、Quartz、AutoFac、WebAPI、Swagger、Mock、NUnit、VUE、Element-ui等)。已成功在docker/jenkins中实施。核心模块包括:组织机构、角色用户、权限授权、表单设计、工作流等。

李玉宝/OpenAuth.Core​gitee.com图标

10.Abp.VNext.Hello

hello,一个经典的abp框架!
abp是一款DDD模式的框架,它具备分层以及模块化的结构,框架本身含有授权,验证,异常处理,日志,本地化,数据库连接管理,设置管理,审计日志等,ABP是一个开源的且文档友好的应用框架,起始的想法是,“开发一款为所有公司和开发者通用的框架!”。它不仅仅是一个框架,更提供了一个基于DDD和最佳实践的健壮的体系模型。

wjkhappy14/Abp.VNext.Hello​github.com图标


未完待续...

如果你有好的开源项目也可以推荐哦!

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值