溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

部署和分發(fā).NET應(yīng)用程序的兩種方法分別是怎樣的

發(fā)布時(shí)間:2021-10-28 09:25:58 來(lái)源:億速云 閱讀:112 作者:柒染 欄目:編程語(yǔ)言

這篇文章給大家介紹部署和分發(fā).NET應(yīng)用程序的兩種方法分別是怎樣的,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

現(xiàn)在存在著的一個(gè)明顯事實(shí)是,所有的基于.NET技術(shù)的應(yīng)用程序或者產(chǎn)品都需要.NET的運(yùn)行庫(kù)支持,因?yàn)?NET在程序部署和分發(fā)方面有些類(lèi)似,它需要.NET Framework SDK的支持(JAVA應(yīng)用程序需要JDK的支持才可以運(yùn)行),不幸的是,目前的Win9x系列以及WinNT/2000系列均沒(méi)有內(nèi)置.NET SDK(不難理解,因?yàn)?NET技術(shù)的推出的時(shí)間晚于上面提到的各種操作系統(tǒng)的發(fā)布時(shí)間),甚至連即將發(fā)布的WindowsXP都不會(huì)內(nèi)置.NET SDK。

雖然,沒(méi)有了.NET SDK的支持,就連一個(gè)簡(jiǎn)單的在屏幕上面打印“Hello,World!”的應(yīng)用程序都無(wú)法運(yùn)行,那我們也不可能要求用戶必須手工安裝將近120M的.NET SDK后才能運(yùn)行我們自己開(kāi)發(fā)的應(yīng)用程序!有沒(méi)有更為簡(jiǎn)便的發(fā)布.NET應(yīng)用程序的方法呢?答案是肯定的,下面我們就提供兩種可以正確部署和發(fā)布.NET應(yīng)用程序的方法。

1.用VS.NET來(lái)部署和分發(fā).NET應(yīng)用程序

無(wú)庸置疑的是,VS.NET是開(kāi)發(fā).NET應(yīng)用程序的一個(gè)非常強(qiáng)大和快捷的集成開(kāi)發(fā)環(huán)境(IDE),微軟歷來(lái)在配合自己的應(yīng)用技術(shù)方面都能做到盡善盡美,當(dāng)然,我想也只有微軟才能真正做到和.NET技術(shù)的無(wú)縫銜接。

下面我們就詳細(xì)看看如何利用VS.NET來(lái)部署和分發(fā).NET應(yīng)用程序。為了講解的方便,我們例舉一個(gè)非常簡(jiǎn)單的Windows應(yīng)用程序:簡(jiǎn)單的在屏幕上面放置一個(gè)按鈕Button。

我們開(kāi)發(fā).NET應(yīng)用程序的測(cè)試環(huán)境是:Windows2000 Server中文版(SP2)+VS.NET Beta2中文版。

***步:在原有的項(xiàng)目基礎(chǔ)上,再新建立一個(gè)項(xiàng)目,并且選擇其中的“安裝和部署項(xiàng)目。

尤其需要注意選擇“添入解決方案”這個(gè)選項(xiàng),因?yàn)橹挥羞@樣才會(huì)將部署項(xiàng)目和我們自己的應(yīng)用程序放置到同一個(gè)“解決方案”當(dāng)中,這一點(diǎn)千萬(wàn)要注意了!

第二步:點(diǎn)擊“確定”按鈕之后,會(huì)出現(xiàn)安裝向?qū)А?/p>

因?yàn)槲覀兊?NET測(cè)試程序是一個(gè)Windows應(yīng)用程序,所以我們?cè)谏蠄D中選擇“創(chuàng)建用于Windows應(yīng)用程序的安裝程序(S)”。

點(diǎn)擊“下一步(N)”,我們將會(huì)看到需要選擇的畫(huà)面。

圖中的各個(gè)選擇項(xiàng)目的含義相信大家可以從中文名稱中直觀的理解到,我們就不再多費(fèi)口舌了。一路點(diǎn)擊“下一步”直到最終安裝向?qū)У耐瓿蓵?huì)需要5步,最終會(huì)在當(dāng)前的解決方案中添加一個(gè)名稱為“Setup1”的安裝項(xiàng)目。

在這里我們稍微提一下在VS.NET中的“解決方案”這個(gè)概念,其實(shí)在VS.NET中的所謂“解決方案”就類(lèi)似于以前VB中的“項(xiàng)目組”概念,也就是將多個(gè)項(xiàng)目集成到一起而已,只不過(guò)VS.NET中的“解決方案”這個(gè)概念的覆蓋范圍更廣泛而已罷了,這個(gè)我們知道一下就可以了。

第三步:在完成上面的兩個(gè)步驟之后,我們就會(huì)發(fā)現(xiàn),VS.NET的安裝向?qū)б呀?jīng)將我們的應(yīng)用程序中所用到的各種程序集、系統(tǒng)DLL文件、資源文件等等依賴文件找到了,并且我們還可以方便的繼續(xù)添加額外的我們需要的其他相關(guān)文件,在這方面做的有些類(lèi)似于InstallShield了,不過(guò)不需要編寫(xiě)安裝Script腳本。

