共用方式為


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

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

本文說明如何使用 Azure Pipelines 建置 .NET Framework 專案。 針對 .NET Core 專案,請參閱 建置、測試及部署 .NET Core 應用程式

建立 Azure DevOps 專案

  1. 在您的 Azure DevOps 組織或集合中,選取 [新增專案] 或 [建立專案]。
  2. 輸入專案名稱
  3. 選取項目的可見度
  4. 選取 建立

取得範例應用程式

範例應用程式是使用 .NET 4.8 的Visual Studio解決方案。 若要取得應用程式,請在下列處派生 GitHub 存放庫:

https://github.com/Azure-Samples/app-service-web-dotnet-get-started

建立和建置管線

一旦您在自己的存放庫中有範例程式代碼,請使用建立第一個管線中的 指示,在 Azure DevOps 專案中建立管線

選取 ASP.NET 範本。 此選項會自動新增 azure-pipelines.yml 檔案,其中包含建置程式代碼至範例存放庫所需的工作。 範本包含執行測試VSTest@2工作。 範例存放庫不包含測試,因此您可以從管線中移除VSTest@2工作。

您的管線看起來應該像下列範例:

# ASP.NET
# Build and test ASP.NET projects.
# Add steps that publish symbols, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/aspnet/build-aspnet-4

trigger:
- main

pool:
  vmImage: 'windows-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

# ASP.NET
# Build and test ASP.NET projects.
# Add steps that publish symbols, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/aspnet/build-aspnet-4

trigger:
- main

pool: 
  name: default

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

選取 [ 儲存並執行 ],然後選取 [ 作業 ] 以查看管線的運作情形。

若要發佈組建成品,請將下列工作新增至 YAML 檔案的結尾:

- task: PublishPipelineArtifact@1
  inputs:
    targetPath: '$(Pipeline.Workspace)'
    artifact: 'myartifact'
    publishLocation: 'pipeline'

- task: PublishBuildArtifacts@1
  inputs:
    pathToPublish: '$(Build.ArtifactStagingDirectory)'
    artifactName: drop

建置環境

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

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

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

建置多個組態

您可能需要在多個組態中建置您的應用程式。 下列步驟在四個組態上建置範例應用程式: Debug, x86Debug, x64Release, x86Release, x64

  1. 在管線 UI 中,選取 [ 變數 ] 索引卷標並修改下列變數:

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

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

還原相依性

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

下列範例會從相同組織中的專案範圍摘要還原解決方案。

- task: NuGetCommand@2
  inputs:
    command: 'restore'
    feedsToUse: 'select'
    vstsFeed: 'my-project/my-project-scoped-feed'
    includeNuGetOrg: false
    restoreSolution: '**/*.sln'