使用 .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 專案
- 在您的 Azure DevOps 組織或集合中,選取 [新增專案] 或 [建立專案]。
- 輸入專案名稱。
- 選取項目的可見度。
- 選取 建立。
取得範例應用程式
範例應用程式是使用 .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, x86
、 Debug, x64
、 Release, x86
和 Release, x64
。
在管線 UI 中,選取 [ 變數 ] 索引卷標並修改下列變數:
BuildConfiguration
=debug, release
BuildPlatform
=x86, x64
選取 [ 工作 ],然後選取 [代理程序作業 ],以變更作業的下列選項:
- 選取 [多重設定]。
- 指定 乘數:
BuildConfiguration, BuildPlatform
如果您有多個組建代理程式,而且想要平行建置組態/平臺配對,請 選取 [平行 ]。
還原相依性
您可以使用 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'