当前位置: 首页 > article >正文

13个热门.Net开源项目

今天盘点下3月份分享的13个.Net开源项目(点击标题查看详情)。

一、Flurl:一个Star 3.9K的链式RESTful风格HTTP开源.Net库

Flurl是基于.Net开发的开源库,是一个现代化的、流畅的、异步的、可测试的、可移植的URL构建器和HTTP客户端库。这个开源项目提供了强大功能,使得开发人员方便构建和处理RESTful风格HTTP请求。

**1、URL构建快捷:**支持链式调用的方式,使得构建URL变得非常直观和简洁。方便开发人员添加查询参数、路径段等,而无需手动拼接字符串。

**2、内置了HTTP客户端功能:**支持发送GET、POST、PUT、DELETE等类型的请求,并可以方便地处理响应。它还支持异步操作,使得在处理大量请求或长时间运行的请求,不会阻塞主线程。

**3、可测试性:**它提供了模拟HTTP响应的功能,使得在单元测试或集成测试中能够模拟各种场景,从而确保代码的健壮性。

二、一个超快低延迟.Net网络通信库:支持TCP, SSL, UDP, HTTP,HTTPS, WebSocket多协议

NetCoreServer是一个基于.NET Core的开源项目,一个高性能、跨平台的异步套接字服务器与客户端库。该项目支持多种传输协议,包括TCP、SSL、UDP、HTTP、HTTPS以及WebSocket,为开发者提供了丰富的网络通信功能。

设计初衷是为了解决高并发、低延迟的网络通信需求。它采用了异步通信模型,能够高效地处理大量连接和数据传输。无论是在Linux、MacOS还是Windows平台上,NetCoreServer都能够稳定、可靠地运行,为开发者提供了一致的跨平台开发体验。

此外,还提供了详细的文档和丰富的示例代码,帮助开发者快速上手并理解如何使用该库。示例中包括TCP聊天服务器、SSL聊天服务器、UDP回声服务器等多种应用场景。

图片

三、一个基于.Net、支持直播等流媒体下载的开源项目

N_m3u8DL-RE是一个基于.NET的跨平台流媒体下载器,支持点播、直播(DASH/HLS)。

该项目提供了友好的用户界面、支持语言:English/简体中文/繁體中文。可以MPD/M3U8/ISM等格式的流媒体保存到本地,便于用户观看或进行二次创作。

图片

四、一套UI精美、控件丰富、多主题的WinForm开源界面库

ReaLTaiizor是一个基于.Net的开源WinForm UI库,包含了多种常用控件和多种主题风格,支持.Net Framework 4.8、.NetCore 3.1到.Net 8的版本范围。

此外,该项目还给出非常多的示例,这些示例包含:原神、卡巴斯基、MP3播放器、

Instagram、登录界面、支付等经典界面、控件。这对于初学者来说非常友好,通过这些示例就可以快速上手使用。

图片

五、Plotly.NET:一个强大的、漂亮的.NET开源交互式图表库

Plotly.NET是一个开源的.NET绘图库,它基于Plotly.js的API进行开发,提供了非常丰富的图表类型和交互功能。

Plotly.NET默认生成结果是Html文件,可以直接在浏览器打开,可以把Html保存至指定路径,或者保存为各种图片格式:JPG、PNG、SVG。

图片

六、Yantra:一个基于.Net跨平台JavaScript开源引擎

Yantra是一个基于.NET Standard开发的开源项目,提供了一个完全用C#编写的托管JavaScript引擎,方便.Net环境中高效地执行JavaScript脚本。

该项目支持多种JavaScript特性,包括ES5和ES6的许多功能,如箭头函数、类、类成员、增强的对象字面量、模板字符串、解构赋值、let和const声明、Map和Set等内置对象,以及二进制和八进制字面量。它还支持Async/Await异步编程模型、可选参数、尾调用优化等特性。

图片

七、StableSwarmUI:Stable Diffusion客户端,官方出品、功能强大且易用!

StableSwarmUI是由官方推出的WebUI框架,真正的文生图和图生图的推理任务,还是在后端执行,官方推荐我们配合ComfyUI来使用。

StableSwarmUI专注让Stable Diffusion变得易于访问,核心特点是易用性、高性能和可扩展性,提升用户体验。

StableSwarmUI不仅支持多种语言,还引入图像编辑器、自动模型格式检测以及额外的生成类型(如视频)等功能。它在定制方面还是不错的,提供了预设、主题和服务器配置等控制权,无需用户手动调优,使得经验较少的用户也能轻松上手。

图片

八、一个C#开源工具库,集成了超过1000个扩展方法

Z.ExtensionMethods是由zzzprojects公司开发并维护的一款开源库,为.NET开发人员提供一系列实用的扩展方法,可以减少重复劳动、提高开发效率,支持.NET Framework 和 .NET Core。

该项目不仅提供了丰富的功能,代码质量也是非常高的,用来学习编程规范也是不错的选择。

同时在官网也为每一个API提供了详细说明和使用方法,扩展方法分类如下,合计超过1000个扩展方法:

