10個(gè).NET Core開源項(xiàng)目,實(shí)用工具推薦!
開源項(xiàng)目是眾多組織與個(gè)人分享的組件或項(xiàng)目,作者付出的心血我們是無(wú)法體會(huì)的,所以首先大家要心存感激、尊重。請(qǐng)嚴(yán)格遵守每個(gè)項(xiàng)目的開源協(xié)議后再使用。尊重知識(shí)產(chǎn)權(quán),共建和諧開源社區(qū)。
以下開源項(xiàng)目(含組件),從網(wǎng)絡(luò)搜集,后期會(huì)不斷補(bǔ)充。
一、ConsoleTableExt
ConsoleTableExt是在C#控制臺(tái)應(yīng)用程序中使用打印格式良好的表的開源庫(kù)。
功能特性
支持框圖形字符 表對(duì)齊(左右和中間) 柱對(duì)齊(左/右/中) 表可以有標(biāo)題,可以更改文本顏色和標(biāo)題背景顏色,支持標(biāo)題對(duì)齊(左/右/中) 支持power char映射,強(qiáng)大的定制能力 包含一些流行的形式,如標(biāo)記表。。。 支持文本格式化程序(包括標(biāo)題) 支持多種數(shù)據(jù)類型:DataTable、List。。。 支持元數(shù)據(jù)行(放置在表的頂部或底部) 柱最小長(zhǎng)度 支持.NET Framework>=3.5、.NET Core

開源地址:https://github.com/minhhungit/ConsoleTableExt
二、FluentFTP
FluentFTP 是 C#.NET 下最好用的Ftp傳輸開源庫(kù)。它是一個(gè)完全管理的FTP和FTPS庫(kù),適用于.NET和.NET Standard,針對(duì)速度進(jìn)行了優(yōu)化。它提供廣泛的FTP命令、文件上載/下載、SSL/TLS連接、自動(dòng)目錄列表解析、文件哈希/校驗(yàn)和、文件權(quán)限/CHMOD、FTP代理、FXP傳輸、UTF-8支持、異步/等待支持、Powershell支持等等。
開源地址:https://github.com/robinrodricks/FluentFTP
開發(fā)文檔:https://github.com/robinrodricks/FluentFTP/wiki

三、DotnetSpider
DotnetSpider 是C#.NET開發(fā)的輕量、靈活、高性能、跨平臺(tái)的分布式網(wǎng)絡(luò)爬蟲框架。可以幫助 .NET 工程師快速的完成爬蟲的開發(fā)。整個(gè)爬蟲設(shè)計(jì)是純異步的,利用消息隊(duì)列進(jìn)行各個(gè)組件的解耦,若是只需要單機(jī)爬蟲則不需要做任何額外的配置,默認(rèn)使用了一個(gè)內(nèi)存型的消息隊(duì)列;若是想要實(shí)一個(gè)純分布式爬蟲,則需要引入一個(gè)消息隊(duì)列即可。具體查看官方在線文檔 https://github.com/dotnetcore/DotnetSpider/wiki 。

開源地址:https://github.com/dotnetcore/DotnetSpider
四、攜程 Apollo

Apollo(阿波羅)是攜程框架部門研發(fā)的分布式配置中心,能夠集中化管理應(yīng)用不同環(huán)境、不同集群的配置,配置修改后能夠?qū)崟r(shí)推送到應(yīng)用端,并且具備規(guī)范的權(quán)限、流程治理等特性,適用于微服務(wù)配置管理場(chǎng)景。
服務(wù)端基于Spring Boot和Spring Cloud開發(fā),打包后可以直接運(yùn)行,不需要額外安裝Tomcat等應(yīng)用容器。
Java客戶端不依賴任何框架,能夠運(yùn)行于所有Java運(yùn)行時(shí)環(huán)境,同時(shí)對(duì)Spring/Spring Boot環(huán)境也有較好的支持。
.Net客戶端不依賴任何框架,能夠運(yùn)行于所有.Net運(yùn)行時(shí)環(huán)境,參考《.Net客戶端使用指南》。
更多產(chǎn)品介紹參見(jiàn)Apollo配置中心介紹。
本地快速部署請(qǐng)參見(jiàn)Quick Start。

