注意:有网友提出部分项目停止更新的事情,这个问题我特意注意过,很多都是小功能组件,功能稳定,没有bug,没更新是正常的。够用就行了。其次技术支持的事情,对开源免费来说,不能太强求,这里发布的都是小功能组件,一般看源码也比较好理解,各取所需。当然有最好。。

  长期关注和使用.NET开源项目,给我带来了很多好处:

1.可以快速完成我的想法,也就是所谓的业务细节,而不是关注如何实现;

2.可以更快更稳定的完成需求,而不是自己造轮子实现,花费时间;

3.从.NET开源项目的使用以及源码阅读中也会带来一些好处;

实际上并不是说造轮子不好,而是本来技术功底和专业水平就不够,实在造不了。所以感谢开源社区,感谢C#,感谢那些参与和共享开源项目代码的人,有了你们,我才进步更快。08年比较正式开始接触C#,并用来完成研究生阶段所需要的任务以来,接触过很多开源项目,特别是经常去Codeplex,CodeProject,以及现在更加流行的github。上个月发表了一篇关于.NET平台开源的机器学习组件文章:,非常受欢迎。所以特意把自己这些年发现的一些项目总结出来,献给大家。

现在微软对开源态度越来越明确,动作越来越大,所以让我们更加关注.NET平台的开源项目。考虑到类似的汇总很多,所以我并没有列出一些常见的,而是列出一些不常见的。如果和部分文章有重合,纯属偶尔。以下排名不分先后,都是功能性质,大家收藏保留备用吧。另外部分开源项目的使用和介绍我将通过博客专题发布,将选择几个比较通用的组件,每一篇介绍其功能和基本使用,请大家关注博客的动态。

本文原文地址:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧

这次先整理出15个个人认为比较好的项目。后面有时间还整理出15个左右。主要是每一次碰到了都往收藏夹里面塞。。。现在收藏夹都成这个样子了(缩略图,点击放大):

  所以原谅我,不能把所有的都发上来,太杂了,反而不好。

1..NET时间周期处理组件

这个组件很小,主要是对时间日期,特别是处理时间间隔以及时间范围非常方便。虽然.NET自带了时间日期的部分功能,但可能还不强大。这个组件就是增强版本。详细功能可以看项目主页的介绍。在CodeProject:

http://www.codeproject.com/Articles/168662/Time-Period-Library-for-NET

2.OxyPlot绘图组件

OxyPlot是一个.NET跨平台的绘图组件,关注很久,但还没用过,以前用的是ZedGraph,感觉是丑了点,但当时不知道OxyPlot。微软从.NET 3.5开始也提供了一个绘图控件MS Chart,也比较好用。这个组件从外观上来说,更加简洁,所以实现也应该更加简单,大家看看可以用在什么场合。看看这个图是不是很清爽。。。  

官方网站:http://oxyplot.org/

3..NET平台CAD建模组件AnyCAD

对我来说,用.NET来操作CAD文件是一个多么可怕和充满幻想的事情,但直到一次偶然的机会碰到它了,也改变了我的想法。当然这个组件是有商业的,也有免费版本。对普通用户来说,非常棒,虽然可能大部分人用不上,但收藏一下,备用吧,没准那天就要用了。

官方网站:http://www.anycad.net/

4.SharpConfig配置文件操作组件

SharpConfig是一个使用非常简单,功能单一但强劲的开源.NET类库。让复杂的配置文件操作变得和操作对象一样简单,是不是很有趣。关于这个组件我会单独写一篇使用和介绍的问题,因为的确很诱人。看个截图:  

官方网站:http://sharpconfig.codeplex.com/

5.MailSystem.NET邮件组件

MailSystem是一个.NET平台开源的邮件处理组件,支持SMTP, POP3, IMAP4, NNTP, MIME, S/MIME, OpenPGP, DNS, vCard, vCalendar, 反垃圾邮件,查询合并等功能。如果要在非GPLv3软件使用,必须获得商业许可。

官方网站:http://mailsystem.codeplex.com/

6.Compare .NET Objects对象比较组件

这个组件的主要功能如名字所示就是深入比较2个.NET对象,是否相等或者是否有差异。可能很多.NET对象实现了一些.NET自带的接口可以直接进行比较,但是这个组件比较的范围和功能更加广泛。例如:

可以比较默认的子节点;

可以比较结构体;

可以比较IList对象;

可以比较单维或者多维的数组对象;

可以比较枚举类型;

可以比较IDictionary对象;

可以比较数据集,数据表,字典等等;

可以比较私有字段或者属性等等。。。

