这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧
注意:有网友提出部分项目停止更新的事情,这个问题我特意注意过,很多都是小功能组件,功能稳定,没有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文件是一个多么可怕和充满幻想的事情,但直到一次偶然的机会碰到它了,也改变了我的想法。当然这个组件是有商业的,也有免费版本。对普通用户来说,非常棒,虽然可能大部分人用不上,但收藏一下,备用吧,没准那天就要用了。
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 以及其他文件格式。
12.LiteDB文件数据库-NoSQL
LiteDB是一个小型的.NET平台开源的NoSQL类型的轻量级文件数据库。特点是小和快,dll文件只有200K大小,而且支持LINQ和命令行操作,数据库是一个单一文件,类似Sqlite,其他功能就细说了。有空看官网文件,这个数据库我会写一篇介绍和使用文章。
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订阅,评论订阅,多种性质的邮件订阅等。这个项目可以作为学习使用,参考了不少开源组件。
今天就到此为止,欲知后事如何,请听下回分解。。。剩下的,朋友们,狂点赞吧。。。。
这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧的更多相关文章
- GitHub Android 最火开源项目Top20 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上。基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。
1. ActionBarSherlock(推荐) ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便 ...
- 这些.NET开源项目你知道吗?.NET平台开源文档与报表处理组件集合(三)
在前2篇文章这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧 和这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,大伙热情高涨.再次拿出自己的私货,在.NET平台 ...
- 【目录】本博客其他.NET开源项目文章目录
本博客所有文章分类的总目录链接:本博客博文总目录-实时更新 1.本博客其他.NET开源项目文章目录 37..NET平台开源项目速览(17)FluentConsole让你的控制台酷起来 36..NET平 ...
- .NET平台开源项目速览(1)SharpConfig配置文件读写组件
在.NET平台日常开发中,读取配置文件是一个很常见的需求.以前都是使用System.Configuration.ConfigurationSettings来操作,这个说实话,搞起来比较费劲.不知道大家 ...
- .NET平台开源项目速览(9)软件序列号生成组件SoftwareProtector介绍与使用
在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,给大家初步介绍了一下Software Protector序列号生成组件.今天就通过一篇简单的文章来预览一下其强大的功 ...
- .NET平台开源项目速览(8)Expression Evaluator表达式计算组件使用
在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,给大家初步介绍了一下Expression Evaluator验证组件.那里只是概述了一下,并没有对其使用和强大功能做 ...
- .NET平台开源项目速览(7)关于NoSQL数据库LiteDB的分页查询解决过程
在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑) 与 .NET平台开源项目速览(3)小巧轻量级NoSQL文件数据库LiteDB中,介绍了LiteDB的基本使用情况以及部 ...
- .NET平台开源项目速览(6)FluentValidation验证组件介绍与入门(一)
在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,给大家初步介绍了一下FluentValidation验证组件.那里只是概述了一下,并没有对其使用和强大功能做深入研究 ...
- .NET平台开源项目速览(5)深入使用与扩展SharpConfig组件
上个月在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧 和 .NET平台开源项目速览(1)SharpConfig配置文件读写组件 中都提到了SharpConfig组件,简单轻量级 ...
随机推荐
- Visual Studio Code 代理设置
Visual Studio Code (简称 VS Code)是由微软研发的一款免费.开源的跨平台文本(代码)编辑器,在十多年的编程经历中,我使用过非常多的的代码编辑器(包括 IDE),例如 Fron ...
- django server之间通过remote user 相互调用
首先,场景是这样的:存在两个django web应用,并且两个应用存在一定的联系.某些情况下彼此需要获取对方的数据. 但是我们的应用肯经都会有对应的鉴权机制.不会让人家随随便便就访问的对吧.好比上车要 ...
- CENTOS 6.5 平台离线编译安装 Mysql5.6.22
一.下载源码包 http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.22.tar.gz 二.准备工作 卸载之前本机自带的MYSQL 安装 cmake,编 ...
- ASP.NET Core应用针对静态文件请求的处理[5]: DefaultFilesMiddleware中间件如何显示默认页面
DefaultFilesMiddleware中间件的目的在于将目标目录下的默认文件作为响应内容.我们知道,如果直接请求的就是这个默认文件,那么前面介绍的StaticFileMiddleware中间件会 ...
- JavaScript正则表达式,你真的知道?
一.前言 粗浅的编写正则表达式,是造成性能瓶颈的主要原因.如下: var reg1 = /(A+A+)+B/; var reg2 = /AA+B/; 上述两个正则表达式,匹配效果是一样的,但是,效率就 ...
- 免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
前面介绍了六种.NET组件,其中有一种组件是写文件的压缩和解压,现在介绍另一种文件的解压缩组件SharpZipLib.在这个组件介绍系列中,只为简单的介绍组件的背景和简单的应用,读者在阅读时可以结合官 ...
- 【需求设计1】VIP积分系统无聊YY
RT,想到什么就写什么呗,这是最简单的方式,顺便给自己做一个记录,反正自己记忆力也不太好.本文是仿陆金所的积分系统,自己YY的一套东西. 首先我想做一个VIP兑换投资卷的功能: 我们先来确定一些我知道 ...
- ASP.NET MVC关于Ajax以及Jquery的无限级联动
---恢复内容开始--- 第一次发表博文,发表博文的目的是巩固自己的技术,也能够共享给大家.写的不好的地方,希望大家多给给意见.老司机勿喷 数据结构() NewsTypeId 新闻ID, NewsTy ...
- 内存映射文件MemoryMappedFile使用
参考资料: http://blog.csdn.net/bitfan/article/details/4438458 所谓内存映射文件,其实就是在内存中开辟出一块存放数据的专用区域,这区域往往与硬盘上特 ...
- ES6之let命令详解
let与块级作用域 { var foo='foo'; let bar='bar'; } console.log(foo,'var'); //foo varconsole.log(bar ,'bar') ...