Condividi tramite


Creare app ASP.NET con .NET Framework

Azure DevOps Services | 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. È possibile acquistare un incarico parallelo oppure richiedere un piano gratuito.
- 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. Selezionare visibilità per il 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 essere simile all'esempio seguente:

# 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 usare un agente self-hosted per eseguire le compilazioni. L'uso di un agente self-hosted è utile se si dispone di un repository di grandi dimensioni e si vuole evitare di scaricare il codice sorgente in un computer aggiornato per ogni compilazione.

Le compilazioni vengono eseguite su un agente self-hosted. 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 agente per modificare le opzioni seguenti per il processo:

    • Selezionare Multiconfigurazione.
    • 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.

Nell'esempio seguente viene ripristinata una soluzione da un feed con ambito 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.