10个.NET Core开源项目,实用工具推荐!

dotNET全栈开发

共 4492字,需浏览 9分钟

 ·

2021-07-10 08:15



开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激、尊重。请严格遵守每个项目的开源协议后再使用。尊重知识产权,共建和谐开源社区。


以下开源项目(含组件),从网络搜集,后期会不断补充。


一、ConsoleTableExt


ConsoleTableExt是在C#控制台应用程序中使用打印格式良好的表的开源库。

功能特性

  • 支持框图形字符
  • 表对齐(左右和中间)
  • 柱对齐(左/右/中)
  • 表可以有标题,可以更改文本颜色和标题背景颜色,支持标题对齐(左/右/中)
  • 支持power char映射,强大的定制能力
  • 包含一些流行的形式,如标记表。。。
  • 支持文本格式化程序(包括标题)
  • 支持多种数据类型:DataTable、List。。。
  • 支持元数据行(放置在表的顶部或底部)
  • 柱最小长度
  • 支持.NET Framework>=3.5、.NET Core

开源地址:https://github.com/minhhungit/ConsoleTableExt

二、FluentFTP

FluentFTP 是 C#.NET 下最好用的Ftp传输开源库。它是一个完全管理的FTP和FTPS库,适用于.NET和.NET Standard,针对速度进行了优化。它提供广泛的FTP命令、文件上载/下载、SSL/TLS连接、自动目录列表解析、文件哈希/校验和、文件权限/CHMOD、FTP代理、FXP传输、UTF-8支持、异步/等待支持、Powershell支持等等。

开源地址:https://github.com/robinrodricks/FluentFTP

开发文档:https://github.com/robinrodricks/FluentFTP/wiki

三、DotnetSpider

DotnetSpider 是C#.NET开发的轻量、灵活、高性能、跨平台的分布式网络爬虫框架。可以帮助 .NET 工程师快速的完成爬虫的开发。整个爬虫设计是纯异步的,利用消息队列进行各个组件的解耦,若是只需要单机爬虫则不需要做任何额外的配置,默认使用了一个内存型的消息队列;若是想要实一个纯分布式爬虫,则需要引入一个消息队列即可。具体查看官方在线文档 https://github.com/dotnetcore/DotnetSpider/wiki 。

开源地址:https://github.com/dotnetcore/DotnetSpider

四、携程 Apollo

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。

Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring Boot环境也有较好的支持。

.Net客户端不依赖任何框架,能够运行于所有.Net运行时环境,参考《.Net客户端使用指南》。

更多产品介绍参见Apollo配置中心介绍。

本地快速部署请参见Quick Start。

产品特性

  • 统一管理不同环境、不同集群的配置
    • Apollo提供了一个统一界面集中式管理不同环境(environment)、不同集群(cluster)、不同命名空间(namespace)的配置。
    • 同一份代码部署在不同的集群,可以有不同的配置,比如zk的地址等
    • 通过命名空间(namespace)可以很方便的支持多个不同应用共享同一份配置,同时还允许应用对共享的配置进行覆盖
    • 配置界面支持多语言(中文,English)
  • 配置修改实时生效(热发布)
    • 用户在Apollo修改完配置并发布后,客户端能实时(1秒)接收到最新的配置,并通知到应用程序。
  • 版本发布管理
    • 所有的配置发布都有版本概念,从而可以方便的支持配置的回滚。
  • 灰度发布
    • 支持配置的灰度发布,比如点了发布后,只对部分应用实例生效,等观察一段时间没问题后再推给所有应用实例。
  • 权限管理、发布审核、操作审计
    • 应用和配置的管理都有完善的权限管理机制,对配置的管理还分为了编辑和发布两个环节,从而减少人为的错误。
    • 所有的操作都有审计日志,可以方便的追踪问题。
  • 客户端配置信息监控
    • 可以方便的看到配置在被哪些实例使用
  • 提供Java和.Net原生客户端
    • 提供了Java和.Net的原生客户端,方便应用集成
    • 支持Spring Placeholder,Annotation和Spring Boot的ConfigurationProperties,方便应用使用(需要Spring 3.1.1+)
    • 同时提供了Http接口,非Java和.Net应用也可以方便的使用
  • 提供开放平台API
    • Apollo自身提供了比较完善的统一配置管理界面,支持多环境、多数据中心配置管理、权限、流程治理等特性。
    • 不过Apollo出于通用性考虑,对配置的修改不会做过多限制,只要符合基本的格式就能够保存。
    • 在我们的调研中发现,对于有些使用方,它们的配置可能会有比较复杂的格式,如xml, json,需要对格式做校验。
    • 还有一些使用方如DAL,不仅有特定的格式,而且对输入的值也需要进行校验后方可保存,如检查数据库、用户名和密码是否匹配。
    • 对于这类应用,Apollo支持应用方通过开放接口在Apollo进行配置的修改和发布,并且具备完善的授权和权限控制
  • 部署简单
    • 配置中心作为基础服务,可用性要求非常高,这就要求Apollo对外部依赖尽可能地少
    • 目前唯一的外部依赖是MySQL,所以部署非常简单,只要安装好Java和MySQL就可以让Apollo跑起来
    • Apollo还提供了打包脚本,一键就可以生成所有需要的安装包,并且支持自定义运行时参数

Gitee地址:https://gitee.com/lepdou/apollo

五、轻量级配置中心AgileConfig

基于.NetCore开发的轻量级(相对Apollo而言)配置中心,部署简单、配置简单,使用简单,可以根据个人或者公司需求采用。

  • 部署简答,最少只需要一个数据节点,支持docker部署
  • 支持多节点分布式部署来保证高可用
  • 配置支持按照应用隔离,应用内配置支持分组隔离
  • 使用长链接技术,配置信息实时推送到客户端
  • 支持IConfiguration、IOptions模式读取配置,原程序几乎不用改造
  • 配置修改支持版本记录,随时回滚配置
  • 所有所有节点都故障,客户端支持从本地缓存读取配置


配置完成后即可进入系统



GitHub地址:https://github.com/kklldog/AgileConfig

GitHub中文文档:https://github.com/kklldog/AgileConfig/blob/master/README_CN.md

开发作者的文章:https://www.cnblogs.com/kklldog/p/agile-config.html

《.NET轻量级配置中心AgileConfig》

六、DotNetCommon

搜集.neter开发常用的功能,运行环境:.net4.7;.netstandard2.0;net5.0;

功能列表

  1. 通用数据模型
  2. 树状结构&平铺数据的访问
  3. 序列化
  4. 注册表
  5. 编码和加解密
  6. 分布式id&分布式流水号
  7. 校验框架
  8. 压缩&解压缩
  9. 验证码生成
  10. 汉字转拼音
  11. Dto和Entity转换之Mapper扩展
  12. 递归篡改对象的属性值之Modify扩展
  13. 将Dto属性投影到Entity之ModifyByDto扩展
  14. 不同数据类型间的转换之To方法
  15. 随机数
  16. 对象池
  17. 基于内存的并发消息队列
  18. 反射工具
  19. 主机诊断报告
  20. 对象深度比对工具
  21. 网络帮助类
  22. 单位转换器(B/KB/MS/GB)
  23. 金额大小写转换
  24. 枚举类型扩展方法
  25. 常用扩展方法

开源地址:https://gitee.com/jackletter/DotNetCommon/wikis/

七、Files

Files 是一个用C#开发的文件管理器,它利用了 Windows 平台的最新功能,包括 Fluent Design、无缝更新和 API,可实现用户期望的性能和生命周期行为。无论您是想简化您的文件体验还是尝试新事物,Files 都是一个一站式解决方案,可帮助您快速浏览文件。

Files 的愿景是使其成为最好的文件管理器,同时保持简单易用。

特点

  • Fluent Design
  • 多选项卡模式
  • 支持7zip
  • 支持快速查看

可以从以下两个地方下载:

微软应用商店:https://www.microsoft.com/store/apps/9NGHP3DX8HDX

开源地址:https://github.com/files-community/Files


八、FastTunnel 内网穿透框架

如果在内网部署一个网站或应用,也只有处于内网之中的其他网络设备才能访问;但如果你想让公网上任何人都可以访问你的内网应用,则必须要采取一些手段,内网穿透在这种背景下应用而生。

FastTunnel是用 .NET Core 开发的一款跨平台内网穿透工具,它可以实现将内网服务暴露到公网供自己或任何人访问。

  • FastTunnel是一款高性能跨平台内网穿透工具,使用它可以实现将内网服务暴露到公网供自己或任何人访问。
  • 与其他穿透工具不同的是,FastTunnel 项目致力于打造一个易于扩展、易于维护的内网穿透框架。
  • 你可以通过引用 FastTunnel.Core 的 nuget 包构建出自己的穿透应用,并针自己所需的业务扩展功能。

FastTunnel荣获开源中国2020最有价值开源项目。


FastTunnel应用场景

  • 家中建站
  • 微信开发
  • 远程桌面
  • ERP互通
  • SVN代码仓库
  • 端口转发
  • IOT物联网
  • 其他场景

官网:https://suidao.io

Gitee:https://gitee.com/Hgui/FastTunnel

GitHub::https://github.com/SpringHgui/FastTunnel

转自:张传宁

cnblogs.com/SavionZhang/p/14957289.html


回复 【关闭】广
回复 【实战】获取20套实战源码
回复 【被删】
回复 【访客】访
回复 【小程序】学获取15套【入门+实战+赚钱】小程序源码
回复 【python】学微获取全套0基础Python知识手册
回复 【2019】获取2019 .NET 开发者峰会资料PPT
回复 【加群】加入dotnet微信交流群

卧槽,你更新Win11了嘛?


又来一个Windows神器!


浏览 172
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报