图片

九、ExcelDataReader:一个.Net高性能Excel开源读取器

ExcelDataReader是一个功能强大且易于使用的开源项目,提供了丰富的读取API,专门读取Excel文件的数据,特别是处理大数据量的情况。

ExcelDataReader支持Excel版本从2007年至2021年以及Office 365的Excel格式,支持文件格式如下:

图片

支持.Net4.6、.NetStandard2.0、.Net Core 5及更高版本。

十、Garnet:微软官方基于.Net 8开源缓存系统,可无需任何改动直接替代Redis,而且还更高性能!

Garnet是微软官方基于.Net 8开发的、开源高性能远程缓存存储系统,支持单节点、集群。

Garnet使用的是当前流行的 RESP 协议,使得当前大多数编程语言现成的 Redis 客户端无需做任何改动,比如C#中的StackExchange.Redis。

Garnet 在处理大量客户端连接和小批量数据时,有着更高的吞吐量和可扩展性,可为大型应用和服务节约成本。

在具有加速 TCP 功能的普通云(Azure)虚拟机,表现出极低的客户端延迟(在 99.9% 的情况下通常少于 300 微秒)。

Garnet是基于.Net 8开发的,在Windows、Linux都表现出极高的性能。

图片

十一、OxyPlot:一个功能强大、漂亮.Net跨平台开源绘图库

OxyPlot是一个基于.NET开发的、跨平台的绘图库,可用于多种平台和框架,如WPF、Windows 8、Windows Phone、Windows Phone Silverlight、Windows Forms、Silverlight、GTK#、Xwt、Xamarin.iOS、Xamarin.Android、Xamarin.Forms和Xamarin.Mac等。它提供了丰富的绘图功能,可以用于创建各种类型的图表,如折线图、柱状图、饼图、散点图等。

图片

十二、NodaTime:一个.NET开源的强大日期和时间库

NodaTime是一个为.NET设计的开源高级日期和时间库,它可以让开发人员更容易、更精确、更灵活的方式来处理日期、时间。

**时区支持:**提供了全面的时区支持,允许开发者处理不同时区的日期和时间,而无需担心时区转换和夏令时调整等复杂问题。

**精确性:**提供了高精度的时间表示,包括纳秒级别的精度,适用于需要高精度时间戳的场景。

**灵活的日期时间操作:**提供了丰富的日期时间操作,如日期时间的比较、加减、格式化等,使开发者能够更灵活地处理日期时间数据。

十三、推荐一个Dapper扩展库,使得更加轻松构建且安全的SQL查询!

DapperQueryBuilder是扩展库,它增强了Dapper的功能,特别是关于动态SQL查询和命令的构建。它提供了字符串插值和Fluent API的操作方式,让我们构建复杂的动态查询变得更加直观和简单,并且没有SQL注入的风险。

- End -

更多开源项目: https://github.com/bianchenglequ/NetCodeTop

我是编程乐趣,一个.Net开发经验老程序员,欢迎“关注”我,每天为你分享开源项目和编程知识。
也欢迎加入【.Net技术编程交流社区】,和大家共同学习交流!,
点击加入:https://bbs.csdn.net/topics/613465368


http://www.kler.cn/a/471430.html

相关文章:

  • Jmeter进阶篇(31)解决java.net.BindException: Address already in use: connect报错
  • 【C语言】可移植性陷阱与缺陷(八): 随机数的大小
  • NOVA:AutoRegressive Video Generation Without Vector Quantization——自回归视频生成无需向量量化
  • Android Audio基础(53)——PCM逻辑设备Write数据
  • C++二十三种设计模式之抽象工厂模式
  • 大数据架构演变
  • 安卓悬浮可跳动自动吸附可设置不同的吸附距离view
  • 【机器学习】机器学习的基本分类-自监督学习-自回归方法(Autoregressive Methods)
  • 计算机网络——数据链路层-流量控制和可靠传输
  • Docker - 6.设置SSH自动启动并使用root登录
  • 【工业场景】用YOLOv8实现工业配电柜开关状态识别
  • 鸿蒙ArkUI实现部门树列表
  • 入门嵌入式(四)——IICOLED
  • 用JAVA 源码角度看 客户端请求服务器流程中地址是域名情况下解析域名流程
  • CSS语言的文件操作
  • excel如何将小数转换为百分比
  • lec1-计算机概述
  • 深度学习:探索人工智能的未来
  • 深入解析 Python 中的函数也是对象及其内存分析
  • springboot+vue使用easyExcel实现导出功能
  • 小兔鲜儿:底部区域(头尾在每个页面都有,样式写在common.css中)
  • HTTP/HTTPS ①-代理 || URL || GET/POST || CDN
  • 利用Python爬虫获取淘宝店铺所有商品信息案例指南
  • 设计模式(1)——面向对象和面向过程,封装、继承和多态
  • 使用 Spring 的 事件发布和监听机制,结合异步执行 的功能达到方法异步执行
  • <style lang=“scss“ scoped>: 这是更常见的写法,也是官方文档中推荐的写法