吴佳鑫的个人专栏

当日事当日毕,没有任何借口

导航

C# 开源资源汇总(一)

一、AOP框架
        Encase 是C#编写开发的为.NET平台提供的AOP框架。Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式。这种部署方面(aspects)的方法帮助缺少经验的开发人员提高开发效率。

        NKalore是一款编程语言,它扩展了C#允许在.net平台使用AOP。NKalore的语法简单、直观,它的编译器是基于Mono C#编译器(MCS)。NKalore目前只能在命令行或#Develop内部使用。NKalore兼容公共语言规范CLS(Common Language Specification),它可以在任何.NET开发环境中使用,包括微软的Visual Studio .NET。

        PostSharp读取.NET字节模块,转换成对象模型。让插件分析和转换这个模型并写回到MSIL。PostSharp使开发程序分析应用程序容易得像分析代码规则和设计模式,它使程序开发的思想变革为面向方面软件开发(AOSD/AOD)思想。

        AspectDNG的目标是为.NET开发人员提供简单而功能强大的AOP-GAOP实现。它效仿java下的开源工具AspectJ 和 Spoon,成熟程度也很接近它们。

        RAIL(Runtime Assembly Instrumentation Library) 开源项目可以在C#程序集加载和运行前进行处理控制调整和重新构建。C#在CLR中,我们已经能够动态加载程序集并且获得程序集中的类和方法,RAIL(Runtime Assembly Instrumentation Library)的出现填补了CLR处理过程中的一些空白。

        SetPoint是一款.NET框架下的全功能(full-featured)AOP引擎.它着重为称为语义切点(semantic pointcuts)的定义依赖RDF/OWL的使用.它的功能为一个IL-level,highly dynamic weaver&LENDL,一个引人注目的定义语言、、、、、、

        DotNetAOP为 CLR language提供AOP 框架基础属性。

        NAop是一个DotNet下的AOP框架。

        AspectSharp是DotNet下的免费AOP框架,它以Dynamic Proxies和XML作为配置文件。

二、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支持将业务模型转换成软件模型。业务开发人员可以使用模型驱动的方法设计,实现,执行和跟踪业务流程。因此开发人员能够更容易的关注业务逻辑的变化。

三、文本编辑

        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配置。

五、系统构建

        .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图表。

六、聊天系统

        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站点以节省你的时间和金钱。

八、代码覆盖(Code Coverage)

        NCover是.NET框架下的C#版本代码覆盖分析工具。NCover可以对程序进行 line-by-line 的代码覆盖统计。

九、论坛系统

        YetAnotherForum可以作为ASP.NET开发的网站的论坛或是留言板。它使用MSSQL作为底层数据库。

十、开发工具(IDE)


        SharpDevelop是一个DotNet平台下的免费开发工具,支持C#和VB.NET。


        MonoDevelop是可以支持C#和其它符合.Net规范的开发语言的IDE。


        C# Studio是 C#/Mono/GTK# 开发者的一个简单的IDE。


十一、安装制作


        izfree是一套套免费的工具用于帮助创建使用Microsoft''''s Windows Installer 技术的安装程序。使用izfree你可以为你的应用程序制作强劲的安装程序。


        Windows Installer XML (WiX)可以重XML源文件创建Windows程序安装包的工具集。它支持命令行方式,开发人员可以把结合它来创建MSI和MSM安装包一个可以和商业软件安装产品相比的开源打包工具。


十二、IoC容器


        Spring.net是从java的Spring Framework移植过来的。java的Spring包含了许多功能和特性,在当前的Spring.net都有提供。Spring.net最初发布的版本包含了一个很有特色的IoC容器。


        Castle是一组应用开发的工具,内含一个简单的IoC容器。


        StructureMap是.NET环境下的一个轻量级依赖注入工具,StructureMap也是一个灵活的、可扩展的通用“插件”机制的.NE


十三、Bug追踪


        BugNet是一款C#编写的基于Web的开源Bug跟踪系统。


        BTsys是一款轻量级的开源桌面Bug跟踪系统,是C#和ADO.NET实现。一个Bug记录和跟踪的解决方案,支持文件附件和注释历史。


        BugTracker.NET是使用ASP.NET 和 C#开发的基于web的开源Bug跟踪系统。需要SQL Server 或 MSDE支持。它安装简单,容易使用,功能强大。


        BugBye是一款ASP.NET和C#开发的基于web的Bug跟踪系统。


十四、日志工具


        log4net是一个可以帮助程序员把日志信息输出到各种不同目标的.net类库。它可以容易的加载到开发项目中,实现程序调试和运行的时候的日志信息输出,提供了比.net自己提供的debug类和trace类的功能更多。log4net是从java下有卓越表现的log4j移植过来的。它是apache基金资助的项目的一部分。


        NLog是C#编写的开源日志类库,它的设计思想是使其简单而灵活。NLog让你处理诊断的日志消息,用相关信息扩充消息,依照你的选择格式化日志消息和把日志消息输出到一个或多个目的地。


        LogThis是为.NET应用程序提供的一款C#开源日志框架,它可以嵌入到应用程序之中。


        AppLog是一个简单的应用日志工具。它使用C#开发,且使用ByteFX MySQL 数据访问库.。


        C#开发的可扩展日志工具,有高级消息队列支持,可以异步使用。


        CSharp Logger是apache继log4net项目后设计的又一个日志工具。它用来向Windows的事件日志写入debug、info、warn和error四个等级的信息。


十五、网络客户端


        .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在线日志服务提供了简单而强大的用户接口。


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。


网络服务器


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.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。


持久层框架


NHibernate是一个面向.NET环境的针对关系型数据库的对象持久化类库。 NHibernate来源于非常优秀的基于Java的Hibernate关系型持久化工具。 NHibernate从数据库底层来持久化你的.Net对象到关系型数据库。NHibernate为你处理这些,你不用自己写SQL去数据库存取对象。你的代码仅仅和对象关联,NHibernat自动产生SQL语句,并确保对象提交到正确的表和字段中去.大量减少开发时人工使用SQL和ADO.NET处理数据的时间. NHibernate可以帮助你消除或者包装那些针对特定数据库的SQL代码,并且帮你把结果集从表格式的表示形式转换到一系列的对象去。因此对于那些在基于.NET的中间层的应用中,它们实现面向对象的业务模型和商业逻辑的应用,NHibernate是最有用的。


FileHelpers Library是一款C#编写的开源 .NET 类库。它使用简单,很容易就可以从固定长度文件或界定记录(CSV)读/写数据。它也支持从不同的数据存储格式(Excel, Access, SqlServer)导入/导出数据。


Websharp是国人开源的一款开源持久层框架,它的目标是设计一个基于.Net的通用的应用软件系统的框架,以简化基于.Net平台的企业应用软件的开发。目前,Websharp关注于企业应用软件的以下几个方面:1、数据库访问 2、 O/R 映射 3、 AOP 4、 分布式访问


ObjectBroker是.NET平台下的一款开源O/R映射框架。它支持对象缓存,1:1, 1:n 和 m:n的关联映射等特性。


Gentle.NET是一款开源的与关系数据库(RDBMS)无关的对象持久层框架,可以自动生成SQL和对象结构。它拥有一个SQL工厂用来创建自定义查询、DataView构建助手和卓越的性能和完善的文档。


Ubik是C# 2.0下的ORM持久层框架,当前是WinForms应用程序开发提供的.它支持OPath的子集而可以进行面向对象查询,且包含一个网络事件系统.


NDal是一个数据提取层(DAL)框架,它可以运行在.NET和Mono环境下。


Persist.NET是C#编写的一款完整的持久层框架。


ObjectBroker是.NET平台下的数据库对象/关系映射(O/R Mapping)框架。


iBATIS.NET帮助你的应用系统创建更好的持久层框架。


Advanced Data Provider是为ADO.NET提供的动态数据提供者。可以让应用程序透明的访问不同的ADO.NET 数据提供者。


OJB.NET是一款.NET平台下的对象/关系映射(O/R Mapping)工具。


门户系统


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,搜索引擎,网络目录,个人主页,投票还有更多的功能入口。


剖析工具(Profilers)


Prof-It是一款独特易用的C#程序剖析工具。当保持对一个最小量的源代码的探测时,它为每一条语句测量执行频率。


NProf不仅仅是成熟的剖析程序,也是一套可以用来创建其它功能齐全的剖析程序的完整API,以及用可视化的工具扩展的默认GUI。


NProfiler,.NET平台下的一个应用程序剖析工具。

posted on 2009-06-07 08:28  _eagle  阅读(3732)  评论(9编辑  收藏  举报