Creare app ASP.NET con .NET Framework

servizi Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Questo articolo descrive come compilare un progetto .NET Framework con Azure Pipelines. Questa guida è destinata agli utenti di Azure DevOps che creano e distribuiscono applicazioni ASP.NET con .NET Framework. Per i progetti .NET Core, vedere Compilare, testare e distribuire app .NET Core.

Prerequisiti

Prodotto Requisiti
Azure DevOps - Un progetto Azure DevOps.
- Possibilità di eseguire pipeline su agenti ospitati da Microsoft. Abilita il piano gratuito, oppure acquista un job parallelo.
- Conoscenza di base di YAML e Azure Pipelines. Per altre informazioni, vedere Creare la prima pipeline.
Autorizzazioni - :
     - Per creare una pipeline, è necessario trovarsi nel gruppo Collaboratori e il gruppo deve avere l'autorizzazione Crea pipeline di compilazione impostata su Consenti. I membri del gruppo Project Administrators possono gestire le pipeline.
    - Per creare connessioni al servizio: è necessario avere il ruolo Amministratore o Creatorper le connessioni al servizio.
.NET Framework - Un progetto .NET Framework (versione 4.5 o successiva consigliata).
- Esperienza con Visual Studio o un altro ambiente di sviluppo .NET.
- .NET Framework SDK appropriato installato nel computer locale.
GitHub - Un account GitHub .
- Una connessione al servizio GitHub per autorizzare Azure Pipelines.

Creare un progetto Azure DevOps

  1. Nell'organizzazione o nella raccolta di Azure DevOps selezionare Nuovo progetto o Crea progetto.
  2. Immettere il nome del progetto.
  3. Seleziona la visibilità per il tuo progetto.
  4. Seleziona Crea.

Ottenere l'app di esempio

Se non si dispone di un progetto di ASP.NET esistente, seguire la guida al servizio app per creare un'app Web ASP.NET 4.8.

Creare e compilare la pipeline

Dopo aver aggiunto il codice di esempio al proprio repository, creare una pipeline nel progetto Azure DevOps. Per altre informazioni, vedere Creare la prima pipeline.

Selezionare il modello di ASP.NET . Questa scelta aggiunge automaticamente il file azure-pipelines.yml con le attività necessarie per compilare il codice nel repository di esempio. Il modello include l'attività VSTest@3 per eseguire i test. Il repository di esempio non contiene test, quindi è possibile rimuovere l'attività VSTest@3 dalla pipeline.

La pipeline dovrebbe avere un aspetto simile al seguente esempio:

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

Selezionare Salva ed esegui e selezionare Processi per visualizzare la pipeline in azione.

Per pubblicare gli artefatti di compilazione, aggiungere l'attività seguente alla fine del file YAML:

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

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

Ambiente di compilazione

È possibile usare Azure Pipelines per compilare i progetti .NET Framework senza configurare alcuna infrastruttura. Gli agenti ospitati da Microsoft in Azure Pipelines includono diverse versioni rilasciate di Visual Studio per facilitare la compilazione dei progetti. Usare windows-2025 per Windows Server 2025 con Visual Studio 2022.

È anche possibile utilizzare un agente ospitato autonomamente per eseguire le compilazioni. Usare un agente self-hosted è utile se si dispone di un repository di grandi dimensioni e si vuole evitare di scaricare il codice sorgente in una nuova macchina a ogni compilazione.

Le compilazioni vengono eseguite su un agente ospitato autonomamente. Assicurarsi di avere installato la versione necessaria di Visual Studio nell'agente.

Compilare più configurazioni

Potrebbe essere necessario compilare l'app in più configurazioni. La procedura seguente consente di compilare l'app di esempio in quattro configurazioni: Debug, x86, Debug, x64, Release, x86e Release, x64.

  1. Nell'interfaccia utente della pipeline selezionare la scheda Variabili e modificare le variabili seguenti:

    • BuildConfiguration = debug, release
    • BuildPlatform = x86, x64
  2. Selezionare Attività e quindi selezionare processo dell'agente per modificare le opzioni seguenti per il processo dell'agente:

    • Selezionare Configurazione multipla.
    • Specificare moltiplicatori:BuildConfiguration, BuildPlatform
  3. Selezionare Parallel se si hanno più agenti di compilazione e si vogliono compilare le associazioni di configurazione e piattaforma in parallelo.

Ripristinare le dipendenze

Usare l'attività NuGet per installare e aggiornare le dipendenze del pacchetto NuGet. È anche possibile usare l'attività NuGet per scaricare pacchetti NuGet da Azure Artifacts, NuGet.org o da altri repository NuGet esterni o interni.

L'esempio seguente ripristina una soluzione da un feed con ambito di progetto nella stessa organizzazione.

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

Nota

Se si usa Ubuntu 24.04 o versione successiva, è necessario usare l'attività NuGetAuthenticate con l'interfaccia della riga di comando di .NET anziché l'attività NuGetCommand@2. Per ulteriori dettagli, vedere il supporto per le immagini ospitate più recenti di Ubuntu.