VS.Net 学习方法论

VS.NET 学习方法论
     ——我的 VS.NET 学习之旅

http://www.tuenhai.com

开发工具: Microsoft Visual Studio .NET 2003  中文企业版
操作系统: Windows XP  英文专业版

 

题记 : 即使你没有一点编程经验,只要你愿意,并理解本文介绍的学习方法,你也可以象作者一样轻松、愉快地步入程序设计之门。让我们一起开始激动人心的 VS.NET 之旅。

一.通过 Internet 获取知识的能力是网络时代最重要的能力

  在 26 岁的时候,给自己定下目标, 35 岁之前必须掌英语和程序设计。至今刚过而立,程序和英语都学得不怎么样,对学习方法倒是有所体悟,愿与大家分享。

   在此先介绍一下我的情况。26岁前主要从事语文教学,对计算机及英语可以说一窍不通。说出来可能让您笑话:计算机不会上网;英语不认识音标。我这人水平虽然不怎样,志向却比天高,下决心改变自己,说干就干,花7000大洋购来电脑,开始自学计算机。26岁,人生翻开新篇章。
   首先把自家电脑来个开膛破肚,把硬件拆了装,装了拆(可怜我的主板,修了几次,还是报废;显卡由于带电插拔烧断了“脚”,还是手机店的朋友帮忙焊接上的)。为了从网上快速查找到需要的教程文章,忍痛每月花100大洋窄带包月,想当时Down个X片足足用了两天两夜,结果下集只有声音没有图像,还把他听完,呜乎!
   我一向提倡在工作中学习,学的东西要和工作相关,工作和学习互相促进。做语文教师虽也可以自学计算机,但我觉得进程太慢了(那时我所在学校还未设计算机课程)。于是,刚学计算机不到半年的人“一不小心”就成了电脑教师。还好基本是入门级培训,不过也逼着我学得更快。本来我是用拼音加加输入法的,因为工作关系,只好改用五笔。全国计算机等级考试要考DOS,于是又学了DOS。本来用FrontPage做网页,现在改用Dreamweaver MX,还有FireWorks MX,Flash MX也懂一点。对着主板随机手册和英文词典尝试几次,开机CMOS也可以进出自如。什么系统优化,GHOST系统备份都不在话下。做的网页虽然界面不怎么样,IP日访问量却是每天300以上。直到29岁,对Windows应用编程却还是一点不懂,VB6删了装,装了删,反复几次,觉得很难,始终未跨过编程第一道门槛。

   前日跟在嵊州信息港工作的 MM 交流,言及在自学 Visual Studio .NET 程序设计, MM 问:你在闭关学习吗?我回答 : 你 ” 赞助 ” 学费的话我也许会考虑考虑。是的, 网络是所大学,最大的大学,网络可以改变世界,终将改变世界。网络更可以改变人生,可以让我们的学习生活无比精采,只要你懂得利用,善于利用。 现在已是网络时代,网络交流基本弥补了自学的不足,通过网络交流、学习更有学校教育所没有的优势。
   你看到这里,如果你没有接触过程序语言,想了解一下 Visual Studio .NET 是个什么 ” 东东 ” ,你会如何做?
   第一,查手头书籍。个人开个计算机图书馆是不现实的,要查找的知识往往在手头书籍中找不到;
   第二,打电话问朋友。朋友懂不懂是个问题,即使懂,他有没有空?他有空,他不清楚你这边的实际情况,他说的并不一定是你想要的,或者他说的你不一定听得懂;
   第三,上图书馆查资料;
   第四,上书店;
   第五,跑去问老师;
   第六, ……
是的,传统是这么做的。但现在是网络时代了。你完全可能在不到一分钟之内找到你想要的答案。上网,打开 Internet Explorer ,在地址栏输入 http://www.google.com ,然后回车,在打开的页面中间输入框中敲入
Visual Studio .NET 语言
注意中、英文中间有个空格。然后再回车,页面显示:


约有 66 , 900 项符合 Visual Studio .NET 语言 的查询结果,以下是第 1 - 10 项。 (搜索用时 0.12 秒) 


怎么样,还用我给你介绍 Visual Studio .NET 是什么东东吗。你就尽情地点击文章标题,查看您需要的知识吧。

“ 软件是一个过去的时代, Web Service 将要来临。 ” 微软高级副总裁李开复说, ”Web Service 本身可以说是一个赌博,一个风险 ; 因为你可以相信,也可以不相信这件事情的发生。我只能说微软把整个公司都赌下去了,我们赌的未来就是 Web Service 。 ”

  你可不要告诉我你比盖茨厉害多了。我们追求超越盖茨不一定现实,但我们可以早一步接触网络,利用网络。

  二.学习编程的过程中,既要善于向高手寻求帮助,更要乐于指导初学者。在交流中学习编程,其乐无穷

