.NET的兩種部署模式,了解一下!
正文
其實在發(fā)布程序時有兩種模式可以選擇,框架依賴模式和獨立模式;
- 框架依賴模式:程序在發(fā)布打包時,只針對程序本身進(jìn)行打包,如果打包好的程序要在其他機器上正常運行,首先要在對應(yīng)的機器上安裝對應(yīng)版本框架的運行時,否則程序是不能運行的;
- 獨立模式:程序在發(fā)布打包時,程序和依賴的框架一起打包了,只需要將打包好的文件放到對應(yīng)的機器上直接運行即可,不需要安裝框架運行時。
案例演示
演示前提
新建一個MVC項目,默認(rèn)生成的項目就行,主要是有頁面,演示方便(用其他形式同理,如API或控制臺等都一樣);
實操演示
右鍵項目->點擊發(fā)布->彈框選擇發(fā)布方式,這里建議選擇用文件夾的形式,確定無誤之后再上傳到服務(wù)器比較保險。
點擊下一步選擇對應(yīng)的發(fā)布文件夾,后續(xù)發(fā)布生成的文件就到此文件夾下啦。
指定好路徑之后,點擊右下角的完成,進(jìn)入如下界面;
通常會直接點擊發(fā)布按鈕將程序發(fā)布,其實這個時候默認(rèn)是以框架依賴的模式進(jìn)行發(fā)布的,可以點擊顯示所有設(shè)置進(jìn)行配置,如下:
這里先以框架依賴的方式發(fā)布一版,放到一個沒有環(huán)境的機器上試試。這里是通過Xftp工具將發(fā)布文件傳到Linux中,運行之前,需要將項目的啟動文件賦予執(zhí)行權(quán)限,否則不能執(zhí)行,如下:
看看,果然運行不起來,必須先安裝對應(yīng)版本的運行時才行。
現(xiàn)在再切換為獨立模式發(fā)布一版,這里需要注意一點,當(dāng)選擇獨立模式時,一定要選擇目標(biāo)運行時,根據(jù)運行的機器進(jìn)行選擇即可,這里我要放在Linux上,所以選擇Linux x64(下拉選項中Windows、Linux、Mac都可以選擇,根據(jù)機器選擇合適的環(huán)境發(fā)布就行)。
發(fā)布打包完成之后,同樣傳到Linux環(huán)境中,運行如下:
可以看到,獨立部署的形式是可以正常運行的。
兩種模式的優(yōu)缺點
- 框架依賴模式
優(yōu)點:發(fā)布文件小;
缺點:當(dāng)同一臺機器需要運行多個程序時,如果依賴的框架不同,就得重復(fù)安裝;
- 獨立模式
優(yōu)點:部署方便,同一臺機器上不同依賴的程序互相不影響,不需要安裝對應(yīng)版本的運行時;
缺點:發(fā)布的文件很大,包含了依賴框架的相關(guān)庫文件;
這里就簡單演示了Linux環(huán)境的操作,其他環(huán)境小伙伴們自己試試吧;代碼就不上傳了,就是簡單建個項目演示,沒有做任何更改。
總結(jié)
兩種模式可以針對自己的需要進(jìn)行部署,如果是同一臺機器需要運行很多程序,又沒有做類似于容器這種隔離的情況下,獨立模式感覺還不錯哦,依賴框架互不影響,可能會避免一些麻煩事。