產(chǎn)品特性
統(tǒng)一管理不同環(huán)境、不同集群的配置 Apollo提供了一個(gè)統(tǒng)一界面集中式管理不同環(huán)境(environment)、不同集群(cluster)、不同命名空間(namespace)的配置。 同一份代碼部署在不同的集群,可以有不同的配置,比如zk的地址等 通過(guò)命名空間(namespace)可以很方便的支持多個(gè)不同應(yīng)用共享同一份配置,同時(shí)還允許應(yīng)用對(duì)共享的配置進(jìn)行覆蓋 配置界面支持多語(yǔ)言(中文,English) 配置修改實(shí)時(shí)生效(熱發(fā)布) 用戶在Apollo修改完配置并發(fā)布后,客戶端能實(shí)時(shí)(1秒)接收到最新的配置,并通知到應(yīng)用程序。 版本發(fā)布管理 所有的配置發(fā)布都有版本概念,從而可以方便的支持配置的回滾。 灰度發(fā)布 支持配置的灰度發(fā)布,比如點(diǎn)了發(fā)布后,只對(duì)部分應(yīng)用實(shí)例生效,等觀察一段時(shí)間沒(méi)問(wèn)題后再推給所有應(yīng)用實(shí)例。 權(quán)限管理、發(fā)布審核、操作審計(jì) 應(yīng)用和配置的管理都有完善的權(quán)限管理機(jī)制,對(duì)配置的管理還分為了編輯和發(fā)布兩個(gè)環(huán)節(jié),從而減少人為的錯(cuò)誤。 所有的操作都有審計(jì)日志,可以方便的追蹤問(wèn)題。 客戶端配置信息監(jiān)控 可以方便的看到配置在被哪些實(shí)例使用 提供Java和.Net原生客戶端 提供了Java和.Net的原生客戶端,方便應(yīng)用集成 支持Spring Placeholder,Annotation和Spring Boot的ConfigurationProperties,方便應(yīng)用使用(需要Spring 3.1.1+) 同時(shí)提供了Http接口,非Java和.Net應(yīng)用也可以方便的使用 提供開放平臺(tái)API Apollo自身提供了比較完善的統(tǒng)一配置管理界面,支持多環(huán)境、多數(shù)據(jù)中心配置管理、權(quán)限、流程治理等特性。 不過(guò)Apollo出于通用性考慮,對(duì)配置的修改不會(huì)做過(guò)多限制,只要符合基本的格式就能夠保存。 在我們的調(diào)研中發(fā)現(xiàn),對(duì)于有些使用方,它們的配置可能會(huì)有比較復(fù)雜的格式,如xml, json,需要對(duì)格式做校驗(yàn)。 還有一些使用方如DAL,不僅有特定的格式,而且對(duì)輸入的值也需要進(jìn)行校驗(yàn)后方可保存,如檢查數(shù)據(jù)庫(kù)、用戶名和密碼是否匹配。 對(duì)于這類應(yīng)用,Apollo支持應(yīng)用方通過(guò)開放接口在Apollo進(jìn)行配置的修改和發(fā)布,并且具備完善的授權(quán)和權(quán)限控制 部署簡(jiǎn)單 配置中心作為基礎(chǔ)服務(wù),可用性要求非常高,這就要求Apollo對(duì)外部依賴盡可能地少 目前唯一的外部依賴是MySQL,所以部署非常簡(jiǎn)單,只要安裝好Java和MySQL就可以讓Apollo跑起來(lái) Apollo還提供了打包腳本,一鍵就可以生成所有需要的安裝包,并且支持自定義運(yùn)行時(shí)參數(shù)
Gitee地址:https://gitee.com/lepdou/apollo
五、輕量級(jí)配置中心AgileConfig
基于.NetCore開發(fā)的輕量級(jí)(相對(duì)Apollo而言)配置中心,部署簡(jiǎn)單、配置簡(jiǎn)單,使用簡(jiǎn)單,可以根據(jù)個(gè)人或者公司需求采用。
部署簡(jiǎn)答,最少只需要一個(gè)數(shù)據(jù)節(jié)點(diǎn),支持docker部署 支持多節(jié)點(diǎn)分布式部署來(lái)保證高可用 配置支持按照應(yīng)用隔離,應(yīng)用內(nèi)配置支持分組隔離 使用長(zhǎng)鏈接技術(shù),配置信息實(shí)時(shí)推送到客戶端 支持IConfiguration、IOptions模式讀取配置,原程序幾乎不用改造 配置修改支持版本記錄,隨時(shí)回滾配置 所有所有節(jié)點(diǎn)都故障,客戶端支持從本地緩存讀取配置

配置完成后即可進(jìn)入系統(tǒng)


