將您的應用程式部署至資料夾、IIS、Azure 或其他目的地

適用于:是Visual Studio否Visual Studio for Mac否Visual Studio Code

透過部署應用程式、服務或元件,就可以將它散發到其他電腦、裝置、伺服器或雲端上進行安裝。 請在 Visual Studio 中針對您需要的部署類型選擇適當的方法。

取得部署工作的說明:

  • 若要部署至新的目標,如果您先前已建立發行設定檔,請從已設定設定檔的 [發佈] 視窗中選取 [新增]。

    [建立新的發佈設定檔] 的螢幕擷取畫面。

    然後,在 [發佈] 工具中選擇部署選項。 如需發佈選項的相關資訊,請參閱下列各節。

  • 若要部署至新的目標,如果您先前已建立發行設定檔,請從已設定設定檔的 [置] 功能表中選取 [發佈選取專案]。

    [建立新的發佈設定檔] 的螢幕擷取畫面。

    然後,在 [發佈] 工具中選擇部署選項。 如需發佈選項的相關資訊,請參閱下列各節。

適合我的發行選項為何?

在 Visual Studio 內,可以直接將應用程式發行至下列目標:

當您建立新的發行設定檔時,上述選項會顯示如下圖所示。

[選擇發佈] 選項的螢幕擷取畫面。

[選擇發佈] 選項的螢幕擷取畫面。

如需更一般應用程式部署選項的快速導覽,請參閱 初次查看部署

Azure

當您選擇 Azure 時,可以選擇:

選擇 Azure 服務的螢幕擷取畫面。

選擇 Azure 服務的螢幕擷取畫面。

Azure App Service

Azure App 服務可協助開發人員快速建立可調整的 Web 應用程式和服務,而不需要維護基礎結構。 App Service 會在 Azure 中裝載雲端的虛擬機器上執行,並自動管理這些虛擬機器。 App Service中的每個應用程式都會獲指派唯一的 *.azurewebsites.net URL;免費以外的所有定價層都允許將自訂功能變數名稱指派給網站。

您可以透過為上層 App Service 選擇定價層或方案,來決定 App Service 計算能力的強弱。 您可以讓多個 Web 應用程式 (及其他應用程式類型) 共用相同的 App Service,而不需變更定價層。 例如,您可以在相同的 App Service 上同時裝載開發、預備和生產 Web 應用程式。

選擇 Azure App Service 的時機

  • 您想要部署可透過網際網路存取的 Web 應用程式。
  • 您想要依據需求自動調整 Web 應用程式,而不需要重新部署。
  • 您不想要維護伺服器基礎結構 (包括軟體更新)。
  • 您不需要在裝載 Web 應用程式的伺服器上進行任何電腦層級自訂。

如果您想要在自己的資料中心或其他內部部署電腦中使用 Azure App Service,則做法是使用 Azure Stack

如需發佈至App Service的詳細資訊,請參閱:

Azure Container Registry

Azure Container Registry可讓您針對所有類型的容器部署,在私人登錄中建置、儲存及管理 Docker 容器映射和成品。

選擇Azure Container Registry的時機

  • 當您有現有的 Docker 容器開發和部署管線時。
  • 當您想要在 Azure 中建置 Docker 容器映射時。

其他資訊:

Azure 虛擬機器

Azure 虛擬機器 (VM) 可讓您在雲端中建立和管理任意數目的運算資源。 假設負有 VM 上所有軟體和更新的責任,即可依應用程式要求視需要進行自訂。 您可以透過「遠端桌面」直接存取虛擬機器,每部機器都會依需要維持其獲指派的 IP 位址。

調整裝載於虛擬機器的應用程式涉及依需求啟動其他 VM,然後部署必要軟體。 這個額外控制層可讓您在全球各地區以不同的方式調整。 例如,如果您的應用程式服務各種地區辦公室的員工,則可以依據這些地區域中的員工數目來調整 VM,而這可能會降低成本。

如需詳細資訊,請參閱 Azure App 服務、Azure 虛擬機器和其他 Azure 服務之間的詳細比較,您可以使用 Visual Studio 中的 [自訂] 選項作為部署目標。

選擇 Azure 虛擬機器的時機

  • 您想要部署可透過網際網路存取的 Web 應用程式,並完整控制所指派 IP 位址的存留期。
  • 您需要伺服器上的機器層級自訂,其中包括其他軟體,例如特製化資料庫系統、特定的網路設定、磁碟分割等等。
  • 您想要具有調整 Web 應用程式的細部控制層。
  • 您因任何其他原因而需要直接存取裝載應用程式的伺服器。

如果您想要在自己的資料中心或其他內部部署電腦中使用 Azure 虛擬機器,則做法是使用 Azure Stack

Docker 容器登錄

如果您的應用程式使用 Docker,您可以將容器化應用程式發佈至 Docker 容器登錄。

選擇 Docker Container Registry 的時機

  • 您想要部署容器化應用程式

如需詳細資訊,請參閱下列:

資料夾

部署至檔案系統表示將應用程式的檔案複製到您自己電腦上的特定資料夾。 部署至資料夾最常用於測試目的,或者,如果電腦也執行伺服器,部署應用程式供有限數目的人員使用。 如果在網路上共用目標資料夾,則部署至檔案系統之後,其他可能接著將它部署至特定伺服器的人員將可使用 Web 應用程式檔案。

