1. 数据处理与序列化框架
– Json.Net:是一个读写Json效率较高的.Net框架,通过LinqToJSON可快速读写Json,使用JsonSerializer能序列化.Net对象,轻松实现.Net中各类数据类型和Json的转换,适用于需要频繁进行JSON数据处理和交互的场景,如Web API开发中数据的序列化与反序列化 。
– Dapper:是轻型的ORM类,代码仅一个SqlMapper.cs文件,编译后Dll很小(约40K),速度接近IDataReader,取列表数据超过DataTable,支持多种数据库(如Mysql、SqlLite、Mssql2000等),适合对数据库操作性能要求较高,且数据库交互逻辑相对简单的项目 。
– NHibernate:是面向.NET环境的对象/关系数据库映射工具,将对象模型表明的对象映射到基于SQL的关系模型数据结构中,适用于业务逻辑复杂、对象关系复杂的项目,在处理对象与数据库映射时有强劲的功能和灵活性,但配置和学习成本相对较高 。
2. 数学运算框架
– Math.NET:目标是提供一款自身包含清晰框架的符号运算和数学运算/科学运算的开源类库,包含支持线性代数的解析器,能分析复杂微分、解方程等,适用于科学计算、工程计算等需要进行大量数学运算的场景 。
3. 测试数据生成框架
– Faker.Net:可以方便地生成大批量测试数据,例如人员表中的姓名、性别等,适合在软件开发测试阶段,需要模拟大量真实数据进行测试的场景,协助开发者快速搭建测试环境 。
4. HTML解析框架
– HTML Agility Pack + ScrapySharp:HTML Agility Pack提供标准的DOM API和XPath导航,即使HTML格式不规范也能处理;搭配ScrapySharp可彻底解除Html解析的痛苦,适用于网页数据抓取、网页解析等场景 。
5. 网络爬虫框架
– NCrawler:是国外的开源网络爬虫软件,遵循LGPL许可协议,其HTML处理使用htmlagilitypack开源库,采用xpath方式处理定位网页元素,方便对网页内容进行抓取和分析,适用于需要进行大规模网页数据采集的项目 。
6. Socket开发框架
– SuperSocket:是轻量级可扩展的Socket开发框架,使用纯C#开发,可用来构建服务器端Socket程序,无需开发者了解Socket底层原理,易于扩展和集成到已有.NET项目中,适用于需要开发网络通信相关的服务器程序的场景 。
– SuperWebSocket:基于.NET开源Socket框架SuperSocket开发,继承了SuperSocket的大部分功能,专门用于WebSocket开发,适用于需要实现实时通信、消息推送等功能的项目,如在线聊天、实时数据展示等 。
7. 作业调度框架
– Quartz.NET:是开源的作业调度框架,是OpenSymphony的Quartz API的.NET移植,用C#写成,可用于winform和asp.net应用中,提供了巨大的灵活性且不牺牲简单性,能创建简单或复杂的调度,具有数据库支持、集群、插件、支持cron-like表达式等特征,适用于需要进行定时任务调度的项目,如定时数据备份、定时报表生成等 。
8. 全文检索框架
– Lucene.net:是Lucene的.net移植版本,是开源的全文检索引擎开发包,提供完整的查询引擎和索引引擎,开发者可基于它实现全文检索功能,适用于需要实现全文搜索功能的项目,如搜索引擎、文档检索系统等 。
9. 线程管理框架
– SmartThreadPool:可简单实现支持多线程的程序,由线程池管理线程,能减少死锁出现,还支持简单的生产者 – 消费者模式,当不需要对任务进行持久化时超级好用,适用于需要进行多线程并发处理的场景,如多任务下载、并行计算等 。
10. 文档处理框架
– DocX:是用来操作word的轻量级类库,适合对Word文档进行简单操作的场景,如文档生成、内容修改等 。
– NPOI:是POI项目的.NET版本,可在没有安装Office或相应环境的机器上对WORD/EXCEL文档进行读写,构建在POI 3.x版本之上,适用于需要进行Word和Excel文档读写操作的项目,如数据导出到Excel、读取Word文档内容等 。
– PDFsharp:可以在.NET语言中轻松创建PDF文档,还能修改、合并、拆分已有的PDF文件,支持透明图像,适用于需要进行PDF文档处理的场景,如生成报告、合同等PDF文件 。
11. 跨平台开发框架
– Uno Platform:是开源的单一代码库框架,基于.NET和XAML,允许开发者使用C#和XAML编写一次代码,然后在多个平台上运行,包括iOS、Android、Windows、WebAssembly等,适用于需要开发跨平台移动、Web和桌面应用程序的场景,可大大提高开发效率,减少代码重复度 。













- 最新
- 最热
只看作者