GitHub地址:https://github.com/kklldog/AgileConfig
GitHub中文文檔:https://github.com/kklldog/AgileConfig/blob/master/README_CN.md
開發(fā)作者的文章:https://www.cnblogs.com/kklldog/p/agile-config.html
《.NET輕量級(jí)配置中心AgileConfig》
六、DotNetCommon
搜集.neter開發(fā)常用的功能,運(yùn)行環(huán)境:.net4.7;.netstandard2.0;net5.0;
功能列表
通用數(shù)據(jù)模型 樹狀結(jié)構(gòu)&平鋪數(shù)據(jù)的訪問(wèn) 序列化 注冊(cè)表 編碼和加解密 分布式id&分布式流水號(hào) 校驗(yàn)框架 壓縮&解壓縮 驗(yàn)證碼生成 漢字轉(zhuǎn)拼音 Dto和Entity轉(zhuǎn)換之Mapper擴(kuò)展 遞歸篡改對(duì)象的屬性值之Modify擴(kuò)展 將Dto屬性投影到Entity之ModifyByDto擴(kuò)展 不同數(shù)據(jù)類型間的轉(zhuǎn)換之To方法 隨機(jī)數(shù) 對(duì)象池 基于內(nèi)存的并發(fā)消息隊(duì)列 反射工具 主機(jī)診斷報(bào)告 對(duì)象深度比對(duì)工具 網(wǎng)絡(luò)幫助類 單位轉(zhuǎn)換器(B/KB/MS/GB) 金額大小寫轉(zhuǎn)換 枚舉類型擴(kuò)展方法 常用擴(kuò)展方法
開源地址:https://gitee.com/jackletter/DotNetCommon/wikis/
七、Files
Files 是一個(gè)用C#開發(fā)的文件管理器,它利用了 Windows 平臺(tái)的最新功能,包括 Fluent Design、無(wú)縫更新和 API,可實(shí)現(xiàn)用戶期望的性能和生命周期行為。無(wú)論您是想簡(jiǎn)化您的文件體驗(yàn)還是嘗試新事物,F(xiàn)iles 都是一個(gè)一站式解決方案,可幫助您快速瀏覽文件。
Files 的愿景是使其成為最好的文件管理器,同時(shí)保持簡(jiǎn)單易用。
特點(diǎn)
Fluent Design 多選項(xiàng)卡模式 支持7zip 支持快速查看

可以從以下兩個(gè)地方下載:
微軟應(yīng)用商店:https://www.microsoft.com/store/apps/9NGHP3DX8HDX
開源地址:https://github.com/files-community/Files
八、FastTunnel 內(nèi)網(wǎng)穿透框架
如果在內(nèi)網(wǎng)部署一個(gè)網(wǎng)站或應(yīng)用,也只有處于內(nèi)網(wǎng)之中的其他網(wǎng)絡(luò)設(shè)備才能訪問(wèn);但如果你想讓公網(wǎng)上任何人都可以訪問(wèn)你的內(nèi)網(wǎng)應(yīng)用,則必須要采取一些手段,內(nèi)網(wǎng)穿透在這種背景下應(yīng)用而生。
FastTunnel是用 .NET Core 開發(fā)的一款跨平臺(tái)內(nèi)網(wǎng)穿透工具,它可以實(shí)現(xiàn)將內(nèi)網(wǎng)服務(wù)暴露到公網(wǎng)供自己或任何人訪問(wèn)。
FastTunnel是一款高性能跨平臺(tái)內(nèi)網(wǎng)穿透工具,使用它可以實(shí)現(xiàn)將內(nèi)網(wǎng)服務(wù)暴露到公網(wǎng)供自己或任何人訪問(wèn)。 與其他穿透工具不同的是,F(xiàn)astTunnel 項(xiàng)目致力于打造一個(gè)易于擴(kuò)展、易于維護(hù)的內(nèi)網(wǎng)穿透框架。 你可以通過(guò)引用 FastTunnel.Core 的 nuget 包構(gòu)建出自己的穿透應(yīng)用,并針自己所需的業(yè)務(wù)擴(kuò)展功能。
FastTunnel榮獲開源中國(guó)2020最有價(jià)值開源項(xiàng)目。

FastTunnel應(yīng)用場(chǎng)景
家中建站 微信開發(fā) 遠(yuǎn)程桌面 ERP互通 SVN代碼倉(cāng)庫(kù) 端口轉(zhuǎn)發(fā) IOT物聯(lián)網(wǎng) 其他場(chǎng)景
官網(wǎng):https://suidao.io
Gitee:https://gitee.com/Hgui/FastTunnel
GitHub::https://github.com/SpringHgui/FastTunnel
轉(zhuǎn)自:張傳寧
cnblogs.com/SavionZhang/p/14957289.html


臥槽,你更新Win11了嘛?

又來(lái)一個(gè)Windows神器!
