訓練
模組
Publish an ASP.NET Core app - Training
Learn how to publish an ASP.NET Core app for deployment to a web server or cloud service.
注意
這不是這篇文章的最新版本。 如需目前的版本,請參閱 本文的 .NET 9 版本。
警告
不再支援此版本的 ASP.NET Core。 如需詳細資訊,請參閱 .NET 和 .NET Core 支持原則。 如需目前的版本,請參閱 本文的 .NET 9 版本。
.NET Core 裝載套件組合是 .NET Core 執行階段和 ASP.NET Core 模組的安裝程式。 套件組合可讓 ASP.NET Core 應用程式搭配 IIS 執行。
重要
若裝載套件組合在 IIS 之前安裝,則必須對該套件組合安裝進行修復。 請在安裝 IIS 之後,再次執行裝載套件組合安裝程式。
如果在安裝 64 位元 (x64) 版本的 .NET Core 後才安裝裝載套件組合,那麼可能會遺漏 SDK (未偵測到 .NET Core SDK)。 若要解決此問題,請參閱針對 ASP.NET Core 專案進行疑難排解和偵錯。
公告存放庫上會報告中斷性變更和安全性諮詢。 選取 [標籤] 篩選,以將公告限制為特定版本。
使用下列連結下載安裝程式:
在舊版 Windows (例如 Windows Server 2012 R2) 上,安裝 Visual Studio C++ 2015、2017、2019 可轉散發套件。 否則,Windows 事件記錄檔中令人混淆的錯誤訊息會報告 The data is the error.
目前的 x64 VS C++ 可轉散發套件目前的 x86 VS C++ 可轉散發套件
若要取得安裝程式的先前版本:
警告
某些安裝程式包含已達到期生命週期結束 (EOL) 的發行版本,這些發行版本已不受 Microsoft 支援。 如需詳細資訊,請參閱支援原則 \(英文 \)。
ASP.NET Core 模組與 .NET 的支援中版本向前和回溯相容。
從系統管理員命令殼層執行安裝程式時,有 下列參數可用:
OPT_NO_ANCM=1
:跳過安裝 ASP.NET Core 模組。OPT_NO_RUNTIME=1
:跳過安裝 .NET Core 執行階段。 當伺服器只裝載自封式部署 (SCD) 時使用。OPT_NO_SHAREDFX=1
:跳過安裝 ASP.NET 共用架構 (ASP.NET 執行階段)。 當伺服器只裝載自封式部署 (SCD) 時使用。OPT_NO_X86=1
:跳過安裝 x86 執行階段。 當您確定不會裝載 32 位元應用程式時,請使用此參數。 如果將來有可能同時裝載 32 位元和 64 位元應用程式,請不要使用此參數並安裝這兩個執行階段。OPT_NO_SHARED_CONFIG_CHECK=1
:停用使用 IIS 共用設定 (當共用設定 (applicationHost.config
) 位於與 IIS 安裝相同的機器上時) 進行檢查。 只在 ASP.NET Core 2.2 或更新版本的裝載套件組合安裝程式上可用。 如需詳細資訊,請參閱進階設定。注意
如需 IIS 共用組態的資訊,請參閱使用 IIS 共用組態的 ASP.NET Core 模組。
注意
執行已設定選項的裝載套件組合安裝程式時,每個選項的值都會儲存在登錄中。 除非從命令列明確傳遞另一組選項,否則從同一個 Major.Minor 版本範圍執行的後續安裝會使用相同的選項。 如果裝載套件組合第一次安裝時未傳遞任何選項,則每個選項都會取得寫入登錄的預設值 0
。 值為 0
表示選項已關閉,這意指使用者未退出指定的元件。
安裝裝載套件組合之後,可能需要手動重新啟動 IIS。 例如,在用於執行 IIS 背景工作處理序的 PATH 上可能不存在 dotnet
CLI 工具 (命令)。
若要手動重新啟動 IIS,請停止 Windows Process Activation Service (WAS),然後重新啟動 World Wide Web Publishing 服務 (W3SVC) 和任何相依服務。 在提高權限的命令殼層中執行下列命令:
net stop was /y
net start w3svc
判斷已安裝的 ASP.NET Core 模組版本:
%PROGRAMFILES%\IIS\Asp.Net Core Module\V2
。aspnetcorev2.dll
檔案。模組的「裝載套件組合」安裝程式記錄檔位於 C:\Users\%UserName%\AppData\Local\Temp
。 檔案的名稱為 dd_DotNetCoreWinSvrHosting__{TIMESTAMP}_000_AspNetCoreModule_x64.log
,其中預留位置 {TIMESTAMP}
是檔案的時間戳記。
訓練
模組
Publish an ASP.NET Core app - Training
Learn how to publish an ASP.NET Core app for deployment to a web server or cloud service.