作者:布莱恩特
链接:https://www.zhihu.com/question/295227280/answer/1333085582
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
卧槽,必须得推荐这几个.Net Core开源项目!
持续更新,如果你有好的.NET Core开源项目,也可以评论指出!
包含一些常用的操作类,大都是静态类,加密解密,反射操作,硬件信息,字符串扩展方法,日期时间扩展操作,大文件拷贝,图像裁剪,验证码等常用封装。
开源协议挺有意思的:
一旦使用本开源项目以及引用了本项目或包含本项目代码的公司因为违反劳动法(包括但不限定非法裁员、超时用工、雇佣童工等)在任何法律诉讼中败诉的,项目作者有权利追讨本项目的使用费,或者直接不允许使用任何包含本项目的源代码!任何性质的外包公司或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
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","[email protected]");//给对象设置值
//动态增删对象的属性
MyClass myClass = new MyClass();
var mc = myClass.AddProperty(new List()
{
new ClassHelper.CustPropertyInfo(typeof(string), "Name", "张三"),
new ClassHelper.CustPropertyInfo(typeof(double), "Number", 123456.0),
});//添加属性
object newObj = mc.DeleteProperty(new List() { "Email", "Age", "IP", "PhoneNumber" });// 删除属性
Console.WriteLine(newObj.ToJsonString());// {"Password":null,"Name":"张三","Number":123456.0}
https://github.com/XiLife-OSPC/Masuit.Toolsgithub.com
Orchard Core是使用http://ASP.NET Core构建的开源模块化,多租户应用程序框架,以及在该应用程序框架之上构建的内容管理系统(CMS)。
Orchard Core包含两个不同的项目:
https://github.com/OrchardCMS/OrchardCoregithub.com
优秀的.NET Core开源项目的集合,从入门到进阶!
内容包括:库、工具、框架、模板引擎、身份认证、数据库、ORM框架、图片处理、文本处理、机器学习、日志、代码分析、教程等。
https://github.com/jasonhua95/awesome-dotnet-coregithub.com
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.Coregithub.com
YiShaAdmin 基于.NET Core Web开发,借鉴了很多开源项目的优点,让你开发Web管理系统和移动端Api更简单,所以我也把她开源了。 她可以用于所有的Web应用程序,例如网站管理后台、CMS、CRM、ERP、OA这类的系统和移动端Api。
采用Bootstrap + http://ASP.NET Core + Entity Framework Core基础架构。
内置功能
是一款基于代码生成器的快速开发平台,基于代码生成器的开发方式,可以将编码工作量减少70%以上,为企业提高开发效率,为企业节省项目研发成本,减少开发周期。
https://github.com/liukuo362573/YiShaAdmingithub.com
C#开源项目推荐,.NET Core源码必须推荐!
https://github.com/dotnet/aspnetcoregithub.com
Util是一个.net core平台下的应用框架,旨在提升小型团队的开发输出能力,由常用公共操作类(工具类)、分层架构基类、Ui组件,第三方组件封装,第三方业务接口封装,配套代码生成模板,权限等组成。
https://github.com/dotnetcore/Utilgithub.com
OSharpNS 全称 OSharp Framework with .NetStandard2.x,是一个基于.NetStandard2.x开发的一个.NetCore快速开发框架。
这个框架使用最新稳定版的.NetCore SDK(当前是.NET Core 3.1),对 AspNetCore 的配置、依赖注入、日志、缓存、实体框架、Mvc(WebApi)、身份认证、权限授权等模块进行更高一级的自动化封装,并规范了一套业务实现的代码结构与操作流程,使 .Net Core 框架更易于应用到实际项目开发中。
个人博客系统
https://github.com/IKende/XBloggithub.com
FreeSql 是功能强大的对象关系映射技术(O/RM),支持 .NETCore 2.1+ 或 .NETFramework 4.0+ 或 Xamarin。
https://github.com/dotnetcore/FreeSqlgithub.com
经典的的DI框架。
Autofac是Microsoft .NET的IoC容器。它管理类之间的依赖关系,以使应用程序随着大小和复杂性的增长而易于更改。
简单入门
注册组件,然后构建组件容器。
var builder = new ContainerBuilder();
builder.Register(c => new TaskController(c.Resolve()));
builder.RegisterType();
builder.RegisterInstance(new TaskController());
builder.RegisterAssemblyTypes(controllerAssembly);
var container = builder.Build();
从容器或嵌套范围,解析服务。
var taskController = container.Resolve();
https://github.com/autofac/Autofacgithub.com
.Net Core快速应用开发框架、最好用的权限工作流系统。
基于经典领域驱动设计的权限管理及快速开发框架,源于Martin Fowler企业级应用开发思想及最新技术组合(IdentityServer、EF core、Quartz、AutoFac、WebAPI、Swagger、Mock、NUnit、VUE、Element-ui等)。已成功在docker/jenkins中实施。核心模块包括:组织机构、角色用户、权限授权、表单设计、工作流等。
hello,一个经典的abp框架!
abp是一款DDD模式的框架,它具备分层以及模块化的结构,框架本身含有授权,验证,异常处理,日志,本地化,数据库连接管理,设置管理,审计日志等,ABP是一个开源的且文档友好的应用框架,起始的想法是,“开发一款为所有公司和开发者通用的框架!”。它不仅仅是一个框架,更提供了一个基于DDD和最佳实践的健壮的体系模型。
wjkhappy14/Abp.VNext.Hellogithub.com
未完待续...
如果你有好的开源项目也可以推荐哦!