29 岁,开始从事企业管理工作。由于工作的关系,要用到 Microsoft Office 办公软件, Office 办公软件中有个 Visual Basic For Application ( VBA )语言,是 VB 的一个子集,具备 VB 的所有优点,内置于 Office 中,只能在 Office 中创建、编程和运行,可以录制宏并自动转换为代码。由于初次接触编程语言,感到自学 VBA 有难度。每逢在学习中遇到难题、困惑的时候,我就到会到网上寻找学习资源,寻找答案。很快就找到关于 Microsoft Office 的极好社区,如 OfficeFans(http://www.officefans.net) ExcelHome(http://club.excelhome.net/) ,于是立即在社区注册名字,学习 VBA 时中碰到疑问就到社区去问,每次都有网友热心解答。
   比如我的工作需要经常在 Excel 工作表第十行前插入空白行,要先选取工作表,鼠标指针定位到指定行,然后单击右键,选 ” 插入 ” 。重复操作,不胜其烦。于是在 OfficeFans 提问,经版主 kengzeng 指点,得到如下 VBA 代码:

Sub insert()
Sheets(“sheet2”).Rows(“10:10”).Insert
End Sub

原来要四步操作,现在一按快捷键就完成了。我原来并不懂 VBA ,对 ” 集合 ” 、 ” 对象 ” 、 ” 方法 ” 、 ” 属性 ” 、 ” 事件 ” 、 ” 枚举 ” 等编程概念也不甚了了,但由于有网上高手的指点、帮助,我仍旧可以在工作中应用 VBA ,多次应用下来,用到的一些 VBA 代码不去死记也差不多会背了,对 VBA 的一些概念、理论开始有所了解。

   万事开头难。学习一开始碰到难题,如果解决不掉,就可能从此放弃学习了,如果这时有热心人解答他的疑问,然后在实际中立即可以应用新知识,新知识得到了即时巩固,学习的兴趣得到激发和增强,学习就得以继续和深化。当然,对于有 ” 悬梁刺股 ” 精神的朋友,自己看书刻苦钻研也可能会解决所有疑难问题,但那毕竟是极少数,我想多数人是象我这样的普通人。

   来而不往非礼也。在网上得到诸多大侠的指点,总感到好像欠了谁什么似的,就想到编一本电子书,把常见的 Excel VBA 学习教程集中到一起,可以帮助初学者快速入门。 2003 年 6 月较空闲,刚好自己对 Html 语法也懂一点,就花了二周的时间,搜集整理了一本电子书,叫《 Excel 应用宝典》,其中重点内容是 Excel VBA 。把电子书放到 OfficeFans 上供网友下载,极受欢迎。我为什么编这本电子书呢?真的是比较空闲的缘故?有空去泡 MM 不是很好,何必去做枯燥的文字整理工作,其实我是存有 ” 私心 ” 的?

   什么 ” 私心 ” ?助人即助己。 ” 佛 ” 渡人其实也是为了渡己啊。我为了领悟这个道理,诸子百家,佛道儒易医,无所不涉,并在生活中曲折浮沉,这样还是用了 ”30 年 ” 时间(太夸张了,一出生就 …… ?呵呵),各位比我聪明,应该早就明白此理。

   为什么助人即助己?
   在学术上帮助别人,指点别人,就要站在别人的角度考虑,思考别人的思考,打破了小我的思维局限。
从信息角度讲,个人自修,知识的附加信息量较小,而在帮助别人过程中,存在人与人的信息交流,在信息交流中,知识信息得到强化。
   举一个例子,小孩子生活在英语环境中, 3 岁即口语流利,而我们的学校教育,大学毕业,英语学了十多年,还是哑巴英语的大有人在,为什么?
   小孩子记一个单词或句子,是在和外界信息交流中记忆的,确切地说,小孩子记住了当时信息交流的情境,通过情境的自然记忆实现单词或句子的自然记忆。学习口语如此,学习编程何尝不如此呢?你在某个问题上指点过别人,你的记忆印象可能就特别深,如果是个人看书自学,对于某个问题当时虽然理解,但附助记忆的情境信息量很小,时间长了就容易遗忘。
   所以,在学习编程的过程中,多和别人交流,多向高手虚心求教,多指点初学者,是在人为创造学习情境,在情境中强化记忆,强化理解。
   李阳提倡 ” 疯狂英语 ” 学习法,我则提倡 ” 疯狂编程 ” 学习法,也就是创造一切机会和别人交流编程经验,从交流中进行强化训练和学习。但也要注意,交流是手段不是目的。
   交流编程经验的途径有很多:如论坛交流,媒体投稿, QQ 、 ICQ 等通讯软件交流。个人觉得 CSDN 为我们提供的 ”blog 专栏 ” 非常好,您可以一边学习编程,一边记下心得,通过个人专栏和大家交流。

VBA 是 VB 的应用分支,我在工作中应用 VBA ,并自然地对 VBA 的概念、理论有了初步了解,这时再去看 VB 的教程,就感到分外亲切。因为 VBA 和 VB 在本质上是没有区别的。我终于可以跨入 VB 编程之门了。


        三.从应用入手,从解决实际问题出发,在完成项目的过程中,逐步掌握程序设计理论与技巧

程序语言种类很多, Pconline 工具平台 就列有 VB/VB.NET 、 VC/C# 、 Delphi 、 Java 、 C++Builder 等。到底学什么语言好呢?在 Google 输入语言 比较,查到一篇文章《编程语言的宗教狂热和十字军东征》,第一段就是:
业余程序员最喜欢做的一件事就是对不同的语言进行比较。 Java 是否比 C ++好? C #是否会成为终极语言?凡此种种。从专业程序员的角度看来,这是最低级无趣的游戏。其一,在项目诸元确定之后,通常并没有选择语言的余地;其二,语言的生存本身就是一个达尔文主义的问题:设若两种语言有明确的可比较性,其中较劣的那一种必定早已被淘汰出局,又何来比较的必要?


   我基于两个原则选择程序设计语言:
其一,适合自己的就是最好的。
  其二,如果不知道什么适用自己,那么优先选择 Microsoft 的程序设计语言。
  我选的是 VB (每个人的具体情况不,我的选择不一定适合你),我目前只考虑开发普通 Windows 应用软件,并希望 Windows 应用软件的开发和 MicroSoft VBA 的应用互相促进,说穿了,是精力有限,最好是一种语言,到处应用。
   于是在网上 Down 了 N 多的电子书,收藏夹里 VB 网站一大堆。我发现,除了 CSDN , VB 社区论坛的人气大多不旺。

第一次接触 VB ,没有基础,业余自学,如何快速掌握 VB 程序设计?
如果我有足够的时间(业余自学,时间显然不足),有足够的耐心(恰恰我是耐心不那么足的人),可以按照教程一个一个控件学习、练习,这个过程无疑是有益的,但对我来说显然是过于枯燥的。或许如此下去,半年以后,我的 VB 基础比较好了,但可能不到半年,早就被我放弃。这就要另辟蹊径。我的设想是,一开始就定下一个软件项目,带着目的去学,以一个控件为核心,在完成项目的过程中,逐步掌握 VB 控件的使用和编程基本理论。项目基本完成的时候, VB 编程也就入门了。由于是带着项目去学,目的明确,学习过程就不会枯燥。如果你做共享软件,你的项目创意又比较好,你 VB 编程入之门之日,也许你的软件也就可以为你带来 Money 了,呵呵!
   开发一个什么样的软件呢? SUN 提出了激动人心的口号 :” 网络就是计算机 ” 。计算机的应用主要在于网络,于是定位于开发网络应用软件。我经常到网络社区论坛交流,注册时要一项项填写信息,发言时也要一项项填写信息,感觉很费时间,打算自己编程来实现自动注册,自动发言。  

2003 年 5 月学 VBA 时想用 VBA 实现在论坛自动注册和发言,实现起来有难度,就在网上找替代软件,找到了 ” 按键精灵 ” ( http://www.vrbrothers.com/cn/qmacro ) ,按键精灵是一个模拟鼠标键盘动作的软件。通过制作脚本,可以让按键精灵代替您的双手,自动执行一系列鼠标键盘的动作。 觉得很不错,就编写了一个脚本,用按键精灵自动实现如下功能:打开 Internet Explorer ,输入并打开网址,移动鼠标到指定座标,输入字符,然后按回车完成注册 a 或发言。比起手工输入,用按键精灵省力不少,但是不同网站,输入框的座标不同,要手动抓取,有没有更方便的软件呢? 按键精灵社区 里有人讲到 EzScript ( http://ezscript.seed.cx/ ) 功能更多,试用后发现在 Windows XP 里反应不灵敏,再在 Google 狂搜,找到了 PCWorker ( http://www.pcworker.net ) 。 PCWorker 配合网络填表软件 FORMGHOST ,可实现双击注册或发言,需要的话,还可在标题加上随机数,而且 PCWorker 代码的可读性较强,且作者能及时听取网友意见对软件加以改进。
PCWorker 虽然好用,但要实现从网络中获取信息并作出判断(比如提取超链接),这是 PCWorker 类软件不能胜任的。于是决定用 VB6 来实现自己的想法。 2003 年 10 月开始学习 VB6 ,到 11 月,项目基本完成。我是怎么做的呢?

   首先浏览各 VB 网站有关文章,发现用 WebBrowser 控件能实现我所要求的功能。
   其次,大量搜集 WebBrowser 控件相关文章和代码。
    用 Google 搜寻。如用 ”WebBrowser” 为关键词搜索,共有 7 , 260 , 000 项查询结果 。
CSDN 论坛 搜索。导航到 http://expert.csdn.net/Expert/Forum.asp ,登陆论坛,点击 ” 搜索 ” ,选 ” 全部社区 ” ,用 ”WebBrowser” 为关键词,然后点击 ” 对选择的大类进行搜索 ” ,哇,有 300 篇有关 ”WebBrowser” 的帖子。
CSDN 文档 搜索,导航到 http://www.csdn.net/search.asp ,搜索框中输入 ”WebBrowser” ,选择 ” 文档 ” ,再单击 ” 搜索 ” 按钮,找到 57 篇 ”WebBrowser” 相关文档。
   在实际编程中遇到困难,还可以到 CSDN 论坛 提问,寻求帮助。我就曾在 CSDN 论坛 问了不下十个有关 WebBrowser 有关问题,并都得到了解答。

  由于善于运用以上三步, 1 个半月时间,我的软件基本出炉, VB 编程也已基本入门。

  在学习 VB6 的同时自然接触到 Microsoft Visual Studio .NET (简称 VS.NET )。在十年之前, Visual Basic 1.0 成为数以百万计的开发人员的革命性的应用程序开发语言。现在, Visual Studio .NET 为未来的十年做好了准备(有点象为 Microsoft 打广告,你说呢), VS.NE 是用于创建下一代应用程序的理想而又现实的开发工具,是一个从一开始就是为 XML Web 服务创建的开发环境。通过允许应用程序通过 Internet 沟通和共享数据, XML Web 服务使业务能够从 Internet 转换为用于集成和传送它们的核心商业价值的真正平台。 Visual Studio .NET 和 XML Web 服务提供简单、灵活、基于标准的模型,允许开发人员从新的和现有的代码汇编应用程序,而与平台、编程语言或对象模型无关。
VS.NET 2003 中主要有包含以下几种开发工具:
Visual Basic .NET 2003
Visual C# .NET 2003
Visual C++ .NET 2003
Visual J# .NET 2003

 有人说, ” 学习要面向未来 ” , 2003 年 12 月,我的主要开发工具从 VB6 转为 VB.NET , 2004 年 1 月 1 日 ,我把新开发的软件从 VB6 升级为 VB.NET ,并正式命名为“论坛发帖软件工具下载版”(又叫“论坛自动发贴软件”,“论坛自动发帖器”,“论坛批量发帖软件”,“论坛自动发贴工具”,“论坛快速发帖器”,“论坛发贴机”,“论坛快速发帖器”) ( 如果你要在网上推广你的产品,记得来找我 ) 。

  在转向 VB.NET 的时候,我考虑:
   第一. VS.NET 的本质是什么?
VS.NET 是从一开始就是为 XML Web 服务创建的开发环境。通过允许应用程序通过 Internet 沟通和共享数据, XML Web 服务使业务能够从 Internet 转换为用于集成和传送它们的核心商业价值的真正平台。
学习要面向未来,就要学习最新的技术,现在的学习为将来的应用作铺垫。我的软件要突出两点,一是基于 Internet 的应用,二是要应用 XML 技术。这样,我就可以在应用中尽快掌握新技术,否则,只是为学习而学习,无疑会是比较枯燥,也容易遗忘。
   第二.原来用 VB6 写的”论坛发帖软件工具下载版”,主要用到 WebBrowser 控件,网页加载速度慢,会下载图片, Flash 等许多不需要的东西,在 VS.NET 中可考虑用其他方法实现同样功能。
   在 CSDN 诸位朋友的帮助下,并参考许多资料,我的“论坛自动发贴机”已基本具备 .NET 特征。代码举例:

1. “论坛自动发贴机器”应用了 XML 技术
VB6 中, INI 文件通常用来保存系统信息、配置信息,读写 INI 文件要用到 API 函数,使用起来不是很方便。在 VS.NET 中,已经没有必要用 INI 文件来保存和读取一些信息了,可以改用 VS.NET 中的读写 XML 文件的类。而且,在 VS.NET 2003 的后续版本中,处理 XML 有关功能将得到进一步增强。
   读取 XML 到 DataGrid 代码:

Public MyXMLDataSet As New DataSet(“XMLDataSet”)
' DataSet 是数据的一种内存驻留表示形式,无论它包含的数据 ' 来自什么数据源,它都会提供一致的关系编程模型。
MyXMLDataSet.ReadXml(“regid.xml”) ' 读入 XML 文件
form1.DefInstance.DataGrid1.DataSource = MyXMLDataSet 'DefInstance 是 form1 的共享属性
strName = MyXMLDataSet.Tables(0).Rows(0).Item(“name”).ToString '    从 DataGrid 中读取用户名信息。



  从 DataGrid 更新信息到 XML 文件代码:

Dim MyXmlDataSet As DataSet
MyXmlDataSet = CType(DataGrid1.DataSource , DataSet) ' 类型转换
MyXmlDataSet.WriteXml(“regid.xml”) ' 把信息写入 XML 文件



如果不用 DataGrid 控件,读写 XML 文件中特定信息可以更简单:

Dim xmlInfo As New XmlDocument
xmlInfo.Load(“info.xml”) ' 载入 XML 文件
Dim str As string=xmlInfo.Item(“RegInfo”).Item(“name”).InnerText ' 用 ”Item” 可以逐级往下读数据
xmlInfo.Item(“RegInfo”).Item(“pass”).InnerText=“MyPass”
xmlInfo.Save(“info.xml”) ' 保存信息到 xml 文件


   我原来打算用 INI 格式来保存“论坛自动发帖机”的注册信息和发言信息,但是,一则读写 INI 不是很方便,二则 XML 在软件开发中越趋重要,于是一开始就用 XML 文件来保存有关信息。在刚接触 VS.NET 时本不知 XML 为何物,现在可自如在“论坛发贴软件工具”读写 XML ,是否有点 ” 高手 ” 的感觉呢?(自我陶醉一下先)

2. 用 HttpWebResponse 相关类 GET 和 POST 信息
   用 GET 方式读取网页源代码:

Dim httpReq As System.Net.HttpWebRequest 'HttpWebRequest 类对 WebRequest 中定义的属性和方法提供支持,也对使用户能够直接与使用 HTTP 的服务器交互的附加属性和方法提供支持。
Dim httpResp As System.Net.HttpWebResponse
Dim url as String=“ http://www.riveastking.com  '我的小站
Dim httpURL As New System.Uri(url)   
httpReq = CType(WebRequest.Create(httpURL) , HttpWebRequest)
httpReq.Method = “GET”
httpResp = CType(httpReq.GetResponse() , HttpWebResponse)
Dim reader As StreamReader = _
New StreamReader(httpResp.GetResponseStream , System.Text.Encoding.GetEncoding(“GB2312”)) ' 如是中文,要设置编码格式为 ”GB 2312” 。
Dim respHTML As String = reader.ReadToEnd() 'respHTML 就是网页源代码
httpResp.Close()



向服务器 POST 信息:

Dim httpUrl2 As New System.Uri(“ http://www.riveastking.com ? ” & “name=1&pass= 6” ) ' “&” 号后面是 ' 注册信息,改成你自己的
Dim req As HttpWebRequest
req = CType(WebRequest.Create(httpUrl2) , HttpWebRequest)
req.Method = “POST”
req.ContentType = “application/x-www-form-urlencoded”
Dim bytesData() As Byte = System.Text.Encoding.ASCII.GetBytes(“name=1&pass= 6” )
req.ContentLength = bytesData.Length
Dim postStream As Stream = req.GetRequestStream()
postStream.Write(bytesData , 0 , bytesData.Length) ' 以上为向网络服务器 POST 信息

Dim res As HttpWebResponse = CType(req.GetResponse() , HttpWebResponse)
Dim reader As StreamReader = _
New StreamReader(res.GetResponseStream , System.Text.Encoding.GetEncoding(“GB2312”))
Dim respHTML As String = reader.ReadToEnd() 'respHTML 为 POST 后网络服务器返回的信息
MsgBox(respHTML) ' 可用 MsgBox 查看返回的信息
res.Close()



3. 用正则表达式从网页源代码中提取网址
   得到网页源代后,我们可以对源代码进行处理,比如提取其中的链接, Email 地址,图片地址, Flash 等等,这在论坛自动发贴软件工具中很有用。

Dim r As System.Text.RegularExpressions.Regex
Dim m As System.Text.RegularExpressions.MatchCollection
Dim respHtml As String = “http://www.NETsh.Net/subdomains/f_s_o.php?leibie=shangmao” ' 以这个地址举例
strRegex = “http://([/w]+/.)+[/w]+(/[/w.?]+)+leibie[=]{1}[/w]+” ' 用这个正则表达式可以提取上面地址。通用 ' 的提取链接正则表达式为 ”http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?” 。  
r = New System.Text.RegularExpressions.Regex(strRegex , System.Text.RegularExpressions.RegexOptions.IgnoreCase)
m = r.Matches(respHTML)
Dim i As Integer
For i = 0 To m.Count - 1
MsgBox(m(i).Value)
Next i



 四.掌握并利用大量网络资源来辅助 VS.NET 的学习,你将事半功倍。

现在我的“论坛自动发贴器下载版”已经用 .NET 全面改写,并用上继承,重载,多线程等,所有这些在 VB6 中能否实现,从 VB6 转到 .NET 是否明智?

   从 2003 年 10 月开始学习 VB6 编程, 11 月半用 VB6 完成第 1 个软件——“自动发帖工具下载版”,到 2004 年 1 月 17 日 用 VB.NET 技术改写“论坛发贴工具下载版”。可算基本入门。原来没有一点编程基础,全部用的业余时间,没有当面请教一个老师。如果学得还算顺利的话,很大部分要归功于掌握并利用大量网络资源。下面列出我所掌握的 VS.NET 网络学习资源,有什么遗漏希望大家能指出。
1.  微软技术支持
   在你学习 VS.NET 的过程中,有疑问首先要向 Microsoft 求助。如果你不懂得利用 Microsoft 提供的庞大的学习资源,我要告诉你,你舍近求远了。
   ( 1 )首先,你要安装 MSDN ,他比市面上所有的 VS.NET 书籍详细。我为了装 MSDN ,可是牺牲了我的 98 和 XP 双启动,改成 Windows XP 单系统。装了 MSDN 后,你要学习正则表达式, VS.NET 2003 中点击 ” 帮助 ” ,再点击 ” 搜索 ” ,然后输入 ” 正则 ” ,一回车,哇,找到 470 个主题,这下你慢慢研究吧。实在研究不透,也不用急,还有 Google CSDN 呢。
   ( 2 )在线 Microsoft .NET 框架 SDK 快速入门教程( http://chs.gotdotnet.com/QuickStart ) ,可配合 MSDN 使用。
   ( 3 ) 微软中国社区( http://www.mscommunity.com/Profile/ ) 。在社区注册,有问题就到社区去提问吧。
( 4 )在线 中文 MSDN ( http://www.microsoft.com/china/MSDN/default.asp ) ;在线英文 MSDN ( http://msdn.microsoft.com/ ) ,考考你的 E 文,不过有金山词霸在,我都不怕,你还用怕什么呢!

为什么选择 VS.NET ,为什么看好 VS.NET ,看看 Microsoft 的 Help 文档有多详尽就知道了。如果你不去利用 Microsoft 提供的庞大的 Help 资源,是不是有点对不起盖茨呢!  

2. CSDN http://www.csdn.net/
CSDN 号称中国最大的开发者网络,确实不假。我最常去的是 CSDN 的
文档( http://www.csdn.net/develop/ )
论坛( http://expert.csdn.net/expert/forum.asp)
   只要你善于利用搜索功能,你在开发中遇到的许多问题可在 文档 论坛 中找到答案。如果你在开发过程中遇到疑难,而你又认为 Bill Gates 帮不上你的忙,那么,你就上 CSDN 吧,一定会让你满意的。
教你两个绝招,第一招,是 ” 搜索大法 ” 。遇到问题,首先是在 CSDN 的 文档 论坛 进行搜索,看有无类似答案。如不行,再下一招。
第二招, ” 提问大法 ” ,只要有礼貌有诚意地在论坛提问,一定有许多人乐于回答你的问题。

3.  其他相关网站、专栏
有不少网站开辟 VS.NET 专栏,常去看看,必有收获。
太平洋开发特区 ( http://www.pconline.com.cn/pcedu/empolder/net/ )
网猴教程连载 http://act.it.sohu.com/book/slist.php?class1=6
天极 的 Visual Studio.NET 专栏( http://www.yesky.com/SoftChannel/72342380467978240/index.shtml )
赛迪的 NET 专区( http://tech.ccidnet.com/pub/column/c340.html
CSDN 上 Latitude 的 VS.NET 专栏( http://www.csdn.net/develop/author/netauthor/Latitude/ )
孟宪会之精彩世界( http://xml.sz.luohuedu.net/xml/ )
博客园( http://www.cnblogs.com/

.net 博客( http://dotnet.mblogger.cn
博客堂( http://blog.joycode.com/

北京希望电子出版社图书素材资料下载 (http://www.b-xr.com/bbs.htm )
清华大学出版社 VS.NET 源码下载 (http://www.wenyuan.com.cn/soft_index.asp)

还有我的小站 http://www.riveastking.com

4.  国外编程学习资源
如果你的 E 文不错,不妨上 E 文网站去取经。  
http://www.startvbdotnet.com
http://www.vbdotnetheaven.com
http://www.vbaccelerator.com
http://www.vbcity.com/
http://searchvb.techtarget.com/
http://www.vbwire.com/
http://builder.com.com
http://www.developer.com
http://www.codeproject.com

http://www.dotnetjunkies.com
http://www.planet-source-code.com/

http://www.a1vbcode.com/

http://www.freevbcode.com/

http://www.vbcode.com/
http://sourceforge.net/
http://www.syncfusion.com/FAQ/WinForms/
http://www.123aspx.com
http://panopticoncentral.net/
http://www.regexplib.com/
http://www.harding.edu/USER/fmccown/WWW/vbnet_csharp_comparison.html
http://www.only4gurus.com/v2
http://www.gotdotnet.com
http://www.programmersheaven.com/
http://www.aspnetpro.com
http://www.dotnetgenius.com/
http://www.devx.com/dotnet
http://www.devhood.com
http://www.devshed.com/
http://www.devarticles.com/
http://www.c-sharpcorner.com/
http://www.csharphelp.com/
http://authors.aspalliance.com/aldotnet/examples/translate.aspx

http://www.developerfusion.com/
http://www.dotnet247.com
http://www.codestudy.com

   当然,还有一个地球人都知道的,全球最大的知识仓库,我不说,你也早就应该知道的,那不是 http://www.google.com 又是什么!

                        http://www.riveastking.com
                             2004 年 12 月 12 日 星期日

本文作者现从事网络营销、网络广告的研究与实践,如果你要在网上推广你的东东,记得来找我( QQ:26624998 )。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
一、 开发前的准备1、 在装有Windows 2000或者Windows XP Professional的机器上安装.Net Framework SDK、Visual Studio.Net、Visual Source Safe 6C。(如果用户操作系统是Windows .Net Server,则无须安装.Net Framework SDK,.Net Server自带的IIS 6已经完全包含了对.Net的支持)这些工具在Visual Studio.Net的安装盘上都可以找到。2、 一台专门用于存放版本控制中心数据库的服务器。该服务器不需要安装.NET Framework SDK和VS.Net,但是必须安装VSS 6C。我们称这台服务器为开发服务器DataCenter。3、 一个主域控制器,将DataCenter服务器加入这个域,为每一个开发用户分配域帐号。这样所有小组成员可以通过登录到Window NT域来访问版本控制信息。注意:Visual Studio 6所带的Visual Source Safe 6不支持.Net的一些文件格式。如果你安装了VSS 6,也需要再安装一次VSS 6C,否则在VS.Net环境中将源代码加入到VSS数据库中将会出现错误。 二、 创建空的SourceSafe数据库在开始工作之前,需要建立一个空的SourceSafe数据库,来存放源代码控制数据,并为小组开发人员分配访问帐号。在DataCenter服务器上新建Source Safe数据库。步骤如下:1、 启动"开始"——"程序"——"Microsoft Visual SourceSafe"菜单下的SourceSafe 6.0 Admin。如果你是第一次安装VSS 6C,Common数据库的Admin帐号为空。如图一所示: 2、 在Visual SourceSafe Administrator窗口中,你可以看到Source Safe默认的两个用户Admin和Guest。如果你不打算使用默认的Common数据库,而要建立一个属于自己的项目数据库。选择菜单"Tools"——"Create Database",如图二所示: 3、 在弹出的对话框中选择新数据库存放的位置。这里我们选择:C:\SourceManager\。点击OK后,提示你已经创建了数据库。4、 选择"Users"——"Open SourceSafe Database…",使用Browser按钮,选择刚才所创建的SourceManager数据库C:\SourceManager\srcsafe.ini。5、 使用"Users"——"Change Password"命令更改Admin帐号的密码。使用"Users"——"Add User"命令为项目小组成员创建SourceSafe帐号。6、 将C:\SourceManager目录设置为共享。共享权限默认是Everyone完全控制。如果希望只对项目小组成员开放,不希望其他人操作数据库文件(注意:没有SourceManager帐号的人不能访问SourceSafe中的内容,但如果他有权限的话,可以删除或修改数据库中的数据),请将Everyone组从权限组中删除,并从域目录中选择可以访问该目录的域帐号或计算机。7、 到此,一个空的项目数据库建立完毕。 三、 新建项目并加入版本控制下面将演示在一个装有VS.Net的计算机上创建一个Windows应用程序和一个Web项目,并把它加入到上面所建的SouceManager数据库中。1、 启动VS.NET。2、 使用"文件"——"新建"——"空白解决方案"命令,在D:\下新建解决方案SourceManager。VS.Net会在D:\下自动创建一个SourceManager目录,该目录中有一个解决方案文件SourceManager.sln文件。3、 使用"文件"——"新建"——"项目"命令,在项目类型中选择"Visual C#项目",在"模板"中选择"Window应用程序"。项目名称MyWindowApp。并选择"添入解决方案"选项。确定。 4、 使用"文件"——"新建"——"项目"命令,在项目类型中选择"Visual C#项目",在"模板"中选择"ASP.NET Web应用程序"。在"位置"栏中填写http://localhost/MyWebApp。并选择"添入解决方案"选项。确定。 这样就在解决方案中建立了一个Window应用程序和一个Web应用程序。下面讲述如何将整个解决方案加入到源代码版本控制。5、 在WebFrom1和Form1的设计器中各自加入一个Label控件,保持它的属性不变。我们将看到从另一个主机上获取的程序用户界面中也会有这一个控件。6、 使用"文件"——"源代码管理"——"将解决方案加到源代码管理"命令。 7、 在弹出的Visual SourceSafe Login登录窗口点击"Browser"按钮,弹出打开数据库对话框,点击该对话框的"Browser"按钮,弹出如下对话框,在"文件名"中输入\\DataCenter\SourceManager\srcsafe.ini。确定后输入上面所分配的SourceSafe帐号和密码。 8、 首先会弹出一个保存解决方案的提示窗口,让你选择将要保存到SourceSafe中的项目名称,默认与解决方案的名称相同。点击OK,会得到项目在数据库中不存在的提示,点击"Yes"创建该项目。 9、 接下来会让你选择Web应用程序的保存位置。如下图所示。由于Web应用程序通常保存在本地的IIS根目录下。与解决方案中的其它项目不在同一个目录中,所以需要为Web应用程序在SourceSafe中单独建立一个项目。在该窗口点击"OK"按钮接受SourceSafe的默认项目名称MyWebApp。 10、 到此,我们已经在SourceSafe中添加了整个解决方案,包括一个Windows应用程序和一个Web应用程序。在"解决方案资源管理器"视图中,加入源代码控制的程序旁边有一把锁(如图九所示),表示文档已签入,不可编辑。 11、 通过菜单"文件"——"源代码管理"——"Microsoft Visual SourceSafe",打开SourceSafe,可以看到,在SourceSafe中已经加入了两个项目。如图十所示: 四、 获取SourceSafe中的项目下面的步骤中将讲述如何在另一台主机上从SourceSafe获取源代码。1、 在另一台主机上打开Visual Studio.Net开发环境。使用菜单命令"文件"——"源代码管理"——"从源代码管理打开"。重复第三步中的第7个操作,选择SourceSafe数据库的位置。2、 弹出"Create local poject from SourceSafe"窗口,在"Create a new project in the"输入框中填写你要保存项目的本地路径,这里我们选择"C:\MyProject"。在"SourceSafe project to"中选择SourceManager项目,单击OK按钮。如果目录C:\MyProject不存在,会询问是否创建,选择"Yes All"。 3、 接下来会弹出保存Web应用程序工作副本的对话框,在工作副本位置输入框中输入你想要保存Web应用的Web文件夹,也可以接受默认设置。点击"确定"按钮接受默认设置。 4、 通过上述步骤,我们已经成功地在另一个开发主机上获得保存在SourceSafe的工程。将来如果有新的开发人员加入,只需重复这四个步骤即可。 五、 版本控制的几个概念在Visual Studio.Net开发环境"解决方案资源管理器"的上下文菜单或者"文件"——中有如下与文件操作有关的命令,如图十三所示: 1、 文件的"签出"(Check Out):当需要编辑一个文件时,必须将该文件"签出",SourceSafe会标志该文件已经被某个用户迁出,并确保其他用户不可编辑同一个文件。对于文件,仅当文件被签入后才有这个选项。2、 文件的"签入"(Check In):当完成文件的编辑后,最好将文件"签入",以让其他用户可以签出或者获取最新版本。对于文件,仅当文件被签出后才有这个选项。3、 "获取最新版本":从SourceSafe数据库中获取指定文件或项目的最新版本,而又不必签出文件。4、 "取消签出":不在SourceSafe数据库中保存签出后所做的修改,使本地文件恢复到修改之前的状态,并且将文件签入。只有文件或项目中有文件被签出后才有这个选项。5、 "历史记录":查看文件修改的历史记录。SourceSafe数据库会自动保存每次"签入"前后的文件内容。如果需要查看历史记录。6、 "版本比较":可以比较当前版本与历史版本之间的差异,SourceSafe将以对照的形式将两个版本的不同之处显示出来。如图十四所示: 7、 "Roll Back":在历史版本显示对话框中有一个Roll Back命令,即将文件恢复到历史版本。当文件编辑错误时,想让文件回到历史的某个点时,使用该命令。历史版本显示对话框中还有其它命令,这里不一一详述,请读者慢慢研究。 8、 Visual Studio.Net中关于版本控制的选项:在"工具"——"选项"命令对话框中,选择左边的"源代码管理",显示如下对话框。读者可以根据项目的情况对SourceSafe选项进行设置。 9、 其它SourceSafe操作:读者可以从"文件"——"源代码管理"——"Microsoft Visual SourceSafe"菜单,进入"Visual SourceSafe Explorer",其中大多数主要命令基本与Visual Studio.Net相同,这里就不再累赘。 六、 版本控制项目的管理下面将讲述版本控制相关的一些权限管理和文件映射。首先在DataCenter服务器上打开"开始"——"程序"——"Microsoft Visual SourceSafe"——"Visual Source Safe 6.0 Admin"。选择SourceManager数据库,填入Admin账号的密码。进入"SourceSafe Administrator"窗口。它有如下几个菜单。 1、 Users菜单下是关于用户操作的命令,除上面我们所使用的添加用户"Add User"、修改密码"Change Password"外,还有删除用户"Delete User"、编辑用户"Edit User"命令。"Open SourceSafe Database"命令用于更改当前SourceSafe数据库。2、 Tools菜单下的Options对话框中包括了一些项目的设置。下面对主要的选项进行简单的说明:(1) General页中的Allow multiple checkouts,如果选择此项,则允许多个用户同时签出文件。默认是不允许。(2) Project Security页中的"Enable project security"复选框指明是否允许对项目使用安全性。该项默认为不允许。只有当选择了这个选项之后,Tools下的"Rights by Project"、"Right Assignments for User"和"Copy User Rights"才可用。这里我们将它选中。(3) Shadow Folders页用于设置项目在服务器上的映射。项目在SourceSafe中以二进制码形式将文件的所有版本信息保存在文件中。要在服务器上创建一个目录,将项目文件映射到这个目录中,使用该命令。在"Set shadow folder for project"中选择在SourceSafe中的SourceManager项目,在"Set shadow folder to"中选择项目要映射到的目录,如C:\SourceManager_Shadow。(4) Web Projects页用于设置Web项目在服务器上的映射。在This project represents a Web Site中选择SourceSafe中的MyWebApp项目,在URL中填入"http://localhost",即本地Web服务器(也可以填入其它服务器)。Virtual Tools中填入要映射的虚拟目录,在"Deployments path"填入部署目录,这个目录将成为IIS中指定虚拟目录的映射目录。3、 Tools菜单下的"Rights by Project"管理SourceSafe中项目的权限,如图所示。用户权限共有四种,在Rights中分别对应为:R(Read)、C(Check Out/Check In)、A(Add/Rename/Delete)、D(Destroy)。在左边的"Project"框中选择一个项目,并在右边选择相应的用户,使用下面的复选框,给用户分配相应的权限。Tools菜单下的"Rights Assignments for User"用于给选定用户分配权限,操作结果与上面的命令相同。 4、 Archive菜单下的"Archive Projects"用于将指定项目打包成*.ssa(SourceSafe Archive)文件,并迁移到其他主机上,使用Archive的"Restore Projects"命令,将该文件恢复到其他主机。这两个命令用于项目的迁移。 总结使用SourceSafe与VS.Net开发环境,可以为团队开发提供完整的源代码管理方案。通过源代码管理,可以记录项目开发的过程份。 http://www.biancheng168.com/Download/HTML/27.html
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值