还有很多,不一一列举,可以去官网详细了解。

官方网站:http://comparenetobjects.codeplex.com/

7.Security Library安全组件

这是一个.NET平台安全相关的开源组件,由于这方面个人了解比较少,没有深入研究,目前支持SSL和TLS,证书管理,以及加密转换。

官方网站:http://www.mentalis.org/soft/projects/seclib/

8.NLocalizer本地化多语言组件

多语言,本地化是很多人研究过的,也许都有自己的解决方案。这个NLocalizer目的就是方便.NET的开发者可以快速构建多语言的软件,使用也很简单。官方提供了一个案例,可以直接获取现有Winform项目所有的控件的值,进行编辑即可实现多语言。

官方网站:http://nlocalizer.codeplex.com/

9.PhysicalMeasure计量单位组件

PhysicalMeasure项目是一个物理单位和计量系统,支持不同计量单位间的转换。虽然这个东西很少有人用到,不过还真碰到过有一个朋友做类似的东西。这个东西虽然想起来简单,但实际做起来还是比较费劲的,主要是做全面和稳定。所以平时见得多了,有时候碰到需求了,思路就来了,再就是多看看新闻,看看别人的经验的好处。

官方网站:http://physicalmeasure.codeplex.com/

10.Database Schema Reader

Database Schema Reader是一个开源的数据库架构获取个工具。很多多ORM或者代码生成的人可能会用到。对于支持多种数据库的ORM是比较有用的,当然其他用途也有,比如生成数据库字典文档之类的。。。大家尽情发挥好了。目前支持的数据库非常广泛,例如:SqlServer, SqlServer CE 4, MySQL, SQLite, System.Data.OracleClient, ODP, Devart, PostgreSql, DB2等等。

官方网站:http://dbschemareader.codeplex.com/

11.SDS:面向科学数据集的组件工具

SDS(Scientific DataSet library and tools)是一个面向.net开发人员读取和共享各种科学数据的工具,支持 CSV, NetCDF 以及其他文件格式。

官方网站:http://sds.codeplex.com/

12.LiteDB文件数据库-NoSQL

  LiteDB是一个小型的.NET平台开源的NoSQL类型的轻量级文件数据库。特点是小和快,dll文件只有200K大小,而且支持LINQ和命令行操作,数据库是一个单一文件,类似Sqlite,其他功能就细说了。有空看官网文件,这个数据库我会写一篇介绍和使用文章。

  官方网站:http://www.litedb.org/

13.CSharpCompiler

  CSharpCompiler是一个.NET平台开源免费的在程序员中编译C#源代码的组件,可以做的事情很多,例如用它来实现C#写脚本。。。。以及用来创建自己的C# IDE编辑器等等。例如官方的一个例子:  

  

  官方网站:http://csharpcompiler.codeplex.com/

14.博易博客

  博易博客是一款免费、开源的博客系统。它是基于 BlogEngine.NET 进行中文本地化,并将其努力在中国进行推广和应用。遵循 W3C 标准,具有极强的可扩展性、高性能、良好的 SEO 性能和非凡的用户体验。想自己搭建博客的朋友,这是一个不错的选择。如下图是一个风格的博客界面:  

  BlogEngine.NET官方网站:http://www.dotnetblogengine.net/

  官方网站:http://wangxianyuan.com/blogengine/

15.小泥鳅博客系统

  小泥鳅博客系统也是一个.NET平台的开源免费博客系统,创建于2008年夏天,基于.Net平台开发,拥有完整的文章发布,评论,订阅,标签等功能,满足个人/团队信息发布需求,可作为Blog,CMS,甚至建企业站。有灵活的模板机制,可以自定义关键字,自定义Url,SEO 优化,完美支持离线写作。如:Windows Live Writer(推荐)(教程),Office Word 2007,支持包括RSS订阅,评论订阅,多种性质的邮件订阅等。这个项目可以作为学习使用,参考了不少开源组件。  

  官方网站:http://www.loachs.com/

  今天就到此为止,欲知后事如何,请听下回分解。。。剩下的,朋友们,狂点赞吧。。。。

