共用方式為


快速入門:發佈 ASP.NET Web 應用程式

在本文中,您將瞭解如何將第一個 ASP.NET Web 應用程式發佈至各種位置,包括 IIS 等本機 Web 伺服器,以及 Azure App Service 等遠端雲端環境。

本文支援 ASP.NET 和 ASP.NET Core。

備註

本文涵蓋手動部署,非常適合快速啟動並執行某些專案,但針對較大的專案和生產案例,您可能想要設定部署管線。 您可以使用 GitHub ActionsAzure DevOps Pipelines 來設定自動部署,並針對這類案例進行持續整合。

先決條件

您需要隨 ASP.NET 和 Web 開發工作負載一起安裝 Visual Studio

如果您已安裝 Visual Studio:

  • 選取 [說明]>[檢查更新],在 Visual Studio 中安裝最新的更新。
  • 選取 [工具]>[取得工具和功能] 以新增工作負載。

開始吧

在 [方案總管] 中,以滑鼠右鍵按兩下您的項目,然後選擇 [ 發佈]。

顯示 [發佈] 選項的螢幕快照。

如果您是第一次發佈此 Web 應用程式,接下來您會看到 [發佈精靈]。

顯示 [發佈精靈] 的螢幕快照,其中顯示可用的發佈目標。

備註

Visual Studio 會根據 Web 應用程式類型來篩選目的地清單。

Azure雲服務

如需發佈 Web 應用程式的詳細步驟,請參閱 快速入門:部署 ASP.NET Web 應用程式

容器註冊表

本節說明發佈至容器註冊庫。 您可以將 Web 應用程式發佈為 Docker 容器至任何相容的 Docker Container Registry。

顯示 [發佈精靈] 的螢幕快照,其中已醒目提示 [發佈至 Docker Container Registry]。

單擊 [下一步] ,然後從可用的選項中選擇,例如 Azure Container Registry 或 Docker Hub。

顯示 [發佈至 Docker Container Registry] 選項的螢幕快照。

Azure 容器登錄資料庫 (Azure Container Registry)

接下來,針對 Azure Container Registry,選取現有的實例或建立新的實例。

顯示發佈至 Azure Container Registry 選項的螢幕快照。

Docker Hub (英文)

接下來,針對 Docker Hub,提供發佈憑證。

顯示發佈至 Docker Hub 選項的螢幕快照。

其他 Docker 容器註冊表

接下來,針對其他 Docker 容器登錄,提供 URI 併發佈認證。

顯示發佈至另一個 Docker Container Registry 選項的螢幕快照。

發佈容器映像

接下來,您會看到您剛才使用 [發佈精靈] 所建立之新 發行配置檔 的摘要頁面。 按兩下 [發佈 ] ,Visual Studio 將 Web 應用程式部署至指定的 Docker Container Registry。

顯示摘要頁面的螢幕快照。

備註

上述螢幕快照顯示以 Azure Docker Registry 為目標的發佈配置檔,但三個 Docker Container Registry 選項都可使用相同的 [發佈] 按鈕。

檔案系統資料夾

您可以將 Web 應用程式發佈至本機和網路資料夾。

螢幕快照顯示突顯發佈至資料夾的選項。

首先,提供路徑,然後按兩下 [ 完成 ] 以完成 [發佈精靈]。

顯示 [發佈精靈] 畫面以發佈至資料夾的螢幕快照。

接下來,您會看到您剛才使用 [發佈精靈] 所建立之新 發行配置檔 的摘要頁面。 按一下 發佈,Visual Studio 會將網頁應用程式部署到提供的路徑。

顯示 [發佈至資料夾摘要] 頁面的螢幕快照。

關閉此摘要頁面之後,您可以返回此摘要頁面。 下次以滑鼠右鍵按兩下並選擇 [ 發佈] 時,Visual Studio 會開啟此摘要頁面。 (若要回到 [發佈精靈],只要按兩下摘要頁面中的 [ 新增 ]。

FTP/FTPS 伺服器

您可以使用 FTP 或 FTPS 發佈 Web 應用程式。

顯示 [發佈至 FTP 或 FTPS 伺服器] 選項的螢幕快照。

提供必要的連線詳細數據,然後選擇 [ 完成]。

顯示 [發佈精靈] 畫面以發佈至 FTP 或 FTPS 伺服器的螢幕快照。

接下來,您會看到您剛才使用 [發佈精靈] 所建立之新 發行配置檔 的摘要頁面。 按一下 發佈,然後 Visual Studio 將您的 Web 應用程式部署到所提供的 FTP 或 FTPS 伺服器。

此螢幕快照顯示發佈至 FTP 或 FTPS 伺服器的過程已完成,摘要頁面。

關閉此摘要頁面之後,您可以返回此摘要頁面。 下次以滑鼠右鍵按兩下併發佈時,Visual Studio 會開啟此摘要頁面。 (若要回到 [發佈精靈],只要按兩下摘要頁面中的 [ 新增 ]。

網頁伺服器 (IIS)

如果已設定 IIS,您可以將 Web 應用程式發布至 IIS。 根據預設,會安裝 IIS Express,但如果您要從 Visual Studio 部署至 IIS,您應該安裝 IIS 管理工具。 請注意,您不需要以系統管理員身分執行 Visual Studio 來部署至 IIS Express,而只需要執行到完整的 IIS。

設定 web 伺服器

在遠端 Web 伺服器上,安裝 Web 管理服務。 請務必遵循該處的指示來啟用遠端連線,並確定服務已啟動、設定認證以遠端管理 Web 伺服器,並在嘗試部署之前先加以驗證。 本機 IIS 部署不需要 Web 管理服務。

在網頁伺服器上,安裝 IIS 6 Metabase 相容性。 在 [Windows 設定] 的 [ 程式和功能] 下,選擇 [ 開啟或關閉 Windows 功能]。 然後在 [Internet Information Services>Web 管理工具] 底下,安裝 IIS 6 管理兼容性。 請確定已選取 IIS MetabaseIIS 6 組態相容性

若要為 ASP.NET Core 應用程式設定 IIS,請安裝 .NET Core 裝載套件組合安裝程式(直接下載)。 如需詳細資訊,請參閱 .NET Core 裝載套件組合

如果您使用的是 ASP.NET 4.8 或更早版本,或需要在 Windows Server 上設定 IIS 以進行發佈,您可以在 IIS 電腦上的遠端 偵錯 ASP.NET,以及 IIS 計算機上的 ASP.NET Core、遠端偵錯 ASP.NET Core 中找到詳細步驟。

警告

網頁伺服器必須考慮到安全性最佳做法。 如需建議的安全性做法,請參閱 IIS 檔 。 針對 IIS 8,請參閱 IIS 8 的安全性最佳做法

發佈至 IIS 網頁伺服器

選擇 [發佈],然後選擇 [Web 伺服器] [IIS]。

顯示發佈至 IIS 選項的螢幕快照。

挑選所需的部署模式。 選擇 [Web Deploy] 以立即將應用程式部署到指定的伺服器。 選擇 [Web 部署套件] 以建立包含部署成品的已封裝 ZIP 檔案,以供您或其他人稍後使用。

顯示發佈至 IIS 選項的螢幕快照,其中顯示部署模式的選擇。

Web 部署

提供必要的連線詳細數據,然後選擇 [ 完成]。 下列螢幕截圖顯示一個 Web 應用程式已發佈至安裝在本機開發機器上的預設 IIS 網站(預設網站),並在埠 5187 上進行埠綁定。 目的地 URL 是選擇性的。 如果未提供,則不會在發佈時自動啟動網站,而且 [ 發佈 ] 畫面上不會有連結可存取已發佈的網站。

顯示 [發佈精靈] 畫面的螢幕快照,其中顯示使用 [Web Deploy] 選項發佈至 IIS。

第一次發佈時,請建立使用者名稱和密碼。 這些認證專屬於 WebDeploy 部署。 建立它們之後,您無法在 Visual Studio 中變更它們,但您可以在 IIS 中重設它們。 請參閱 網站 - 設定憑證 對話框。 如果您沒有密碼,您可以下載 .publishsettings 檔案,並從該處讀取它。 請參閱 從 IIS 匯入發佈設定

警告

使用使用者名稱和密碼認證(基本身份驗證)不是最安全的驗證方法。 盡可能使用替代方法。 例如,請考慮從 Visual Studio 發佈至套件,然後使用命令行 WebDeploy.exe 來部署套件。 使用該方法,您可以使用 IIS 管理員來設定可發佈至網頁伺服器的授權 Windows 使用者,並在該 Windows 使用者帳戶下執行 WebDeploy.exe。 請參閱 在 IIS 8.0 或更新版本上安裝及設定 Web Deploy。 如果您使用密碼認證,請務必使用強密碼,並保護密碼免於外泄或共用。

如需疑難解答,請參閱 Web Deploy 錯誤碼

Web Deploy 套件

按兩下 [瀏覽... ] 開啟 [選取封裝位置] 對話框,然後輸入您要建立封裝的路徑,包括 .zip 檔名。

顯示 [發佈精靈] 畫面的螢幕快照,其中顯示使用 [Web 部署套件] 選項發佈至 IIS。

完成發佈精靈

接下來,您會看到您剛才使用 [發佈精靈] 所建立之新 發行配置檔 的摘要頁面。 按兩下 [發佈 ] ,Visual Studio 將 Web 應用程式部署至指定的 IIS 伺服器。

顯示 [發佈精靈]、[發佈至 IIS 摘要] 頁面的螢幕快照。

匯入發行設定檔案

您可以從 IISAzure App Service 匯入發佈設定

後續步驟

管理 Web 應用程式部署的設定。 藉由管理設定,您可以控制 .NET 部署選項,以及在部署目的地如何處理不屬於這次部署過程的現有檔案。 請參閱 管理 Web 部署設定