簡介
開工第一天,祝大家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