Delen via


Apps bouwen ASP.NET met .NET Framework

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

In dit artikel wordt beschreven hoe u een .NET Framework-project bouwt met Azure Pipelines. Deze handleiding is bedoeld voor Azure DevOps-gebruikers die ASP.NET toepassingen bouwen en implementeren met behulp van .NET Framework. Zie .NET Core-projecten bouwen, testen en implementeren voor .NET Core-projecten.

Vereiste voorwaarden

Product Requirements
Azure DevOps - Een Azure DevOps-project.
- Een vermogen om pijplijnen uit te voeren op agents die door Microsoft worden gehost. U kunt een parallelle taak aanschaffen of u kunt een gratis laag aanvragen.
- Basiskennis van YAML en Azure Pipelines. Zie Uw eerste pijplijn maken voor meer informatie.
- Machtigingen:
     - Als u een pijplijn wilt maken: u moet zich in de groep Inzenders bevinden en de groep moet de machtiging Maak een build-pijplijn hebben ingesteld op Toestaan. Leden van de groep Projectbeheerders kunnen pijplijnen beheren.
    - Als u serviceverbindingen wilt maken: u moet de rol Beheerder of Maker hebben voor serviceverbindingen.
.NET Framework - Een .NET Framework-project (versie 4.5 of hoger aanbevolen).
- Ervaring met Visual Studio of een andere .NET-ontwikkelomgeving.
- De juiste .NET Framework SDK die op uw lokale computer is geïnstalleerd.
GitHub - Een GitHub-account .
- Een GitHub-serviceverbinding om Azure Pipelines te autoriseren.

Een Azure DevOps-project maken

  1. Selecteer nieuw project of project maken in uw Azure DevOps-organisatie of -verzameling.
  2. Voer een projectnaam in.
  3. Selecteer de zichtbaarheid voor uw project.
  4. Selecteer Maken.

De voorbeeld-app downloaden

Als u geen bestaand ASP.NET project hebt, volgt u de App Service-handleiding voor het maken van een ASP.NET 4.8-web-app.

De pijplijn maken en bouwen

Nadat u de voorbeeldcode aan uw eigen opslagplaats hebt toegevoegd, maakt u een pijplijn in uw Azure DevOps-project. Zie Uw eerste pijplijn maken voor meer informatie.

Selecteer de sjabloon ASP.NET . Met deze keuze wordt automatisch het azure-pipelines.yml-bestand toegevoegd met de taken die nodig zijn om de code te bouwen in de voorbeeldopslagplaats. De sjabloon bevat de VSTest@3 taak voor het uitvoeren van tests. De voorbeeldopslagplaats bevat geen tests, zodat u de VSTest@3 taak uit de pijplijn kunt verwijderen.

Uw pijplijn moet eruitzien als in het volgende voorbeeld:

# 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)'

Selecteer Opslaan en uitvoeren en selecteer Taken om de pijplijn in actie te zien.

Als u de buildartefacten wilt publiceren, voegt u de volgende taak toe aan het einde van uw YAML-bestand:

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

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

Omgeving bouwen

U kunt Azure Pipelines gebruiken om uw .NET Framework-projecten te bouwen zonder dat u een infrastructuur hoeft in te stellen. De door Microsoft gehoste agents in Azure Pipelines bevatten verschillende uitgebrachte versies van Visual Studio om u te helpen bij het bouwen van uw projecten. Gebruik windows-2025 voor Windows Server 2025 met Visual Studio 2022.

U kunt ook een zelf-hostende agent gebruiken om uw builds uit te voeren. Het gebruik van een zelf-hostende agent is handig als u een grote opslagplaats hebt en u wilt voorkomen dat u de broncode downloadt naar een nieuwe computer voor elke build.

Uw builds worden uitgevoerd op een zelf-hostende agent. Zorg ervoor dat de benodigde versie van Visual Studio op de agent is geïnstalleerd.

Meerdere configuraties bouwen

Mogelijk moet u uw app in meerdere configuraties bouwen. Met de volgende stappen bouwt u de voorbeeld-app op vier configuraties: Debug, x86, Debug, x64, Release, x86en Release, x64.

  1. Selecteer in de pijplijngebruikersinterface het tabblad Variabelen en wijzig de volgende variabelen:

    • BuildConfiguration = debug, release
    • BuildPlatform = x86, x64
  2. Selecteer Taken en selecteer vervolgens agenttaak om de volgende opties voor de taak te wijzigen:

    • Selecteer Meervoudige configuratie.
    • Vermenigvuldigers opgeven :BuildConfiguration, BuildPlatform
  3. Selecteer Parallel als u meerdere buildagents hebt en uw configuratie- en platformkoppelingen parallel wilt bouwen.

Afhankelijkheden herstellen

Gebruik de NuGet-taak om NuGet-pakketafhankelijkheden te installeren en bij te werken. U kunt de NuGet-taak ook gebruiken om NuGet-pakketten te downloaden van Azure Artifacts, NuGet.org of andere externe of interne NuGet-opslagplaatsen.

In het volgende voorbeeld wordt een oplossing hersteld van een feed met projectbereik in dezelfde organisatie.

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

Notitie

Als u Ubuntu 24.04 of hoger gebruikt, moet u de NuGetAuthenticate taak gebruiken met de .NET CLI in plaats van de NuGetCommand@2 taak. Zie Ondersteuning voor nieuwere gehoste Ubuntu-installatiekopieën voor meer informatie.