C#開源項目(國外的還是很多)一、Ajax架構 Ajax.NET Professional (AjaxPro)是最先把AJAX技術在微軟.NET環境下的實現的AJAX架構之一。它在用戶端指令碼之上建立代理類來調用伺服器端的方法。 MagicAjax.NET是一款在ASP.NET下建立Web頁面提供AJAX技術的架構。它使開發人員很容易把AJAX整合到他們的頁面而不需要替換ASP.NET控制項或自己寫javascript指令碼代碼。 Anthem.NET是為ASP.NET開發環境提供的開源AJAX工具包,它可以運行於ASP.NET 1.1和2.0。 二、工作流程(workflow) Workflow.Net是使用微軟.Net技術基於wmfc標準的建立工作流程引擎。 NetBPM是JBpm移植到.net平台下的一款開源工作流程軟體。NetBpm可以很容易和.Net應用程式整合在一起,可以建立,執行和管理工作流程序。 Bpm Tool支援將業務模型轉換成軟體模型。業務開發人員可以使用模型驅動的方法設計,實現,執行和跟蹤商務程序。因此開發人員能夠更容易的關注商務邏輯的變化。 其實微軟自己的WPF做WorkFlow也很厲害。 三、文本編輯 FCKeditor是一款功能強大的開源線上文字編輯器(DHTML editor),它使你在web上可以使用類似微軟Word 的案頭文字編輯器的許多強大功能。它是輕量級且不必在用戶端進行任何方式的安裝。 FreeTextBox 是一個基於 Internet Explorer 中 MSHTML 技術的 ASP.NET 開原始伺服器控制項。這是一款優秀的自由軟體(Free Software),我們可以輕鬆地將其嵌入到 Web Forms 中實現 HTML 內容的線上編輯,在新聞發布、部落格寫作、論壇社區等多種 Web 系統中都會有用途。 VietPad是一個功能完整的跨平台的Java/.NET的Vietnamese Unicode開源文字編輯器。支援開啟,編輯,列印,轉換,排序,和儲存基於文本的Unicode格式的Vietnamese檔案。 NetSpell是一款.NET架構下的開源拼字檢查引擎。 PPC_edit是一款應用在Pocket PC上的開源文字編輯器,它支援TXT, RTF, HTML, WordML, DocBook 和 ZIP格式的檔案,螢幕上會顯示國際標準的軟鍵盤。 四、部落格(Blog) NovaShare是一款Blog引擎,它使你建立基於互動web的新聞和論壇網站,很像WonkoSlice或Slashdot。管理員發行就緒文章和發起投票,瀏覽者可以建立使用者帳號,發表議論等等。 dasBlog是從BlogX 網上日誌引擎發展而來。像Trackback ,Pingback 一樣增加許多附加的特徵,有完整的Blogger/MovableType API支援,API注釋,完整的Radio-style模板定製,支援Mail-To-Weblog/POP3的附件和內嵌圖片,基於WEB的 DHTML,OPML,配置的編輯器。 DotText是一個被使用了數百個blogs的強勁的blog引擎。這是一個N-tiered應用的例子。 tBlogger是一個C#開發的完整的blog網站程式,使用XML配置。 Blog現在可以使用MVC的其他開源項目來構建,這些項目在codeplex上有很多,其中微軟自己的就有OXite。 五、系統構建 .NETZ是一款免費開源工具,它可以壓縮和打包微軟 .NET 架構可執行檔(EXE, DLL)以使他們更小。更小的可執行檔佔用的磁碟空間較少且因為讀取檔案時對磁碟的訪問較少而使讀取數度更快。它和PE(portable executable)打包工具不一樣,.NETZ是使用 C# 編寫的存粹的 .NET 解決方案。.NETZ可以用來打包幾乎每一種 .NET 支援的語言編寫的程式。.NETZ支援 .NET EXE 和 非共用(non-shared)的 DLL 檔案。壓縮過的程式能以相同的方式解壓縮這些對終端使用者是透明的。 NAntContrib為NAnt提供定製任務的工具。 Prebuild是XML驅動的一款跨平台pre-build工具,使開發人員很容易就可以為IDE和.NET開發工具產生項目或構建檔案。它支援 Visual Studio .NET 2002, 2003, 2005, SharpDevelop, MonoDevelop 和 NAnt。 BusyBeeBuilder是.NET平台下功能強大,便於使用,可擴充的開源構建自動操作工具。 Draco.NET 是 Windows 服務應用程式。它的設計使其容易持續的整合新特性。Draco.NET監視你的原始碼儲存庫。當探測到你的項目有變化時自動重新建立項目並把包含變化列表的建立結果發送到你的Email。 Build Studio為軟體的自動構件處理提供了一套完整的解決方案。 CruiseControl.NET是.NET平台下的一款整合伺服器。 NAnt類似Apache項目下的Ant,是.Net下的開源構建工具。適用在自動編譯.NET應用的場合,如.NET項目的每日構建(nightly build)。 說老實話,我並不認為系統構建工具的作用真的有那麼強大,如果你真的計劃做一個很大的項目,且持續開發時間很長,那麼你可以使用上面的系統構建工具。 五、圖表製作 ZedGraph是C#編寫的.NET類庫,提供了使用者控制項和web控制項。它可以建立2D的線性圖、橫條圖和餅圖。它功能完整且有詳細的功能自訂,不過 使用預設的選項就足夠好用了。一款類似 PieChart, StackBar, LineChart的C#開源圖表組件。 NPlot是一款.NET下的開源圖表類庫.它值得稱道的地方是優雅且靈活的API設計.NPlot包含了Windows Form控制項, ASP.NET控制項和一個建立Bitmap圖片的類。還有一個可用的GTK#控制項。 XSCharting是C#開發的圖表組件,提供了多種多樣的圖表選項。 DaveChart是一個免費的DotNet類庫。 NChart 提供了很多值得應用在商業,教育等多個領域的2 D圖表。 微軟自己已經提供了一個chat繪製控制項,也就是原來的dunat,如果那個可以滿足你的要求,那麼完全沒有必要使用上面的。但是如果你需要研究畫圖,作自己定義的chat,那麼這些開源的項目將對你有很大的協助。 六、聊天系統 Dot Net Chat server是基於DotNet架構開發的聊天伺服器和用戶端項目。說老實話,我對這個高度興趣,有時間,要瞧瞧它的代碼是咋實現的。 七、內容管理系統(CMS) Ludico是C#編寫的居於ASP.NET 2.0的Portal/CMS系統。它的模組化設計是你可以按照你希望的使用或開發網站功能。它裡面有進階的使用者管理,一個所見即所的(WYSIWYG)的編輯器等。 mojoPortal是一款C#開發的面相對象網站架構,它可以運行於Windows的ASP.NET 和GNU/Linux 或Mac OS X的Mono的平台上。 Cuyahoga是C#開發的靈活的CMS / Portal 解決方案。它可以運行於Microsoft .NET 和Mono 平台,支援SQL Server, PostgreSQL或MySQL作為底層資料庫。 Umbraco是一款在.net平台下C#開發的開源內容管理系統,該系統效率,靈活,使用者介面都不錯。 Kodai CMS是.NET平台下的一款功能齊全的內容管理系統。 Rainbow項目是一款使用Microsoft’’s ASP.NET和C#技術開發的有豐富功能的開源內容管理系統。 NkCMS是使用ASP.net和Sql server 2000開發的內容管理系統。 Amplefile是一款內容管理系統,是.Net環境下的windows應用程式,使用了.Net remoting. Go.Kryo是一個用ASP.NET(C#).NET 實現的簡單的內容管理系統,後台資料庫使用Microsoft SQL Server 。 ndCMS是 ASP.net (C#)下的一個內容管理系統。它提供了使用者管理,檔案管理,一個WYSIWYG編輯器,範本管理員,拼字檢查和內建的http壓縮。ndCMS的目標是提供一個簡單而快速的方式部署.Net網站以節省你的時間和金錢。 這些開源的CMS我試用了幾個,說真的,拿來研究可以,要真的實施,估計很難。 九、論壇系統 YetAnotherForum可以作為ASP.NET開發的網站的論壇或是留言板。它使用MSSQL作為底層資料庫。 十、安裝製作 izfree是一套套免費的工具用於協助建立使用Microsoft”’’s Windows Installer 技術的安裝程式。使用izfree你可以為你的應用程式製作強勁的安裝程式。 Windows Installer XML (WiX)可以重XML源檔案建立Windows程式安裝包的工具集。它支援命令列方式,開發人員可以把結合它來建立MSI和MSM安裝包一個可以和商業軟體安裝產品相比的開源打包工具。 一般的需求試用VS 內建的就可以了,更複雜的需要用到InstallShield,這樣看起來開源的就沒啥意義了。 十一、IoC容器 Spring.net是從java的Spring Framework移植過來的。java的Spring包含了許多功能和特性,在當前的Spring.net都有提供。Spring.net最初發布的版本包含了一個很有特色的IoC容器。 Castle是一組應用開發的工具,內含一個簡單的IoC容器。 StructureMap是.NET環境下的一個輕量級依賴注入工具,StructureMap也是一個靈活的、可擴充的通用“外掛程式”機制的.NE 我用過StrucutureMap,但是給我的感覺是,試用這個似乎沒多發協助。 十二、網路用戶端 .NET FTP Client是C#編寫的開源類庫。 .NET Telnet是微軟.NET Framework下的C#開發的開源telnet類庫。它的靈感來至Java Telnet Application。 metro這個項目是C#編寫的類庫,它提供了一套豐富的類使開發IP version 4, TCP, UDP and ICMP等工作更容易。它包含了有很有用的工具如包嗅探器,網路分析工具例如路由跟蹤,ping等。 LJ.NET是LiveJournal網站的用戶端。它為LJ線上Log Service提供了簡單而強大的使用者介面。 NET VNC Viewer 是一款完全用C#開發的開源VNC觀察器。它相容Smartphones, Pocket PC和Windows的電腦(.NET CF or .NET Framework)。它比起其它觀察器的優點是可以在Pocket PC上全螢幕顯示而且可以旋轉螢幕。 GVDownloader允許你從google videos, metacafe, putfile, youtube, break.com 和更多的地方快速下載內含的視頻和多媒體。它的包含一個強勁IE外掛程式和位於你系統托盤的獨立程式。 DotNetOpenMail能夠使你在微軟.net架構開發的asp.net, WinForm應用程式發送Email。它是C#編寫的開源組件,它不需要使用System.Web.Mail類庫就可以容易的建立帶附件HTML和 Plain-text的Email。程式員不需要知道很多相關的細節就可以使用不同的字元集或不同的MINE編碼來建立 multipart/alternative,multipart/related和multipart/mixed的MIME訊息。 DotMSN是一款獨立的開源類庫,它不需要和官方的MSN Messenger互動,因此不必安裝MSN Messenger就可以使用DotMSN和MSN Messenger服務通訊.DotMSN是C#編寫的,所以.NET環境支援的語言都能夠使用.DotMSN類庫使用簡單而且實現方便。它靈活,堅固, 輕量級利於整合到任何應用系統.使用DotMSN的應用系統能實現從建立訊息機器人到自訂用戶端等各種不同的功能.如果你的應用程式需要和 Messenger服務通訊,DotMSN是一個不錯的工具. SharpSSH使用C#實現了SSH2協議,它支援SSH, SCP 和 SFTP. OpenPOP.NET一組和POP Servers通訊的.NET類庫。 IceChat是為串連多樣的IRC Servers設計的Internet Relay Chat Client。 lphant是為edonkey/emule開發的開源用戶端程式。 .NET FTP Client C#開發的類庫。 OpenSmtp.net 是 C# 開發的開源SMTP組件。它不依賴.NET Framework 的System.Web.Mail 包中的類。允許開發人員使用不同於MS SMTP的SMTP 伺服器且提供了web service而可以通過HTTP發送email。 這裡面有幾個值得推薦,例如DotMsn這個,在某些場合就很有用處。 十三、網路伺服器 ODC(#)H是一款C#編寫的開源hub software,它功能強大,消耗的資源少且支援外掛程式功能。 Dawn of Light (DOL)是第一個開源的Dark Age of Camelot (DAOC)遊戲伺服器,你可以建立自己的伺服器且自己設計遊戲內容。DOL使用.Net Framework架構的C#編寫,使用XML和MySQL儲存資料,支援Windows和Mono平台。 NeatUpload可以讓ASP.NET開發人員把磁碟上的檔案通過流的方式上傳並且可以監視上傳進度。它是開源的且在 Mono’’s XSP/mod_mono和微軟的ASP.NET下運行得一樣好。包含2個自訂控制項:*使用者可以通過INPUTFILE選擇一個要上傳的檔案。 ProgressBar可以用進度條方式或彈出窗方式顯示上傳進度。當JavaScript可用時ProgressBar是用類似AJAX的無重新整理方式展現,但也允許JavaScript停用使用者見到上傳進度。 NMail ,C#開發的開來源程式,提供SMTP 用戶端和伺服器, POP3 和 IMAP4 伺服器。 ftp://ftp.net/是使用C#編寫的開源多線程FTP程式。 CSharp Email Server C# Email Server是 Java Email Server (JES) 的C#版本。 PDF類庫 PDFsharp是一款可以讓.NET架構支援的任何語言很容易的建立PDF檔案的類庫。 ASP.NET FO PDF 是一款C#編寫類似於ASP.NET伺服器控制項的控制項。它接受DataTable 和一些其它參數來建立XSL FO,並使用NFOP (Apache FOP Port in J#) PDF Formatter來繪製一個類似PDF Report 的DataGrid 。今後將會增加更多的標籤來可以產生XSL FO 。 Report.NET 開源類庫包含了產生精確PDF文檔的類。它是.NET平台下的C#編寫的,可以協助你建立簡單的靈活的PDF檔案。你可以從任何ADO.NET的 DataSet取得資料來建立PDF文檔。ASP.NET可以用Report.NET來建立動態PDF響應頁面。 SharpPDF是可以用來簡單的建立PDF檔案的C#類庫。它建立的檔案百分白相容PDF格式。 iTextSharp是一款開源的PDF操作類庫,使用它可以快速的建立PDF檔案。http://hardrock.cnblogs.com/ 是一個關於 iTextSharp的中文Blog。 十三、門戶系統 OmniPortal基於一種web-portal-kernel(Web門戶核心)的思想而構建的開源基礎架構,它解決了安全控制、主題 和本地化等。你可以基於 OmniPortal 來更容易的建立任意的Web應用系統(例如 ERP, CMS, CRM)。它支援Mono 和.Net 。對於Web開發人員來說,OmniPortal為他們提供了一款優秀的二次開發基礎類庫。 SharpNuke.NET是一款C#開發的基於 ASP.NET 的開源 Portal/CMS。最初是從流行的VB.NET開發的web portal系統DotNetNuke移植過來的的。以後的版本將會相容 Windows和 Linux Mono。 Personal .NET Portal是一個基於Web的個人門戶系統。它試圖提供一種簡單的方式建立個人網站,頁面使用標籤和模板建立。 My Community Portal提供了一個統一的Internet門戶,作為論壇,群組,聊天,你自己的Email,搜尋引擎,網路目錄,個人首頁,投票還有更多的功能入口。 十四、規則引擎 NxBRE是.NET平台下的一款開源輕量級的商務規則引擎(aka Rule Based Engine),它由正向串列的推理引擎(forward-chaining inference engine)和XML驅動流量控制引擎(XML-driven flow control engine)組成.它支援 RuleML 0.9 Naf Datalog 和 Visio 2003 建模。 SRE (Simple Rule Engine)是.NET下的一款輕量級的開源正向串列的推斷規則引擎(forward chaining inference rule engine)。它容易理解,可以解決複雜的問題。 十五、搜尋引擎 NLucene是Lucene的.NET版本。 DotLucene,Lucene.Net開源項目轉向商業化後,DotLucene以Lucene.Net作為基礎繼續進行開發。 十六、Web架構 NStruts 是java下大名鼎鼎的struts開源MVC架構的ASP.NET版本,是jakarta struts架構的一部分。 Maverick.NET是從Maverick移植來的.NET版本,是一款開源的 Web MVC架構.它專註於MVC邏輯,它支援豐富的模板和轉換技術。 MaverickLite是ASP.Net下的一款簡單的開源表現層架構。它在建立在Maverick.Net framework基礎上。它使用front controller的方式來處理請求。 Ingenious MVC ,基於.NET 2.0的構MVC結構的應用程式,它包含即開即用(out-of-the-box)的特性支援ASP.NET和Windows Forms應用程式.它也可以在大多數方法中擴充和定製. Websharp是.NET平台下的一款輕量級應用程式框架。 十七、Email用戶端 GmailerXP是為Google的Gmail服務提供了全套的工具開來源程式。線上所能做的GmailerXP都允許使用者做,它也整合了你任何時候在Gmail需要的其它一些程式的特點(GML, Gmailto,等)。 RemoteCalendars是C#開發的為Outlook 2003/2007提供的一款開源 COM-.NET 外掛程式。安裝完這款外掛程式後,Outlook的用都可以用Outlook 2003/2007訂閱、重新讀取和刪除遠程iCalendar(RFC 2445)。 SharpWebMail是一款C#編寫的ASP.NET下的EMail用戶端。它通過POP3伺服器內送郵件,通過SMTP伺服器發送郵件。它的配置很簡單(只需要在web.config 裡面做幾個設定)。 十八、C#遊戲 Exult是可以在現在的作業系統上面運行Ultima7的遊戲引擎,它提供了一個地圖編輯器和其它的一些工具讓你製作屬於你自己的模型和遊戲. Ch2r是第一款為光暈2(Halo 2)提供的開源模型編輯器。 這是一款從在Palm平台上流行的Space Trader遊戲移植的Windows版本。 EMU7800是C#編寫的一款Atari 2600/7800模擬器。 BooGame是面相對象的 CLS-compliant,開源2D遊戲引擎架構。它提供了進階的硬體加速video,audio,keyboard,mouse,內嵌指令碼和許多圖片格式。它使用C#開發的,目標是支援.NET 1.1, 2.0 和 Mono 平台。 RealmForge這款開源的.NET 3D遊戲引擎前身是Visual3D.NET,它是一套使用C#、 .NET 2.0和XNA進行可視化設計和開發3D遊戲、類比軟體和互動式環境的架構和工具集。 Pocket Sudoku是 Pocket PC (Windows Mobile)上的數獨(Sudoku)遊戲。它可以有五種不同等級的難度來建立數獨(Sudoku)迷題,解答正確任何迷題,都會用鉛筆標記。 CsGL在.Net架構下為OpenGL 1.1 – 1.4和許多擴充的支援提供支援. 十九、地理資訊系統(GIS) SharpMap是一款便於使用的地圖渲染器,它可以為Web和Windows應用程式渲染GIS資料。SharpMap是使用C#編寫,基於.NET 2.0架構上開發的開源項目。 monoGIS將成為Mono平台下的開源完整GIS。已經發布了internet mapserver,OGC WMS實現和一些工具像空間格式轉換。 NASA World Wind 是C#開發的個人電腦上的開源的3D圖形虛擬地球系統。它結合了美國國家航空航天局(NASA)從衛星拍攝的映像,這些映像應用於Blue Marble, Landsat 7, SRTM, MODIS 以及其它更多的地方。 二十、其它C#開源項目 DockPanel Suite是一款開源的.Net Windows Forms開發環境下的停靠控制項(docking)類庫。它模仿Visual Studio .Net的效果開發的。 wx.NET是基於.NET通用語言基礎結構 (CLI)的開源項目。它致力於開發一個基於.NET的GUI庫,它按照wxWidgets的類層次用C#編寫,可以在多種CLI下執行,包括.NET,Mono,和DotGNU Portable.NET。 MMC .NET類庫是為Windows的MMC+Snapin開發提供支援而封裝的一套開源類庫。 DPAToolkit(Design Pattern Automation Toolkit)是應用設計模式設計應用程式的開源工具包,它有便捷的代碼產生,反向工程功能。拖拽(Drag and Drop)方式便捷的建立UML類圖。支援為代碼產生,反向工程編寫自訂外掛程式。 mjbWorld 是一款開源的3D編輯器,它允許使用者通過圖形介面的選擇和拖拽方式來編輯圖形。它基於和應用X3D與VRML標準。該軟體目的用於利用建立開放免費程式建 立3D世界。同時它也可以用於其他免費開放軟體程式之間進行資料交換。mjbWorld有Java, C# 和C++ /Qt等版本。 MonoCalendar是.NET平台下的開源行事曆程式,它的目的是為Mac平台之外的其它平台提供一款類似iCal的行事曆程式。 Data Tier Generator是一款微軟 .NET平台下的開源項目,它為訪問SQL Server 2000而產生預存程序的SQL Server 2000指令碼和C#類。這些預存程序包含了Insert, Update, Delete, Select, 根據PK的Select, 根據FK的Select的SQL指令碼。 Finisar.SQLite是.NET架構下的一款為存取SQLite-Databases提供的ADO.NET Data Provider。 Math.NET的目標是為提供一款自身包含清晰架構的符號運算和數學運算/科學運算,它是C#開發的開源類庫。Math.NET含了一個支援線性代數的解析器,分析複雜微分,解方程等等功能。 Ascii Generator dotNET (ascgen2)是一款把圖片轉換成高品質的ASCII字元組合(ASCII art – text)。第一個版本支援變形和粗體字型,和即時調節輸出。 GPSProxy是.NET Compact Framework下的開來源程式。它通過COM口在Pocket PC之間拷貝GPS資料,可以把GPS資料格式從NMEA 0183轉換成Garmin GPS。它是基於.NET Fra的Windows版本。 FOP C# Port這是Apache居於java的 XSL-FO 格式轉換器的C#版本。它採用並擴充了XSL-FO標準使FOPs在可以嵌入.NET CLR管理代碼應用。