.Net 優秀的開源框架整理


任務調度

  • Quartz.NET

Quartz.NET 是一個開源的作業調度框架,是OpenSymphony的Quartz API的.NET移植,它用C#寫成,可用於winform和asp.net應用中。它提供了巨大的靈活性而不犧牲簡單性。你能夠用它來為執行一個作業而 創建簡單的或復雜的調度。它有很多特征,如:數據庫支持,集群,插件,支持cron-like表達式等等。

全文檢索

  • Lucene.Net

Lucene.net是Lucene的.net移植版本,是一個開源的全文檢索引擎開發包,即它不是一個完整的全文檢索引擎,而是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎。開發人員可以基於Lucene.net實現全文檢索的功能。

Excel與word處理

  • NPOI(推薦)

NPOI是POI項目的 .NET 版本。POI是一個開源的Java讀寫Excel、WORD等微軟OLE2組件文檔的項目。使用 NPOI 你就可以在沒有安裝 Office 或者相應環境的機器上對 WORD/EXCEL 文檔進行讀寫。NPOI是構建在POI 3.x版本之上的,它可以在沒有安裝Office的情況下對Word/Excel文檔進行讀寫操作。

  • DocX

DocX是一個用來操作word的輕量級的類庫。借助DocX,開發人員可以在不需要安裝Microsoft Word的情況下操縱word2007/2010文件。

  • PDFsharp

PDFsharp 是可以輕松地在 .NET 語言中創建PDF文檔的開放源碼庫。它使用相同的繪制程序來創建 PDF 文檔,在屏幕上顯示,以及輸出到打印機。可以修改、合並、拆分已經存在的 PDF 文件,支持透明圖像。

ORM(對象關系映射)

ORM框架有很多,下面只介紹常用的。

  • Dapper(推薦)

Dapper是一個輕型的ORM類。編譯后就40K的一個很小的Dll.Dapper很快。Dapper的速度接近IDataReader,取列表的數據超 過了DataTable。Dapper支持Mysql、SqlLite、Mssql2000、Mssql2005、Oracle等一系列的數據庫,當然如 果你知道原理也可以讓它支持Mongodb。這個ORM十分強悍,至少在性能方面,恐怕.NET里面的大多數ORM只能是望其項背了。

  • NHibernate

NHibernate是現在開發人員用的較多的一個ORM。NHibernate是一個面向.NET環境的對象/關系數據庫映射工具。對象/關系數據庫映射(object/relational mapping,ORM)這個術語表示一種技術,用來把對象模型表示的對象映射到基於SQL的關系模型數據結構中去。

  • SqlSugar (推薦)

國內最受歡迎的 ORM 框架,支持.NET CORE 和 MySql、SqlServer、Sqlite、Oracle 、 postgresql 、達夢、人大金倉 數據庫,具有EF NH的功能,比EF更人性化的語法,支持真實的批量操作,另外還有媲美DAPPER的性能

  • Entity Framework

圖片

Entity Framework是一種對象關系映射器(O/RM),它使.NET開發人員能夠通過.NET對象來操作數據庫。它消除了開發人員通常需要編寫的大多數數據訪問代碼的需求。

  • PetaPoco

PetaPoco是一款適用於.NET應用程序的輕型對象關系映射器(ORM,  Object Relational Mapper)。與那些功能完備的ORM(如NHibernate或Entity Framework)不同的是,PetaPoco更注重易用性和性能,而非豐富的功能。使用PetaPoco只需要引入一個C#文件,可以使用強類型的 POCO(Plain Old CLR Object),並支持使用T4模板生成的類等等。

日志框架

  • NLOG(推薦)

圖片

NLog是一個簡單靈活的.NET日志記錄類庫。通過使用NLog,我們可以在任何一種.NET語言中輸出帶有上下文的(contextual information)調試診斷信息,根據喜好配置其表現樣式之后發送到一個或多個輸出目標(target)中。
NLog的API非常類似於log4net,且配置方式非常簡單。NLog使用路由表(routing table)進行配置,這樣就讓NLog的配置文件非常容易閱讀,並便於今后維護。

  • log4net

log4net庫是Apache log4j框架在Microsoft .NET平台的實現,是一個幫助程序員將日志信息輸出到各種目標(控制台、文件、數據庫等)的工具。

IOC框架

  • Autofac

Autofac是一款非常優秀的IOC框架,比較於其他的IOC框架,如Spring.NET,等等之類的,它非常的輕量級且性能上也很卓越。

對象映射工具

  • AutoMapper

AutoMapper是一個.NET的對象映射工具。主要用於領域對象與DTO之間的轉換、數據庫查詢結果映射至實體對象。

Json序列化工具

  • Json.NET(Newtonsoft.Json)

Json.Net 是一個讀寫Json效率比較高的.Net框架.Json.Net 使得在.Net環境下使用Json更加簡單。通過Linq To JSON可以快速的讀寫Json,通過JsonSerializer可以序列化你的.Net對象。讓你輕松實現.Net中所有類型(對象,基本數據類型 等)和Json的轉換。

其他

  • Topshelf

Topshelf 是一個開源的跨平台的宿主服務框架,支持Windows和Mono,只需要幾行代碼就可以構建一個很方便使用的服務宿主。使用Topshelf可以非常方便的將一個C#控制台程序部署成為一個Windows Service,使用它可以很方便的構建跨平台服務,而在調試時直接以控制台的形式運行即可,非常方便。

  • SuperSocket

SuperSocket 是 一個輕量級的可擴展的 Socket 開發框架,可用來構建一個服務器端 Socket 程序,而無需了解如何使用 Socket,如何維護Socket連接,Socket是如何工作的。該項目使用純 C# 開發,易於擴展和集成到已有的項目。只要你的已有系統是使用.NET開發的,你都能夠使用 SuperSocket來輕易的開發出你需要的Socket應用程序來集成到你的現有系統之中。

  • SharpSerializer

SharpSerializer是一個開源XML和二進制序列化器。SharpSerializer可以序列化Xml和自己的二進制格式,還可以序列化Json等其他文本格式或其他數據加密,壓縮,優化等二進制流。

圖片

以上都是C#優秀的開源項目,當然還有很多優秀的開源項目小編沒有整理到,歡迎補充。

 

圖片


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM