1、解決方案、項(xiàng)目、程序集、命名空間
惱火,書上一筆帶過。還是有人寫過一個(gè)比較清楚,百度是好老師。
初學(xué)者很容易把這些概念搞混淆。先說說項(xiàng)目(Project),通俗的說,一個(gè)項(xiàng)目可以就是你開發(fā)的一個(gè)軟件。
在.Net下,一個(gè)項(xiàng)目可以表現(xiàn)為多種類型,如控制臺(tái)應(yīng)用程序,Windows應(yīng)用程序,類庫(Class Library),
Web應(yīng)用程序,Web Service,Windows控件等等。如果經(jīng)過編譯,從擴(kuò)展名來看,應(yīng)用程序都會(huì)被編譯為.exe文件,
而其余的會(huì)被編譯為.dll文件。既然是.exe文件,就表明它是可以被執(zhí)行的,表現(xiàn)在程序中,這些應(yīng)用程序都有一個(gè)主程序入口點(diǎn),
即方法Main()。而類庫,Windows控件等,則沒有這個(gè)入口點(diǎn),所以也不能直接執(zhí)行,而僅提供一些功能,給其他項(xiàng)目調(diào)用。
在Visual Studio.Net中,可以在“File”菜單中,選擇“new”一個(gè)“Project”,來創(chuàng)建一個(gè)新的項(xiàng)目。例如創(chuàng)建控制臺(tái)應(yīng)用程序。
注意在此時(shí),Visual Studio除了建立了一個(gè)控制臺(tái)項(xiàng)目之外,該項(xiàng)目同時(shí)還屬于一個(gè)解決方案(Solution)。
這個(gè)解決方案有什么用?
如果你只需要開發(fā)一個(gè)Hello World的項(xiàng)目,解決方案自然毫無用處。但是,一個(gè)稍微復(fù)雜一點(diǎn)的軟件,都需要很多模塊來組成,
為了體現(xiàn)彼此之間的層次關(guān)系,利于程序的復(fù)用,往往需要多個(gè)項(xiàng)目,每個(gè)項(xiàng)目實(shí)現(xiàn)不同的功能,最后將這些項(xiàng)目組合起來,
就形成了一個(gè)完整的解決方案。形象地說,解決方案就是一個(gè)容器,在這個(gè)容器里,分成好多層,好多格,用來存放不同的項(xiàng)目。
一個(gè)解決方案與項(xiàng)目是大于等于的關(guān)系。建立解決方案后,會(huì)建立一個(gè)擴(kuò)展名為.sln的文件。
在解決方案里添加項(xiàng)目,不能再用“new”的方法,而是要在“File”菜單中,選擇“Add Project”。添加的項(xiàng)目,可以是新項(xiàng)目,
也可以是已經(jīng)存在的項(xiàng)目。
程序集叫Assembly。學(xué)術(shù)的概念我不想提,通俗的角度來說,一個(gè)項(xiàng)目也就是一個(gè)程序集。從設(shè)計(jì)的角度來說,
也可以看成是一個(gè)完整的模塊(Module),或者稱為是包(Package)。因此,一個(gè)程序集也可以體現(xiàn)為一個(gè)dll文件,
或者exe文件。怎樣劃分程序集也是大有文章的,不過初學(xué)者暫時(shí)不用考慮它。
命名空間,常用如下:
System 根命名空間,提供所有應(yīng)用程序都使用的功能,如類型、回收器、屬性、異常等。
System.Data 實(shí)現(xiàn)ADO.Net功能,數(shù)據(jù)訪問
System.Drawing 提供GDI+功能
System.Windwos.Forms 提供創(chuàng)建窗體應(yīng)用程序功能
System.XML 處理XML的類
在引用文件夾中的體現(xiàn) :
2、大綱顯示(分級(jí)顯示)、智能感應(yīng)
大綱顯示(有些翻譯為分級(jí)顯示,搞得查看N久,只有這個(gè)),可以折疊顯示代碼,讓視覺更清爽。
智能感應(yīng),利于我們這樣不常用的人。
大綱顯示除了系統(tǒng)定義的外,還可以人為定義
#region "這個(gè)是我定義的區(qū)域折疊"
.......................'可折疊的代碼
#end region
3、程序集AssemblyInfo.vb
這是程序集的屬性,一些產(chǎn)品標(biāo)識(shí)、版本控制,不是用代碼來設(shè)置的,是通過屬性設(shè)置后體現(xiàn)在這里面。
4、窗體文件(Form1.Designer.vb)
VB6的窗體文件后綴名是frm,是不能用文本打開。VB.net可以打開:
打開后如下:
第二部分組件的初始化
先添加新控件
再分別設(shè)置初始值(TextBox1,Button1)
最后加入控件集合中
注意,為了提高效率,先用SuspendLayout()暫停布局,在所有設(shè)置妥當(dāng)后,再ResumeLayout()恢復(fù)布局,
第三部分(最后兩句)指明響應(yīng)相應(yīng)控件的事件
5、Debug和Release版本
Visual Studio 2012 項(xiàng)目中,程序的發(fā)行版本和調(diào)試版本使用不同的配置。
顧名思義,生成調(diào)試版本的目的是用于調(diào)試,而生成發(fā)行版本的目的是用于版本的最終分發(fā)。
如果您使用 Visual Studio 創(chuàng)建程序,Visual Studio 會(huì)自動(dòng)創(chuàng)建這些配置并設(shè)置適當(dāng)?shù)哪J(rèn)選項(xiàng)和其他設(shè)置。 在默認(rèn)設(shè)置下:
程序的“調(diào)試”配置用全部符號(hào)調(diào)試信息編譯,不進(jìn)行優(yōu)化。 優(yōu)化會(huì)使調(diào)試復(fù)雜化,因?yàn)樵创a和生成的指令之間的關(guān)系更加復(fù)雜。
程序的“發(fā)布”配置被完全優(yōu)化,不包含任何符號(hào)調(diào)試信息。 根據(jù)使用的編譯器選項(xiàng),可在 [OBSOLETE] 程序數(shù)據(jù)庫文件 (C++)中生成調(diào)試信息。
如果以后還必須調(diào)試發(fā)行版本,創(chuàng)建 PDB 文件就非常有用。
可使用“標(biāo)準(zhǔn)”工具欄或配置管理器在發(fā)行版本和調(diào)試版本之間進(jìn)行切換。
聯(lián)系客服