從 Visual Studio 2019 16.8 開始,資料夾目標包括能夠使用 ClickOnce 發佈 .NET Windows 應用程式。

如果您想要發佈 .NET Windows 傳統型專案 (.NET Core 3.1、.NET 5 及更新版本,) ClickOnce,請參閱 使用 ClickOnce 部署 .NET Windows 應用程式

任何正在執行伺服器的本機電腦都可以透過網際網路或內部網路使用應用程式,而這取決於其設定方式和其所連接的網路。 (如果您直接將電腦連線到網際網路,請特別小心保護電腦免于外部安全性威脅。) 因為您管理這些機器,所以您會完全控制軟體和硬體設定。

如果基於任何原因 (例如機器存取) 您無法使用雲端服務,例如 Azure App 服務 或 Azure 虛擬機器,您可以在自己的資料中心使用Azure Stack。 Azure Stack 既可讓您透過 Azure App Service 和「Azure 虛擬機器」來管理和使用計算資源,又可讓所有項目保留在內部部署環境中。

選擇檔案系統部署的時機

  • 您只需要將應用程式部署至檔案共用,而其他人將從該檔案共用部署至不同伺服器。

  • 您想要使用 ClickOnce 部署 .NET Windows 應用程式

  • 您只需要本機測試部署。

  • 您想要個別檢查並可能修改應用程式檔案,再將它們傳送至另一個部署目標。

如需詳細資訊,請參閱 快速入門 - 部署至本機資料夾

如需使用 ClickOnce 部署 .NET Windows 應用程式的詳細資訊,請參閱 使用 ClickOnce 部署 .NET Windows 應用程式

如需選擇設定的其他說明,請參閱下列各項:

FTP/FTPS 伺服器

FTP/FTPS 伺服器可讓您將應用程式部署至 Azure 以外的伺服器。 它可以部署至檔案系統或您具有存取權的任何其他伺服器 (網際網路或內部網路),包括其他雲端服務上的伺服器。 它可以使用 Web 部署 (檔案或 .ZIP) 和 FTP。

選擇 FTP/FTPS 伺服器時,Visual Studio 會提示您輸入設定檔名稱,然後收集其他 連線 資訊,包括目標伺服器或位置、網站名稱和認證。 您可以在 [設定] 索引標籤上控制下列行為:

  • 您想要部署的組態。
  • 是否要從目的地中移除現有的檔案。
  • 是否要在發行時預先編譯。
  • 是否要將 [App_Data] 資料夾中的檔案從部署中排除。

您可以在 Visual Studio 中建立任意數目的 FTP/FTPS 部署設定檔,讓您能夠使用不同的設定來管理設定檔。

選擇 FTP/FTPS 伺服器部署的時機

  • 您使用可透過 URL 存取的提供者 (非 Azure) 雲端服務。
  • 您想要使用認證進行部署,但這些認證不是您在 Visual Studio 內使用的認證或直接繫結至 Azure 帳戶的認證。
  • 您想要在每次部署時刪除目標中的檔案。

Web 伺服器 (IIS)

IIS 網頁伺服器可讓您將應用程式部署至 Azure 以外的 Web 服務器。 它可以部署到 IIS 伺服器, (網際網路或內部網路) 可供存取,包括其他雲端服務上的伺服器。 它可以使用 Web Deploy 或 Web Deploy 套件。

選擇 IIS 網頁伺服器時,Visual Studio 會提示您輸入設定檔名稱,然後收集其他 連線 資訊,包括目標伺服器或位置、網站名稱和認證。 您可以在 [設定] 索引標籤上控制下列行為:

  • 您想要部署的組態。
  • 是否要從目的地中移除現有的檔案。
  • 是否要在發行時預先編譯。
  • 是否要將 [App_Data] 資料夾中的檔案從部署中排除。

您可以在 Visual Studio 中建立任意數目的 IIS Web 服務器部署設定檔,讓您能夠使用不同的設定來管理設定檔。

選擇 WEB 伺服器 (IIS) 部署的時機

  • 您正在使用 IIS 發佈可透過 URL 存取的網站或服務。
  • 您想要使用認證進行部署,但這些認證不是您在 Visual Studio 內使用的認證或直接繫結至 Azure 帳戶的認證。
  • 您想要在每次部署時刪除目標中的檔案。

如需詳細資訊,請參閱 快速入門 - 部署至網站

如需疑難排解 IIS ASP.NET Core的說明,請參閱針對Azure App 服務和 IIS 上的 ASP.NET Core進行疑難排解

匯入設定檔

發佈至 IIS 或Azure App 服務時,您可以匯入設定檔。 您可以使用 發行設定檔 (*.publishsettings) 來設定部署。 發行設定檔案是由 IIS 或 Azure App Service 所建立,或者可以手動方式建立,並可匯入至 Visual Studio 中。

使用發佈設定檔可以簡化部署設定,並在小組環境中運作得更好,而不是手動設定每個部署設定檔。

選擇匯入設定檔的時機

  • 您正在發佈至 IIS,並想要簡化部署設定。
  • 您正在發佈至 IIS 或Azure App 服務,並想要加速部署設定,以便重複使用或針對發佈至相同服務的小組成員。

如需詳細資訊,請參閱下列:

設定 .NET 部署設定

如需選擇設定的其他說明,請參閱下列各項:

下一步

教學課程: