Creare app ASP.NET con .NET Framework
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Questo articolo descrive come compilare un progetto .NET Framework con Azure Pipelines. Per i progetti .NET Core, vedere Compilare, testare e distribuire app .NET Core.
Creare un progetto Azure DevOps
- Nell'organizzazione o nella raccolta di Azure DevOps selezionare Nuovo progetto o Crea progetto.
- Immettere il nome del progetto.
- Selezionare visibilità per il progetto.
- Seleziona Crea.
Ottenere l'app di esempio
L'app di esempio è una soluzione di Visual Studio che usa .NET 4.8. Per ottenere l'app, creare una copia tramite fork del repository GitHub all'indirizzo:
https://github.com/Azure-Samples/app-service-web-dotnet-get-started
Creare e compilare la pipeline
Dopo aver creato il codice di esempio nel proprio repository, creare una pipeline nel progetto Azure DevOps usando le istruzioni in 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@2 per eseguire i test. Il repository di esempio non contiene test, quindi è possibile rimuovere l'attività VSTest@2 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 dover configurare un'infrastruttura personalizzata. Gli agenti ospitati da Microsoft in Azure Pipelines hanno diverse versioni rilasciate di Visual Studio preinstallate per facilitare la compilazione dei progetti. Usare windows-2022
per Windows Server 2022 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, x86
e Release, x64
.
Nell'interfaccia utente della pipeline selezionare la scheda Variabili e modificare le variabili seguenti:
BuildConfiguration
=debug, release
BuildPlatform
=x86, x64
Selezionare Attività e quindi selezionare Processo agente per modificare le opzioni seguenti per il processo:
- Selezionare Multiconfigurazione.
- Specificare moltiplicatori:
BuildConfiguration, BuildPlatform
Selezionare Parallel se sono presenti più agenti di compilazione e si vogliono compilare le associazioni di configurazione/piattaforma in parallelo.
Ripristinare le dipendenze
È possibile 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'