Loading... ## 基于.NET平台常用的框架整理 自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就继续补充这篇日志,日积月累,就能形成一个自己的组件经验库。 ## 分布式缓存框架: Microsoft Velocity:微软自家分布式缓存服务框架。 Memcahed:一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度。 Redis:是一个高性能的KV数据库。 它的出现很大程度补偿了Memcached在某些方面的不足。 EnyimMemcached:访问Memcached最优秀的.NET客户端,集成不错的分布式均衡算法。 ## 开源的.NET系统推荐: WTF:.net 核心的快速发展框架 KopSoft:开源免费WMS仓库管理系统 BCVP(Blog.Core&Vue Project): 开箱即用的企业级前后端分离【 .NET Core3.1 Api + Vue 2.x + RBAC】权限框架。 Meiam.System - .NET 5 / .NET Core 3.1 WebAPI + Vue 2.0 + RBAC 企业级前后端分离权限框架:通用后台+权限+菜单 Viper:.NET Core 微服务 快速开发框架 Furion: .NET 5企业级框架。 YiShaAdmin:基于.NET Core Web(mvc,缓存,多库)开发管理系统。 OrchardCore:在 ASP.NET 核心上构建模块化、多租户应用程序的应用框架。 Adnc:一个轻量级的.Net Core微服务开发框架。 OXITE:微软ASP.NET MVC案例演示框架。 PetShop:微软ASP.NET宠物商店。 Orchard:国外一个MVC开源的博客系统。 SSCLI:微软在NET Framework 2.0时代的开源代码。 DasBlog:国外一个基于ASP.NET的博客系统。 BlogEngine.NET:国外一款免费开源的博客系统。 Dotnetnuke.NET:一套非常优秀的基于ASP.NET的开源门户网站程序。 Discuz.NET:国内开源的论坛社区系统。 nopCommerce和Aspxcommerce:国外一套高质量的开源B2C网站系统。 JumboTCMS和DTCMS:国内两款开源的网站管理系统: ## 日志记录异常处理: Log4Net.dll:轻量级的免费开源.NET日志记录框架。 Enterprise Library Log Application Black:微软企业库日志记录。 Elmah:实现最流行的ASP.NET应用异常日志记录框架。 NLog:是一个简单灵活的日志记录类库,性能比Log4Net高,使用和维护难度低。 ## 关于 Excel Pdf Word Html Csv 的处理 : Magicodes.IE:导入导出通用库,支持Dto导入导出、模板导出、花式导出以及动态导出,支持Excel、Csv、Word、Pdf和Html。 ## 关于NoSQL数据库: Mongodb:分布式文件存储数据库。 Membase:家族的一个新的重量级的成员。 ## 自动任务调度框架 Quartz.NET:开源的作业调度和自动任务框架。 Topshelf:另一种创建Windows服务的开源框架 ## 依赖注入IOC容器框架: Unity:微软patterns&practicest团队开发的IOC依赖注入框架,支持AOP横切关注点。 MEF(Managed Extensibility Framework):是一个用来扩展.NET应用程序的框架,可开发插件系统。 Spring.NET:依赖注入、面向方面编程(AOP)、数据访问抽象,、以及ASP.NET集成。 Autofac:最流行的依赖注入和IOC框架,轻量且高性能,对项目代码几乎无任何侵入性。 PostSharp:实现静态AOP横切关注点,使用简单,功能强大,对目标拦截的方法无需任何改动。 Ninject:基于.NET轻量级开源的依赖注入IOC框架 ## 常用的几个ORM框架: SqlSugar:国产的orm必须支持,比dapper,ef好用,推荐 EF(ADO.NET Entity Framework):微软基于ADO.NET开发的ORM框架。 Nhibernate:面向.NET环境的轻量级的ORM框架。 SqlMapper.cs:用于小项目的通用的C#数据库访问类。 AutoMapper:流行的对象映射框架,可减少大量硬编码,很小巧灵活,性能表现也可接受。 SubSonic:优秀的开源的ORM映射框架,同时提供符合自身需要的代码生成器。 FluentData:开源的基于Fluent API的链式查询ORM轻量级框架。 Dapper:轻量级高性能基于EMIT生成的ORM框架。 EmitMapper:性能较高的ORM框架,运行时通过EMIT动态生成IL代码,并非采用反射机制。 ## 格式和数据类型转换 Newtonsoft.Json:目前.NET开发中最流行的JSON序列化库,为新版的WebApi库提供基础。 System.JSON.dll:微软自己开发的JSON序列化组件(需要单独下载) DataContractJsonSerializer 和 DataContractXmlSerializer:微软在WCF中使用的序列化器。 JavaScriptSerializer:微软默认针对WEB开发者提供的JSON格式化器。 iTextSharp、PDFsharp 和 PDF.NET:通过.NET处理和生成PDF文档的组件。 SharpZipLib.dll:免费开源的ZIP和GZIP文件解压缩组件。 Math.NET:强大的数学运算、微积分、解方程和科学运算。 DocX:不需要安装word软件,通过C#操作word文件。 SharpSerializer:开源XML和、二进制、JSON、压缩和优化框架。 ## 反射和动态语言 Clay dynamic:开源的动态语言dynamic框架让您形如javascript的方式创建对象。 ExposedObject:在类的外部通过动态语言dynamic的方式访问私有成员。 PrivateObject:微软单元测试框架中便捷在外部调用类内部私有成员的一个类。 ## 跨平台和运行时解决方案 MONO.NET:跨平台的.NET运行环境,让.NET跨平台运行成为可能。 DotGnu Portable.NET:类似于MONO.NET的跨平台运行时。 Phalanger:将PHP编译成.NET,可实现PHP与.NET互操作。 VMDotNet:中国移动飞信所使用过的.NET运行时。 Unity3D:微软大力支持的机遇C#和JavaScript的跨平台游戏开发框架。 Cassini、IIS Express和Cassinidev:开源的ASP.NET执行环境。 Katana:微软基于OWIN规范实现的非IIS寄宿ASP.NET和MVC等。 IKVM.NET:基于.NET的JAVA虚拟机,让JAVA运行在.NET之上。 ## WEB开发和设计 Jumony Core:基于.NET开发的HTML引擎。 Microsoft.mshtml.dll、Winista.HtmlParser.dll 和 HtmlAgilityPack.dll:解析处理HTML文档的框架。 JavaScript.NET和ClearScript(微软出品):基于.NET开发的JavaScript引擎。 NCrawler:其HTML处理引擎htmlagilitypack的的开源网络爬虫软件。 AntiXSS:微软官方预防跨站XSS脚本入侵攻击的开源类库,它通过白名单机制进行内容编码。 YUICompressor.NET、Microsoft Ajax Minifier 和 Google Closure Compiler:JavaScrip和CSS压缩器。 NancyFx:是一个不错的轻量级开源.NET WEB框架。如果想快速做个简单的WEB应用。 AspNetPager:国内知名的ASP.NET分页控件,支持多种分页方式。 NOPI.dll:导出Excel报表的插件(基于微软OpenXml实现)(nopi.css.dl通过css设置样式) Enterprise Library:微软针对企业级应用开发的最佳实践组件。 PowerCollections:国外一个牛人写的高级开源集合。 ## 移动互联网和云计算 PushSharp:通过.NET向各种移动平台推送消息。 mono for android:用.NET语言开发安卓应用: MonoTouch:用.NET语言开发IOS应用。 PhoneGap和AppCan:跨平台基于HTML5的移动开发平台。 Cordova:PhoneGap贡献给Apache后的开源项目,是驱动PhoneGap的核心引擎。 ## 网络通信和网络协议 SuperSocket:基于.NET轻量级的可扩展的Socket开发框架。 SuperWebSocket:通过.NET实现TML5 WebSocket框架。 XProxy:支持插件的基础代理程序集,内置NAT、加解密、反向、直接和间接代理。 ## 图形和图像处理框架 Paint.NET:基于.NET小巧灵活强大的图形处理开源项目。 Imagemagick.NET:用C#对开源图像处理组件Imagemagick的封装。 Skimpt:基于.NET开源的屏幕截图软件。 ImageGlue.NET:商业的图像处理组件,支持的格式列了一大堆。 Sprite and Image Optimization Framework:微软CSS精灵,多图合成一张大图和CSS样式。 ## 桌面应用程序框架 DevExpress:一个全球知名的桌面应用程序UI控件库。 Prism:微软开发的针对WPF和Silverlight的MVVM框架,通过功能模块化的思想,来讲复杂的业务功能和UI耦合性进行分离。 WPFToolkit 和 Fluent Ribbon Control Suite:开发类似于Office风格的Ribbon菜单。 ## 测试和性能评估方面 Faker.Net:方便生成大批量测试数据的框架。 Nunit:一个轻量级的单元测试框架。 Moq:非常流行的Mock框架,支持LINQ,灵活且高性能。 xUnit:比NUnit更好的单元测试框架,升级改进版的Nunit框架。 MiniProfiler和Glimpse:基于MVC的两款性能事件监控框架。 ## 事务和分布式事务支持 KtmIntegration:一个支持NTFS文件系统的事务开源类。 NET Transactional File Manager:对文件系统操作(复制、移动和删除)加入事务支持。 ## 分词、全文检索和搜索引擎 Lucene.net:流行高性能的全文索引库,可用于为各类信息提供强大的搜索功能。 Lucene.Net.Analysis.PanGu:支持Lucene.Net最新版的盘古中文分词扩展库。 ## 数据验证组件整理 FluentValidation for .NET:基于LINQ表达式方法链Fluent接口验证组件。 Microsoft.Practices.EnterpriseLibrary.Validation.dll:微软企业库验证程序块。 CuttingEdge.Conditions:基于Fluent接口方法练接口的契约编程组件。 DotNetOpenAuth:让网站具备支持OpenID、OAuth、InfoCard等身份验证的能力。 ## 开源图表统计控件: Visifire:一套效果非常好的WPF图表控件,支持3D绘制、曲线、折线、扇形、环形和梯形。 SparrowToolkit:一套WPF图表控件集,支持绘制动态曲线,可绘制示波器、CPU使用率和波形。 DynamicDataDisplay:微软开源的WPF动态曲线图,线图、气泡图和热力图。 ![](https://img-blog.csdnimg.cn/20210517111144223.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNzMyMzM2,size_1,color_FFFFFF,t_0#pic_center) 最后修改:2023 年 10 月 11 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