開工第一天,祝大家2023年錢兔無量,技術兔飛猛進
為更加方便大家一站式打通所有使用NCF的環節,在新年開工的第一天給大家帶來如何釋出最新版本的站點
無論你的網站在開發環境做的多麼的炫酷,實用,最終都是要拉出來遛遛的,所以上測試環境,正式環境,使用雲伺服器是必經之路
這一節就是主要幫助大家排除掉在釋出和部署過程中的那些路障,讓大家把站點從開發環境部署到測試,正式環境,如自動擋換擋一樣絲滑
最終大家還是要把精力放在主要的核心業務上,不要讓這些輔助的工作耽誤大家大把的時間
下面我們就一起來說一說如何進行釋出
1.重新生成編譯
2.釋出前設定引數
3.釋出
4.壓縮檔案
5.複製檔案到伺服器上
6.建立IIS的站點
7.設定IIS的存取 .NET Core 的站點資訊
8.執行站點(這個過程會出現很多奇奇怪怪的問題),根據不同的問題,處理的方式也不大一樣
1.重新生成編譯
在Visual Studio的工具的左下角會顯示
這樣說明全部生成成功了,再點選釋出
選擇釋出方式的時候,選資料夾
2.釋出前設定引數
圖中所示:
設定:選擇是Debug還是Release,還是其他
目標框架:不同的.NET Core的版本,net6.0/7.0等
部署模式:框架依賴|獨立部署(倆者的區別,可以瞭解有關部署模式的資訊)
目標執行時:可以選擇可移植或者指定的執行時環境,如win-x64,linux等
3.釋出
在上一步後,點選儲存
然後點選釋出
釋出完成後,看這倆個關鍵點,說明發布成功了
進入生成的檔案的目錄
4.壓縮檔案
全選檔案,點選右鍵壓縮到一個zip的壓縮包
5.複製壓縮檔案到伺服器上
這個就是CTRL+C(複製) , CTRL+V(貼上),貼上的時候貼到伺服器上就行
6.建立IIS的站點
首先開啟IIS
新增網站
主要關注紅框處的幾個地方
這個是建立完成的站點
7.設定IIS的存取 .NET Core 的站點資訊
建立站點的同時會生成一個應用程式
咱現在部署的專案是.NET Core的,所以這個地方需要修改
按照這個設定進行修改,修改完成後,選擇高階設定
開啟後,設定引數為紅框中的值
先停止應用程式,再啟用
如果啟用報錯,就一直啟用,直到啟用成功為止
8.執行站點(這個過程會出現很多奇奇怪怪的問題),根據不同的問題,處理的方式也不大一樣
比較常見的報錯如下
HTTP Error 500.31 - ANCM Failed to Find Native Dependencies Common solutions to this issue: The specified version of Microsoft.NetCore.App or Microsoft.AspNetCore.App was not found.
字面意思也就是說找不到 Microsoft.NetCore.App 及 Microsoft.AspNetCore.App 的對應的版本
官方錯誤檔案是:https://learn.microsoft.com/zh-cn/aspnet/core/test/troubleshoot-azure-iis?view=aspnetcore-7.0
我們去執行一下下面的命令
dotnet --info
結果顯示
上面的圖比較關鍵,要從思維中先理解安裝的這些是不是IIS正在使用的,如果不匹配也會報錯
看一下下面的圖,已經是調整好的環境
有的同學可能要問了,SDK的版本和Host的版本怎麼去知道到底對不對呢
我們來到下載.NET Core SDK的地方:https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0
主要去觀察紅框處的內容,便於理解
如果使用 dotnet --info 出來的.NET Core SDK的版本和Host的版本對應上了,那麼基礎的設定就完成了,但到這裡還沒完,他可能還會報錯500.31,這時候就需要根據提示的資訊去排查了,例如
Windows紀錄檔排查,在DOS視窗中輸入eventvwr,則可以顯示,如下圖中的錯誤標識的,找到跟IIS相關的,根據提示處理即可
例如:
Could not find 'aspnetcorev2_inprocess.dll'. Exception message: It was not possible to find any compatible framework version The framework 'Microsoft.NETCore.App', version '6.0.0' was not found. - The following frameworks were found: 3.1.3 at [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App] You can resolve the problem by installing the specified framework and/or SDK. The specified framework can be found at: - https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=6.0.0&arch=x86&rid=win10-x86
意思是 6.0.0 版本的 Microsoft.NETCore.App 沒安裝,下面給出來安裝地址
https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=6.0.0&arch=x86&rid=win10-x86
安裝完成後,即可存取站點,如果還有錯誤,就繼續根據提示修復,直到沒有IIS的錯誤為止
最後呈現出來的就是我們看到的網站的資訊,如果還有什麼不清楚的,可以到社群群直接問我
二維條碼為盛小嗨的微信,歡迎大家一起加入NCF的大家庭
NCF的倉庫地址:https://github.com/NeuCharFramework/NCF
NCF Doc倉庫地址:https://github.com/NeuCharFramework/NcfDocs