使用 .NET Framework 建置 ASP.NET 應用程式

Azure DevOps Services |Azure DevOps Server 2020 |Azure DevOps Server 2019 |TFS 2018

注意

在 Microsoft Team Foundation Server (TFS) 2018 和舊版中,組建和發行管線稱為定義執行稱為組建服務連線稱為服務端點階段稱為環境,而作業稱為階段

注意

本文著重于使用 Azure Pipelines 建置.NET Framework專案。 如需 .NET Core 專案的協助,請參閱 .NET Core

建立您的第一個管線

您不熟悉Azure Pipelines嗎? 如果是,建議您先嘗試本節,再繼續進行其他區段。

取得程式碼

GitHub分叉下列存放庫:

將此存放庫匯入至 2019 Azure DevOps Server Git 存放庫:

將此存放庫匯入 TFS 中的 Git 存放庫:

https://github.com/Microsoft/devops-project-samples.git

範例存放庫包含數個不同的專案,而本文的範例應用程式位於:

https://github.com/Microsoft/devops-project-samples

您將在 中使用 /dotnet/aspnet/webapp/ 程式碼。 您的 azure-pipelines.yml 檔案必須從 dotnet/aspnet/webapp/Application 資料夾中執行,組建才能順利完成。

範例應用程式是具有兩個專案的Visual Studio解決方案:

  • 以 .NET Framework 4.5 為目標的 ASP.NET Web 應用程式專案
  • 單元測試專案

登入Azure Pipelines

登入Azure Pipelines。 登入之後,瀏覽器會前往 https://dev.azure.com/my-organization-name 並顯示您的Azure DevOps儀表板。

在您選取的組織內,建立 專案。 如果您的組織中沒有任何專案,您會看到建立 專案以開始使用 畫面。 否則,請選取儀表板右上角的 [新增Project] 按鈕。

注意

此案例適用于 TFS,但下列一些指示可能不符合您使用的 TFS 版本。 此外,您可能需要設定自我裝載代理程式,也可能安裝軟體。 如果您是新的使用者,請先使用免費的Azure DevOps組織來試用此程式,可能會有更好的學習體驗。 然後將此頁面左上角的選取器從 Team Foundation Server 變更為Azure DevOps

  • 在您擁有自己的存放庫中的範例程式碼之後,請使用建立第一個管線中的指示建立管線,然後選取ASP.NET範本。 這會自動新增在範例存放庫中建置程式碼所需的工作。

  • 儲存管線並將組建排入佇列,以查看其運作情形。

建置環境

您可以使用Azure Pipelines來建置.NET Framework專案,而不需要自行設定任何基礎結構。 Azure Pipelines中的Microsoft 裝載代理程式已安裝數個已發行版本本的 Visual Studio,可協助您建置專案。

  • 使用 windows-2019 Windows Server 2019 搭配 Visual Studio 2019

您也可以使用 自我裝載代理程式 來執行組建。 如果您有大型存放庫,而且想要避免將原始程式碼下載到每個組建的全新電腦,這會很有説明。

您的組建會在 自我裝載代理程式上執行。 請確定您已在代理程式上安裝必要的Visual Studio版本。

建置多個組態

通常需要在多個組態中建置您的應用程式。 下列步驟會擴充上述範例,以四個組態建置應用程式:[Debug、x86]、[Debug、x64]、[Release、x86]、[Release、x64]。

  1. 按一下 [ 變數] 索引 標籤並修改這些變數:

    • BuildConfiguration = debug, release
    • BuildPlatform = x86, x64
  2. 選取 [ 工作 ],然後按一下 代理程式作業 以變更作業的選項:

    • 選取 [多重組態]。
    • 指定 乘數:BuildConfiguration, BuildPlatform
  3. 如果您有多個組建代理程式,而且想要平行建置組態/平臺配對,請選取 [ 平行 ]。

還原相依性

您可以使用NuGet工作來安裝和更新NuGet套件相依性。 您也可以使用 NuGet 工作,從 Azure Artifacts、NuGet.org 或其他外部或內部NuGet存放庫下載NuGet套件。

此程式碼會從相同組織中的專案範圍摘要還原解決方案。

# Restore from a project scoped feed in the same organization
- task: NuGetCommand@2
  inputs:
    command: 'restore'
    feedsToUse: 'select'
    vstsFeed: 'my-project/my-project-scoped-feed'
    includeNuGetOrg: false
    restoreSolution: '**/*.sln'