十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
光阴似箭,2021也在各种争吵中落下帷幕,开通自媒体账号也已有300天,这期间有落寞,也有惊喜。 落寞的是,VB家族的确已日薄西山 ,从大家的反馈中亦可窥见势微之一二。惊喜的是, 在业余编程群体中,VB/VBA/VBS仍然是他们的最爱 。业余编程,要想产生更有价值的成果,专业概念(学习)是绕不过的。但 在极为有限的投入下(时间、精力、意愿),如何平衡简单粗暴与精细专深之间的矛盾?
创新互联-专业网站定制、快速模板网站建设、高性价比米易网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式米易网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖米易地区。费用合理售后完善,10余年实体公司更值得信赖。
VB家族从诞生之日起,就镌刻着计算机编程教育的基因。 很多人只看到了VB作为可视化编程的先驱,曾经红极一时,却看不到其真正的易用性和低门槛,在于骨子里的编程启蒙教育理念。 天下编程工具,多如牛毛,唯VB(BASIC)是为教育而生。 所以,VB系列极易上手。但 成也萧何败也萧何,VB家族的势微,也同样与其基因有关。
在BASIC和VB的时代,计算机编程尚是一野荒地, 编程是使用计算机的必经之路。 但随着操作系统的崛起和完善,随着现代软件业的繁荣,编程已经发展成为一个令人瞩目的职业。人们使用计算机(PC、智能手机及其他终端设备),完全凭借一些观感就可上车,甚至横行霸道。 编程作为一个专业,无论是教育还是应用,都已发展成为一个极为成熟的产业。
在一个极细分工的现代 社会 里,需要的是专业的人做专业的事。 为非专业的人提供非专业的编程工具,逻辑上已发生了翻天覆地的变化。它 不再需要像若干年前那样直面代码,取而代之的是AI辅佐下的各种轻代码或奔自然语言编程,本质上是如何使用存量代码库的应用问题。所以, 轮子封装性不够的VB家族,败下阵来也在情理之中。
AI究竟会将人类带向何处?就目前而言还看不出端倪 ,至少在很长一段时间里,AI还是没有办法取代人类的主观能动性。 VB/VBA这种直面代码的业余方式,仍然是很多人最稳妥的选择。 所以BtOfficer将VB家族作为首推分享板块,具体理由已在过往文章中阐述过。 本着为广大非职业IT普及适用的IT技术框架,本文将过往文章(200多篇)分类整理于此(『《 蓝色 》』为链接样式,可点击查阅),以便各位取阅,为后续深入学习打下信心、概念方面的基础。
1、是什么促使BtOfficer要分享IT技术?
尽管有简单易用的Python和C#后来居上,但他们的概念体系仍然是建立在专业者的角度。纯现代意义的初学者语言,除了少儿编程外,几乎不再有生存的土壤。 造成这一结果的根本原因,在于专业编码的巨大存量。 很多人,包括专业编码者们或许都坚定地认为, 未来很长一段时间,传统码手的地位都不可动摇。
但事实并非如此(《AI写代码,来得让人猝不及防!》《程序员是怎么记住许许多多的语法的?》 可见一斑 ) ,在数据量尚未积累得足够庞大之前,凭经验谁也不知道还有哪些关系尚未被人类发现。尿不湿与啤酒的故事,就是 数据的规模化效应 之一。 世间万物之间,并非看得见的才叫因果,很多看不见的往往成为神论。然而,人类已经发现了通往神秘之门的钥匙。
一个个小小的人,以匹夫之勇在地表,举不足百斤,卧不过三尺,走不及风水。但聚众之力,可移山改川,可星辰大海,在广袤的地表和太空遍布文明的痕迹。人类的光芒,闪耀在遥遥太空之中。人类的触手正如藤蔓,一个锚点一个锚点地快速向前。 集众之智乃大智,这便是那把钥匙。
互联网AI便是 集众之智 ,即便硅基芯片不能真正地成为人工智能的栖身之所,攫取众人之智,已足以让其变得强大无比。然而, 这是人类整体层面上的某种进化,对于个体而言或许很难避免被“压榨”的过程 。 如何更全面、更客观地看待和适应自身的处境?或许《 互联的围城,已春暖花开,我却心向罗盘荒野 》可以告诉你。
该文首先,从AI的概念讲起,因为AI与互联网的合一,是二者在当前技术框架下,必然的进化方向,而AI正是关乎进化的关键。其次,讲AI与互联网的现实、进化,我等是如何自陷,又如何自救。摘自该文一小段的《 大数据能可怕到什么程度? 》获得了近40万阅读和近1000赞的成绩,但更全面的文章却仅有100阅读和3赞。 尽管数字世界里(包括以后的元宇宙),跨越边界成为特权,从而重塑传统边界的定义,但并不妨碍我们建设和守好现有的传统边界。因为二者并非『不是你死便我亡』的互斥关系。
众智与小智之间,应当各有各的生存空间,应当互惠互利,相互成就,而非一厢情愿。小智不能滥竽充数,坐享众智之便。众智之上的AI也不能恃强凌弱,奴役个体。这就是为什么BtOfficer要分享IT技术给广大非IT人员的原因所在。
2、为什么鼓励非IT适当掌握编程技能?
诚如华为任正非谈 公司人才体系 所说,作为管理者,你 不能要求每个员工都成为奋斗者 。有的员工就想领点工资按时上下班,你得容忍和尊重这样的员工。对于编程而言,并不是每个非IT都有必要来学,和愿意来学。即便学了的,也不是每个人都愿意更精进, 得尊重那些得过且过的存在。
所谓 有钱难买我愿意 ,即便互联网里高墙林立,即便智能手机上的APP都在觊觎个人隐私,能架住不用?如何平衡个体人的发展与人类整体发展之间的矛盾,也不是每个人必须要去思考和应对的。 所以,明知山有虎,偏向虎山行的都是少数派,毕竟佛度有缘人嘛。任何一位奋斗者所收获的,也绝非普通人所能想象的。不一样的风景,得有不一样的位置去观察。
在《 明比阅历浅,暗拼体力衰,指下讲武德,码上笑春风 》一文中,详细地分析了非IT人士是否需要掌握编程技能,掌握到何种程度,入门原则,入门工具的挑选原则,为何挑选VB系作为入门工具,如何开启编码武德之旅。
BtOfficer的经验证明,当1个专业人士掌握了地球上最通用的计算工具之后,可以将专业优势进行数倍的放大。无论是工作效率,学习效率,还是在整合人际关系上,均能受益不少。 这是在互联网包围下的个体,能够获得的为数不多的神器之一。
3、为什么偏偏首推VB/VBA/VBS作为业余编程的入门工具?
有人说,VB(包括BASIC)当年成为入门的不二法门,是因为没得选,而现今有更好的选择了。 这句话,既正确又不正确。它得考虑受众是谁?如果一个人有意愿,也有时间,为什么要学VB呢?成为编码专业人士的渠道千千万,但最后都离不开基础,与其在捷径中胡乱碰撞,还不如从基础开始一步一个脚印。
什么是基础?那是半导体工业体系历经上百年的沉淀。或许有人认为这么说很夸张,软件尤其是系统屏蔽了很多硬件层的东西,从而使得软硬件分离。事实上,就网上漂浮的绝大部分码手,离硬件都非常的遥远。但这并不能说,不懂硬件,不了解硬件就能做好这一行业。 恰恰是懂硬件者,才是基本盘的操持者,微软、苹果、谷歌等概莫能外。
过来人都清楚,要 想掌握半导体工业在软件层的映射,绝非一朝一日之事 。专业人士,爬过高考,躺过本硕博,再经若干项目的锤炼,都不一定能成为行家。上过几十个IT素质教育课时的童鞋们,凭什么能成为IT专家?在不同基础层面来看, 有基础的可选项的确是多了,但对没有基础的人而言, 历史 的发展并未过多地偏向他们,留给业余人士的选项并未因此而增加。所以,地毯式的专业学习之路,压根就不适合业余编程选手。
4、VB/VBA/VBS分享定位在什么层面?
在分享期间,有不少朋友询问能否普及更基础一点的概念。VB/VBA/VBS的基础部分,网上有太多的资料,也有太多自媒体运营者在分享相关内容,再重复并无太多意义。所以这部分,BtOfficer 主要针对流行的一些错误进行纠正。反倒是VB/VBA/VBS很根底的内容,在网上很难见到,BtOfficer会着重围绕这部分进行分享。
在后续分享的 VB/VBA/VBS插件里,会包括更系统的基础知识,从语法语句到内置函数,再到API和具体应用源码案例,均以动态帮助的形式呈现给用户 ,有需要的届时可下载使用。
虽然,大部分内容适合有一定基础的朋友,比如讲原理的部分。但这并不意味着,分享的内容不适合初入门的人。 VB系大道至简, 再深入的东西,回到最后都是简单的语句和函数 。 针对语句用法用例上的结论,是通用的。掌握这些结论,便可不费吹灰之力就可提升代码的质量。 即便有些内容现阶段够不着,在往后的应用中,迟早都有见面的那一天。待到那时,翻出来看一看,想必会顺利很多。
更何况, 深入VB的部分(尤其是BtOfficer改进VB的部分),对绝大部分VB用户都是一样的,是一个全新的领域。 总之, 如果信哥,那就跟我走,必然会还你一个非同凡响的VB家族。
没有什么比过时、淘汰更能让人感到沮丧的了。尤其是对VB家族而言,没有前途的言论正在主宰着入门者清秀的眼神。 但很少有人去问,为何过了半个世纪,BASIC的后人依然在数千种开发工具中位居前20(据坊间流传的排行榜)。要知道,现在微软的GitHub Copilot可以根据功能注释自动补全(写)代码了。所以,有必要去一探究竟,为正确的选择提供充足的参考。
1、操作系统与开发工具之间的关系
正如前文所说,现代开发工具,在操作系统的加持下,让很多开发者能够远离硬件端,而成为纯软件开发者。网络上大部分争得面红耳赤的,都是没能遵循凡事看硬件的基本逻辑。相信很多人也不会去想,操作系统和开发工具之间的关系。那么《 以史为鉴,编程语言,启示录之系统觉醒 》将是一个不错的概览。
编程语言源自机械时代,随着硬件的进化完善,而不断演化。 从救人于水火的助记汇编、到专注于科学计算的面向过程,再到可扩展易维护的面向对象,无一不是硬件在推波助澜。就 个人计算机而言,硬件体系在32位时代,就趋于稳定。后续的64位,也只不过是锦上添花而已。 每一种计算机语言,都诞生于特殊的需求,并经不断完善,才有后来的样子。 这就意味着,每种语言都有长短之处。每个人的学习也应当有所侧重,追求全能,就像Multics,注定很难有结果。 没有过时的语言,只有趁手的工具。 现代操作系统,将硬件层隔离,让应用开发者远离底层,这让 很多人误以为,语言决定一切。孰不知,高级语言只是硬件的传话筒而已,二进制指令才是机器上的唱歌的角儿。脱离硬件讲语言,知其一不知其二也。
2、BASIC、VB与VB.Net和PC操作系统(Windows)之间的关系
现代常青的开发工具,包括C在内,都汲取了很多前人的智慧。所以,评估一项开发工具是否适合自己的技术路线,很有必要去了解这项工具的设计意图,当时技术的局限,以及后续的发展历程。《 VB前传,从教学到 游戏 ,再到系统,似乎每步都是精心设计 》一文便讲述了被淹没在 历史 中的那段过往。
与BASIC一脉相承的VB,吸收了计算机发展史上,数种优秀开发语言的优点,最终落脚于服务普通大众。因为心胸开阔的Kemeny和Kurtz深知,人才是计算机的灵魂和归宿,普通大众才能赋予计算机无限可能。BASIC的 历史 脉络,也告诉后继的使用者,简单里有深厚的哲学,抓住得住时机,才有自己的时代。
不必苛责VB什么,找到合适的位置,这是BASIC立足于教育,带给我们的启示。诚如Kemeny所说,关键要看用户能否意识到哪些是计算机可以做的,哪些是计算机不能做的。但很肯定,它能给企业和大部分私人生活带来影响。
如果说BASIC时代属于混沌的前者,那么VB就属于清醒的后者。《 早判了,VB已死,但我说话了么? 》一文将带你了解属于VB的哲学。在普通人通往程序之路上,VB就像摆渡人,接来一批又送走一批。 VB存世的意义,或许就在于既普世又度人。心清脑秀者,许你3%得道升华。资历平平者,也许你97%的凡人吃喝。
VB的世界里有自由的周全,也有刻薄的束缚。她试图让所有人都能踏进编程的世界,并在这个晦涩的世界里护其周全。她也总拿自由不是没有代价来告诫使用者,知其然还要知其所以然,到远方去才是 旅游 的意义。
正如《 VB/VBA,请让我点名表扬你 》所说,深入理解VB的 历史 ,仍是把握VB适用场景的关键。
3、VB过时淘汰之说蔚然成风,真实的信息是什么?
要说过时淘汰,很显然并没有,至少VBA还在大行其道。《 VB/VBA这个打不死的小强,还会坚持多久? 》一文,便围绕『语言之争』的若干问题,摆事实讲依据,就Python与VBA,VB与VB.NET之间的恩恩怨怨来了个起底和辟谣。在这篇文章里,援引了微软针对VB在各大系统的支持政策。从中不难发现,所谓VB之死,不过是IDE停止更新罢了。所谓Python替代VBA,不过是一投票帖数千点赞而已。属于咱业余户的家伙事,会继续在Win10/Win11上演绎不老传说。
4、VB死掉的是什么,活下来的又是什么?
此时的VB和彼时的VB,所处的技术环境和商业环境是不一样的。如今VB势微,更多的是指商业开发领域的工作机会。《VB、Delphi等编程语言没落的主要原因有哪些?》或许可以回答VB过时淘汰的根本来源。
作为专业的高级开发语言而言,它必须在高级的路上不断的进化,才会有开发人员使用。大量开发人员的使用,才会降低项目的实施成本。相反,如果得不到进化,那么开发的人才资源,就会逐渐枯竭,从而提高项目的成本,进而影响项目的技术路线。 对于专业开发人员而言,掌握一项停止进化的的高级开发语言,就意味着工作机会的收缩。
但这对于一项可实施的技术而言,并不妨碍它继续工作。所以 这种落败,不是指技术,而是指就业机会的凋零。 就VB和Delphi而言,只要不用于糊口的工作,他们仍然是桌面应用开发的一把好手。正如《影响VB/VBA商业价值的原因是什么?》中所说,VB/VBA会逐渐演变成自产自用的小工具生产者角色。
5、打不死的VB,何以存活?
《为什么Windows的兼容性这么强大,到底用了什么技术?》,或许从系统的兼容特性,一直追溯到X86硬件体系,方能明白,小强不死,是有深层次原因的。
6、场景与前景
《Python取代VBA?先问C#答应否》《Office开发,选VSTO,还是VBA,Python行吗?》《VBA源码可以编译吗?》《VBA是脚本语言吗?》《Excel公式算编程?还别说,真是一门编程语言!》《VB/VBA的改进思考》《为什么VBA名列最讨厌编程语言第一名?》
《vb/vba的数据类型,有大佬可深度介绍下吗?》《VB的任性,从Variant开始》《VB的天地,横看成岭侧成峰》《VB的整数,你真的了解?》《知VBA的浮点数结构,更懂算力》《VB/VBA的无符号整数》《VB/VBA之Boolean的坑,防不胜防,治标还得治本》《VB中Byte、Bool和Int与Lng的开销及性能相同吗?》《VB/VBA字符串》《VB/VBA的ByVal和ByRef》《VB/VBA中Variant不仅是容器,充当传参的Any,更可以当函数用哦》《大家都有哪些提高VBA/VB代码运行效率的小技巧?》...哎哟,太多了,懒得整理了,有兴趣的自己去翻吧。
欢迎关注BtOfficer(收藏、点赞、关注+转发) ,更多精彩仍在继续哦(专栏文章将更系统,更全面,但需要阁下支持哦),有严肃的技术,也有轻松的唠嗑,期待你的加入!
楼上的说法不对,正则式的作用就是匹配未知的一些东西,可以提取.
代码如下:
-----------
Imports System.Text.RegularExpressions
dim sHtml as string=网页内容'自己想办法获取,比如Doc.Body.InnerHtml
dim sResult1 as string=""'“听过哪些草原歌”
sResult1=Regex.Match(sHtml, "\[aA]{1}[ ]{1}class\=t[ ]{1}href.+\(.+)\\/[aA]{1}\").Groups(1).Value
'其余类推...
'保存进文件
大哥把分给我吧.求你了.祝你好运中500万
自己上去来,我晕了,都是程序。
一、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 weaverLENDL,一个引人注目的定义语言、、、、、、
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配置。
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 和 S一组和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下运行得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平台下的一个应用程序剖析工具。
项目管理
SharpForge支持协作多个软件项目的开发和管理,它为你的团队提供类似 SourceForge 和 CodePlex的功能。SharpForge是C#开发的.NET 2.0开源项目。User Story.NET是一个Extreme Programming 项目。
RSS和RDF工具
Rss Bandit是C#开发的开源RSS阅读器,它内建多国语系,支持Atom 1.0以及其他各种的RSS feed格式。它画面漂亮,拥有分页浏览功能,软件细部设置弹性度高。它的操作画面直观简单易懂,有一个很好的Command模式和ListViewEx来使用,可让使用者很快的上手。iPodder.NET是一款C#编写的开源媒体收集器,它能自动帮你从互联网上下载音乐,能帮你轻松地从成千上万的音乐中选择你喜欢的。用它设置好订阅RSS feeds后,只要节目一有更新,它就自动下载了,你不必大量的浪费时间自己手工下载。它还整合了iTunes,创建播放列表和iPod同步功能,你可以用Apple iTunes或Media Player播放,也可以把音乐导入到你的iPod或其他MP3播放器中。FeedExpress主要是让你订阅一些RSS/RDF资源,知名的如FeedExpress里的Subscriptions。它和Outlook Express让你订阅一些新闻组是一样的。RSS.NET是一款操作RSS feeds的开源.NET类库。它为解析和编写RSS feeds提供了一个可重用的对象模型。它完全兼容RSS 0.90, 0.91, 0.92, 和 2.0.1等版本。GtkSharpRSS是C#开发的开源RSS和RDF客户端,它用于 Mono, Gtk#, 和 RSS.NET。它也可以通过内嵌于Mozilla的窗口来显示内容。
Atom.NET是一款完全使用C#开发的开源类库,它的目标是提供便捷的方法来操作Arom Feeds。它提供一个对象模型来写入和解析Atom Feeds。它只兼容0.3Atom规范,可以运行于微软.NET 1.x,Mono 0.29 或更高版本。
NRss是为微软.NET框架和Mono下提供的开源类库,它读取RSS Feeds元素然后以树型结构来展现对象关系。
Aggie是一个新闻收集器,它是桌面应用程序,可以下载最新的新闻并通过web页面的形式呈现。mail2rss是.NET下的 web service,它在你请求时检查你的电子信箱并返回包含电子信箱里的消息的 RSS feed。它是完全用C#开发的开源项目,没用使用任何第三方控件。
规则引擎
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作为基础继续进行开发。
版本控制(CVS)
Porc是为CVS和项目管理工具提供了完整的图形化界面,它在CVS的基础上增加了一些有趣的功能。它是.NET平台下用C#编写的。
Sharpcvslib是C#语言编写的CVS客户端API。当前它为公共CVS命令提供了核心函数。NetCvsLib是为.NET平台下C#开发的一个CVS客户端。它作为一个单独的程序集而实现,因而可以很容易的集成到其它项目中去。
SQL客户端
qlBuddy是C#编写的一款用于Microsoft SQL Server和MSDE的开源工具,使用它可以很容易的编写SQL脚本。SqlBuddy提供的功能和查询分析器的目的有些微不同,它倾向于帮助使用者编写SQL。QueryCommander是一款开源的Sql editor,模拟微软的查询分析器,Visual Studio的环境类型。QueryCommander的特点包括类似IntelliSense功能,自动注释,xml文档模型,xml2data等。SQL Buddy是一款有特色的免费MSDE / Sql Server IDE,它是用.NET框架的C#编写。Database Commander是Windows操作系统下的一款用户界面友好的数据库管理工具。
模板引擎
NVelocity 是一个以 .NET 为基础的模板引擎。它允许任何人通过简单而强大的模板语言来定义对象。
测试工具
NUnit一款单元测试框架,它可以应用于遵循.NET框架标准的所有语言下。NUnit最初是从JUnit移植过来的。NUnit完全使用C#编写且设计时考虑了多数.NET语言的特性,例如自定义属性和其它反射特性。NMock是一款.NET平台下的基于动态代理的Mock模拟对象类库,用于C#开发。Mock对象使测试更简单,它测试单个组件或单个类时不需要其它所有组件真正实现。也就是说我们可以仅仅只是测试一个类,比起测试一个完整的对象关系树更容易查清楚Bug。Mock对象一般用于以测试为驱动的开发当中。TestDriven.NET是一款和Visual Studio .NET无缝结合的测试插件。它可以和NUnit, MbUnit 和 Team System紧密结合。Rhino.Mocks源于EasyMock.Net,它试图提供一种更简单的方法去创建和使用mock objects且使你得到更好的重构支持。它结合了EasyMock.Net和NMock的方式。Dot NetUnit实现了XUnit 测试框架,是.NET平台下的单元测试组件。EasyMock.NET是由Java实现的EasyMock到.net平台的一个移植版本的一组类库。它提供了一个简单的方法用来模拟接口和远程对象。dotunit是JUnit移植到微软.net平台的测试框架。它可以实现自动化测试。NUnitForms是NUnit的扩展。它为Windows Forms应用程序提供单元测试和压力测试,可以容易的用它为你的Windows Forms类进行自动化测试。
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 里面做几个设置)。
Web测试
NUnitAsp是一款自动测试 ASP.NET页面的开源工具. 它是从NUnit扩展来的。
Wiki引擎
Perspective是一款C#开源Wiki引擎,它使用户可以很容易的合作进行编辑,链接和共享Web页面,它里面有安全和分级的管理环境。Perspective居于奇妙的Wiki思想,包含了其它一些有前途且效果好的特性。
DevHawk Wiki是一款.NET平台下由C#实现的开源Wiki引擎。
ProntoWiki是使用VWD (Visual Web Developer)编写的C#开源wiki引擎,ASP.NET 2.0 和 SQLExpress 2005作为后台。Wiki引擎速度快且容易使用,提供了和 rich text editor 一样的文本标记( text markup )功能。它可以自动通过web接口接收图片和文件作为附件。另外,ProntoWiki的特点还有页面可以在贴出或更新之前预览,基于角色的用户认证,使用 web parts 自定义外观和布局,历史跟踪,和功能查询。FlexWiki是一款使用.NET技术(C#和ASP.NET)编写实现的开源多人协作的写作工具。Thufir提供了字处理和文档链接功能。它类似Wiki-Wiki ,且它具有“所见即所得”的界面。它还可以通过和Word交互来利用Word的拼写检查功能。
XML解析
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管理代码应用。14:18 浏览 (1263) 评论 (0) 分类: c# 2008-04-16缩略显示ASP.NET下载文件(弹出打开保存文件对话框)ASP.NET下载文件(弹出打开保存文件对话框) //fileURL为带路径的文件全名 System.IO.FileInfo fileInfo = new System.IO.FileInfo(fileURL); Response.Clear(); Response.AddHeader("content-disposition","attachment;filename="+Server.UrlEncode(fileInfo.Name.ToString())); Response.AddHeader("content-length",fileInfo.Length.ToString()); Response.ContentType = "application/octet-stream"; Response.ContentEncoding = System.Text.Encoding.Default; Response.WriteFile(fileURL); 无错版: try ...{ FullFileName = Server.MapPath(FileName); //FileName--要下载的文件名 FileInfo DownloadFile= new FileInfo(FullFileName); if(DownloadFile.Exists) ...{ Response.Clear(); Response.ClearHeaders(); Response.Buffer=false; Response.ContentType="application/octet-stream"; Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(DownloadFile.FullName,System.Text.Encoding.ASCII)); Response.AppendHeader("Content-Length",DownloadFile.Length.ToString()); Response.WriteFile(DownloadFile.FullName); Response.Flush(); Response.End(); } else ...{ //文件不存在 } } catch ...{ //文件不存在 }