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

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

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

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

這里先以框架依賴的方式發布一版,放到一個沒有環境的機器上試試。這里是通過Xftp工具將發布文件傳到Linux中,運行之前,需要將項目的啟動文件賦予執行權限,否則不能執行,如下:

看看,果然運行不起來,必須先安裝對應版本的運行時才行。
現在再切換為獨立模式發布一版,這里需要注意一點,當選擇獨立模式時,一定要選擇目標運行時,根據運行的機器進行選擇即可,這里我要放在Linux上,所以選擇Linux x64(下拉選項中Windows、Linux、Mac都可以選擇,根據機器選擇合適的環境發布就行)。

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

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