.NET的兩種部署模式,了解一下!
正文
其實在發布程序時有兩種模式可以選擇,框架依賴模式和獨立模式;
- 框架依賴模式:程序在發布打包時,只針對程序本身進行打包,如果打包好的程序要在其他機器上正常運行,首先要在對應的機器上安裝對應版本框架的運行時,否則程序是不能運行的;
- 獨立模式:程序在發布打包時,程序和依賴的框架一起打包了,只需要將打包好的文件放到對應的機器上直接運行即可,不需要安裝框架運行時。
案例演示
演示前提
新建一個MVC項目,默認生成的項目就行,主要是有頁面,演示方便(用其他形式同理,如API或控制臺等都一樣);
實操演示
右鍵項目->點擊發布->彈框選擇發布方式,這里建議選擇用文件夾的形式,確定無誤之后再上傳到服務器比較保險。

點擊下一步選擇對應的發布文件夾,后續發布生成的文件就到此文件夾下啦。

指定好路徑之后,點擊右下角的完成,進入如下界面;

通常會直接點擊發布按鈕將程序發布,其實這個時候默認是以框架依賴的模式進行發布的,可以點擊顯示所有設置進行配置,如下:

這里先以框架依賴的方式發布一版,放到一個沒有環境的機器上試試。這里是通過Xftp工具將發布文件傳到Linux中,運行之前,需要將項目的啟動文件賦予執行權限,否則不能執行,如下:
看看,果然運行不起來,必須先安裝對應版本的運行時才行。
現在再切換為獨立模式發布一版,這里需要注意一點,當選擇獨立模式時,一定要選擇目標運行時,根據運行的機器進行選擇即可,這里我要放在Linux上,所以選擇Linux x64(下拉選項中Windows、Linux、Mac都可以選擇,根據機器選擇合適的環境發布就行)。

發布打包完成之后,同樣傳到Linux環境中,運行如下:

可以看到,獨立部署的形式是可以正常運行的。
兩種模式的優缺點
- 框架依賴模式
優點:發布文件小;
缺點:當同一臺機器需要運行多個程序時,如果依賴的框架不同,就得重復安裝;
- 獨立模式
優點:部署方便,同一臺機器上不同依賴的程序互相不影響,不需要安裝對應版本的運行時;
缺點:發布的文件很大,包含了依賴框架的相關庫文件;
這里就簡單演示了Linux環境的操作,其他環境小伙伴們自己試試吧;代碼就不上傳了,就是簡單建個項目演示,沒有做任何更改。
總結
兩種模式可以針對自己的需要進行部署,如果是同一臺機器需要運行很多程序,又沒有做類似于容器這種隔離的情況下,獨立模式感覺還不錯哦,依賴框架互不影響,可能會避免一些麻煩事。

