这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧的更多相关文章

  1. GitHub Android 最火开源项目Top20 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上。基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。

    1. ActionBarSherlock(推荐) ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便 ...

  2. 这些.NET开源项目你知道吗?.NET平台开源文档与报表处理组件集合(三)

    在前2篇文章这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧 和这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,大伙热情高涨.再次拿出自己的私货,在.NET平台 ...

  3. 【目录】本博客其他.NET开源项目文章目录

    本博客所有文章分类的总目录链接:本博客博文总目录-实时更新 1.本博客其他.NET开源项目文章目录 37..NET平台开源项目速览(17)FluentConsole让你的控制台酷起来 36..NET平 ...

  4. .NET平台开源项目速览(1)SharpConfig配置文件读写组件

    在.NET平台日常开发中,读取配置文件是一个很常见的需求.以前都是使用System.Configuration.ConfigurationSettings来操作,这个说实话,搞起来比较费劲.不知道大家 ...

  5. .NET平台开源项目速览(9)软件序列号生成组件SoftwareProtector介绍与使用

    在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,给大家初步介绍了一下Software Protector序列号生成组件.今天就通过一篇简单的文章来预览一下其强大的功 ...

  6. .NET平台开源项目速览(8)Expression Evaluator表达式计算组件使用

    在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,给大家初步介绍了一下Expression Evaluator验证组件.那里只是概述了一下,并没有对其使用和强大功能做 ...

  7. .NET平台开源项目速览(7)关于NoSQL数据库LiteDB的分页查询解决过程

    在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑) 与 .NET平台开源项目速览(3)小巧轻量级NoSQL文件数据库LiteDB中,介绍了LiteDB的基本使用情况以及部 ...

  8. .NET平台开源项目速览(6)FluentValidation验证组件介绍与入门(一)

    在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,给大家初步介绍了一下FluentValidation验证组件.那里只是概述了一下,并没有对其使用和强大功能做深入研究 ...

  9. .NET平台开源项目速览(5)深入使用与扩展SharpConfig组件

    上个月在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧  和 .NET平台开源项目速览(1)SharpConfig配置文件读写组件 中都提到了SharpConfig组件,简单轻量级 ...

随机推荐

  1. Angular杂谈系列1-如何在Angular2中使用jQuery及其插件

    jQuery,让我们对dom的操作更加便捷.由于其易用性和可扩展性,jQuer也迅速风靡全球,各种插件也是目不暇接. 我相信很多人并不能直接远离jQuery去做前端,因为它太好用了,我们以前做的东西大 ...

  2. SQL Server-聚焦UNIOL ALL/UNION查询(二十三)

    前言 本节我们来看看有关查询中UNION和UNION ALL的问题,简短的内容,深入的理解,Always to review the basics. 初探UNION和UNION ALL 首先我们过一遍 ...

  3. <译>通过PowerShell工具跨多台服务器执行SQL脚本

    有时候,当我们并没有合适的第三方工具(大部分需要付费)去管理多台数据库服务器,那么如何做最省力.省心呢?!Powershell一个强大的工具,可以很方便帮到我们处理日常的数据库维护工作 .简单的几步搞 ...

  4. AJAX操作数据

    本文使用AJAX访问数据库文件,并显示在网页中.另外还有AJAX对数据库的删除操作,网页不加载,只刷新数据. 随意使用数据库中的一张表: 使用AJAX显示表中内容,首先打入body代码: <h1 ...

  5. HTML5实现文件断点续传

    HTML5的FILE api,有一个slice方法,可以将BLOB对象进行分割.前端通过FileList对象获取到相应的文件,按照指定的分割方式将大文件分段,然后一段一段地传给后端,后端再按顺序一段段 ...

  6. 微信小程序开发—快速掌握组件及API的方法

    微信小程序框架为开发者提供了一系列的组件和API接口. 组件主要完成小程序的视图部分,例如文字.图片显示.API主要完成逻辑功能,例如网络请求.数据存储.音视频播放控制,以及微信开放的微信登录.微信支 ...

  7. js闭包for循环总是只执行最后一个值得解决方法

    <style> li{ list-style: none;width:40px;height: 40px;text-align:center;line-height: 40px;curso ...

  8. [django]数据导出excel升级强化版(很强大!)

    不多说了,原理采用xlwt导出excel文件,所谓的强化版指的是实现在网页上选择一定条件导出对应的数据 之前我的博文出过这类文章,但只是实现导出数据,这次左思右想,再加上网上的搜索,终于找出方法实现条 ...

  9. js月份,日期加一天

    js没有直接可以用的函数,所以只能自己写,其中需要涉及到每个月天数的判断,如果是2月份的话,还要涉及到闰年的判断 var addDate = { //日期,在原有日期基础上,增加days天数,默认增加 ...

  10. css 填坑常用代码分享

    以下是常用的代码收集,没有任何技术含量,只是填坑的积累.转载请注明出处,谢谢. 因为提交比较麻烦,后来转置github:https://github.com/jsfront/src/blob/mast ...