這樣,我們選擇VS.NET的菜單“生成(B)”—〉“生成解決方案”,即可立即生成我們的安裝文件Setup1.msi,這個(gè)安裝文件你可以在你的應(yīng)用程序解決方案所在的目錄中找到。

找到了這個(gè)安裝文件你就會(huì)大吃一驚了,即使我們的應(yīng)用程序只有簡(jiǎn)單的一句話,打包之后就會(huì)有17M之大!不過(guò)沒(méi)有辦法,VS.NET會(huì)生成一個(gè)簡(jiǎn)潔的.NET SDK放在我們剛才生成的那個(gè)安裝文件當(dāng)中。

剩下來(lái)的事情,就是直接在沒(méi)有安裝.NET環(huán)境的Windows9x/NT/2000/XP中運(yùn)行我們的這個(gè)Setup1.msi文件就可以了!

2.手工部署和分發(fā).NET應(yīng)用程序

在上面的***種方法中,我們可以感受到VS.NET來(lái)做.NET應(yīng)用程序的方便和快捷,但是并不是所有的人都是使用VS.NET集成開(kāi)發(fā)環(huán)境來(lái)開(kāi)發(fā).NET應(yīng)用程序的,對(duì)于一些小的應(yīng)用程序,根本不需要安裝龐大的VS.NET開(kāi)發(fā)環(huán)境也可以方便的開(kāi)發(fā),比如使用UtraEdit軟件來(lái)編寫(xiě)小巧玲瓏的.NET應(yīng)用程序也是一個(gè)不錯(cuò)的選擇。

在這里我們就說(shuō)說(shuō)如何不使用VS.NET來(lái)自己手工的部署和分發(fā)我們的.NET應(yīng)用程序。首先分兩類(lèi):

***類(lèi):基于Web的.NET應(yīng)用程序

對(duì)于這一類(lèi)應(yīng)用程序,可以說(shuō)在部署和分發(fā)方面是最為簡(jiǎn)單的了,我們只需要將.NET運(yùn)行環(huán)境安裝到我們自己的服務(wù)器上面就可以了,用戶端需要的僅僅是兼容IE4.0以上的任何瀏覽器就可以了。

第二類(lèi):基于Windows的.NET應(yīng)用程序

對(duì)于這一類(lèi),應(yīng)用程序,我們可以使用InstallShield安裝軟件來(lái)手工打包。首先,先在我們的.NET Frameword SDK光盤(pán)中找到目錄dotNet,在這個(gè)目錄里面我們可以發(fā)現(xiàn)一個(gè)大小大約15M的一個(gè)安裝文件,這個(gè)就是我們的.Net 的運(yùn)行時(shí)刻文件,類(lèi)似于JAVA的JRE(JAVA運(yùn)行時(shí)環(huán)境)。這個(gè)文件的體積也是比較大的,但是相對(duì)于.NET SDK文件的龐大的120M可以算是要好許多了。

至于InstallShield的詳細(xì)使用方法我在這里也無(wú)法透徹講解,不過(guò)使用起來(lái)是非常方便的,我只提出需要注意的地方:

(1)在使用InstallShield中,可以稍微編寫(xiě)一段腳本來(lái)監(jiān)測(cè)目標(biāo)機(jī)器時(shí)候已經(jīng)存在了.NET的運(yùn)行環(huán)境,如果有了,就不必安裝.NET運(yùn)行時(shí)文件了。

(2)所有我們自己的DLL文件不在需要注冊(cè),只需要簡(jiǎn)單的將他們拷貝到我們應(yīng)用程序所在的目錄即可!

我們?cè)谶@里例舉的是使用InstallShield來(lái)制作安裝程序,當(dāng)然還可以使用其它的任何第三方安裝制作軟件來(lái)部署和分發(fā)我們的.NET應(yīng)用程序,比如Windows Installer等等。

好了,最終我們比較這兩種部署和分發(fā).NET應(yīng)用程序的方法,我們可以看到,使用第二種方法能夠帶來(lái)的一個(gè)潛在好處是,我們可以將.NET運(yùn)行時(shí)環(huán)境文件和自己的應(yīng)用程序分離開(kāi)來(lái),從而在某些情況下可以大大減少部署安裝應(yīng)用程序的文件大??;而***種方法就不可以了,他將始終將.NET運(yùn)行時(shí)環(huán)境文件打包進(jìn)入安裝文件。但是***種方法的優(yōu)點(diǎn)也是顯而易見(jiàn)的,就是比較智能化,需要人干預(yù)的地方很少,并且如果需要部署和分發(fā)的.NET應(yīng)用程序是比較大型的軟件的話,我們推薦使用***種方法!

相信在微軟正式發(fā)布.NET以及VS.NET之后,部署和分發(fā).NET應(yīng)用程序?qū)?huì)變得更加簡(jiǎn)單和快捷,但是***的方式是希望微軟在下一版本的操作系統(tǒng)中能夠內(nèi)置.NET運(yùn)行時(shí)環(huán)境就好了,那樣的話,我們就不必時(shí)刻“隨身攜帶”體積不算小的.NET運(yùn)行時(shí)環(huán)境文件了,讓我們拭目以待吧。

關(guān)于部署和分發(fā).NET應(yīng)用程序的兩種方法分別是怎樣的就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI