10个.NET Core开源项目,实用工具推荐!
开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激、尊重。请严格遵守每个项目的开源协议后再使用。尊重知识产权,共建和谐开源社区。
以下开源项目(含组件),从网络搜集,后期会不断补充。
一、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;
功能列表
通用数据模型 树状结构&平铺数据的访问 序列化 注册表 编码和加解密 分布式id&分布式流水号 校验框架 压缩&解压缩 验证码生成 汉字转拼音 Dto和Entity转换之Mapper扩展 递归篡改对象的属性值之Modify扩展 将Dto属性投影到Entity之ModifyByDto扩展 不同数据类型间的转换之To方法 随机数 对象池 基于内存的并发消息队列 反射工具 主机诊断报告 对象深度比对工具 网络帮助类 单位转换器(B/KB/MS/GB) 金额大小写转换 枚举类型扩展方法 常用扩展方法
开源地址: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
卧槽,你更新Win11了嘛?
又来一个Windows神器!