使用 .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'
相关内容
- Create your first pipeline(创建第一个管道)
- 生成、测试和部署 .NET Core 应用
- Azure Pipelines agents(Azure Pipelines 代理)