任務調度
Quartz.NET 是一個開源的作業調度框架,是OpenSymphony的Quartz API的.NET移植,它用C#寫成,可用於winform和asp.net應用中。它提供了巨大的靈活性而不犧牲簡單性。你能夠用它來為執行一個作業而 創建簡單的或復雜的調度。它有很多特征,如:數據庫支持,集群,插件,支持cron-like表達式等等。
全文檢索
Lucene.net是Lucene的.net移植版本,是一個開源的全文檢索引擎開發包,即它不是一個完整的全文檢索引擎,而是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎。開發人員可以基於Lucene.net實現全文檢索的功能。
Excel與word處理
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 是可以輕松地在 .NET 語言中創建PDF文檔的開放源碼庫。它使用相同的繪制程序來創建 PDF 文檔,在屏幕上顯示,以及輸出到打印機。可以修改、合並、拆分已經存在的 PDF 文件,支持透明圖像。
ORM(對象關系映射)
ORM框架有很多,下面只介紹常用的。
Dapper是一個輕型的ORM類。編譯后就40K的一個很小的Dll.Dapper很快。Dapper的速度接近IDataReader,取列表的數據超 過了DataTable。Dapper支持Mysql、SqlLite、Mssql2000、Mssql2005、Oracle等一系列的數據庫,當然如 果你知道原理也可以讓它支持Mongodb。這個ORM十分強悍,至少在性能方面,恐怕.NET里面的大多數ORM只能是望其項背了。
NHibernate是現在開發人員用的較多的一個ORM。NHibernate是一個面向.NET環境的對象/關系數據庫映射工具。對象/關系數據庫映射(object/relational mapping,ORM)這個術語表示一種技術,用來把對象模型表示的對象映射到基於SQL的關系模型數據結構中去。
國內最受歡迎的 ORM 框架,支持.NET CORE 和 MySql、SqlServer、Sqlite、Oracle 、 postgresql 、達夢、人大金倉 數據庫,具有EF NH的功能,比EF更人性化的語法,支持真實的批量操作,另外還有媲美DAPPER的性能
Entity Framework是一種對象關系映射器(O/RM),它使.NET開發人員能夠通過.NET對象來操作數據庫。它消除了開發人員通常需要編寫的大多數數據訪問代碼的需求。
PetaPoco是一款適用於.NET應用程序的輕型對象關系映射器(ORM, Object Relational Mapper)。與那些功能完備的ORM(如NHibernate或Entity Framework)不同的是,PetaPoco更注重易用性和性能,而非豐富的功能。使用PetaPoco只需要引入一個C#文件,可以使用強類型的 POCO(Plain Old CLR Object),並支持使用T4模板生成的類等等。
日志框架
NLog是一個簡單靈活的.NET日志記錄類庫。通過使用NLog,我們可以在任何一種.NET語言中輸出帶有上下文的(contextual information)調試診斷信息,根據喜好配置其表現樣式之后發送到一個或多個輸出目標(target)中。
NLog的API非常類似於log4net,且配置方式非常簡單。NLog使用路由表(routing table)進行配置,這樣就讓NLog的配置文件非常容易閱讀,並便於今后維護。
log4net庫是Apache log4j框架在Microsoft .NET平台的實現,是一個幫助程序員將日志信息輸出到各種目標(控制台、文件、數據庫等)的工具。
IOC框架
Autofac是一款非常優秀的IOC框架,比較於其他的IOC框架,如Spring.NET,等等之類的,它非常的輕量級且性能上也很卓越。
對象映射工具
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 是一個開源的跨平台的宿主服務框架,支持Windows和Mono,只需要幾行代碼就可以構建一個很方便使用的服務宿主。使用Topshelf可以非常方便的將一個C#控制台程序部署成為一個Windows Service,使用它可以很方便的構建跨平台服務,而在調試時直接以控制台的形式運行即可,非常方便。
-
SuperSocket
SuperSocket 是 一個輕量級的可擴展的 Socket 開發框架,可用來構建一個服務器端 Socket 程序,而無需了解如何使用 Socket,如何維護Socket連接,Socket是如何工作的。該項目使用純 C# 開發,易於擴展和集成到已有的項目。只要你的已有系統是使用.NET開發的,你都能夠使用 SuperSocket來輕易的開發出你需要的Socket應用程序來集成到你的現有系統之中。
-
SharpSerializer
SharpSerializer是一個開源XML和二進制序列化器。SharpSerializer可以序列化Xml和自己的二進制格式,還可以序列化Json等其他文本格式或其他數據加密,壓縮,優化等二進制流。
以上都是C#優秀的開源項目,當然還有很多優秀的開源項目小編沒有整理到,歡迎補充。