Erstellen von ASP.NET Apps mit .NET Framework

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

In diesem Artikel wird beschrieben, wie Sie ein .NET Framework-Projekt mit Azure Pipelines erstellen. Informationen zu .NET Core-Projekten finden Sie unter Erstellen, Testen und Bereitstellen von .NET Core-Apps.

Ein Azure DevOps-Projekt erstellen

  1. Wählen Sie in Ihrer Azure DevOps-Organisation oder -Sammlung "Neues Projekt" oder "Projekt erstellen" aus.
  2. Geben Sie einen Projektnamen ein.
  3. Wählen Sie die Sichtbarkeit für Ihr Projekt.
  4. Klicken Sie auf Erstellen.

Abrufen der Beispiel-App

Die Beispiel-App ist eine Visual Studio-Projektmappe, die .NET 4.8 verwendet. Um die App abzurufen, verzweigen Sie das GitHub-Repository unter:

https://github.com/Azure-Samples/app-service-web-dotnet-get-started

Erstellen und Erstellen der Pipeline

Nachdem Sie den Beispielcode in Ihrem eigenen Repository erstellt haben, erstellen Sie eine Pipeline in Ihrem Azure DevOps-Projekt, indem Sie die Anweisungen in "Erstellen Ihrer ersten Pipeline" verwenden.

Wählen Sie die vorlage ASP.NET aus. Diese Auswahl fügt die azure-pipelines.yml Datei automatisch mit den Aufgaben hinzu, die zum Erstellen des Codes zum Beispiel-Repository erforderlich sind. Die Vorlage enthält die VSTest@2 Aufgabe zum Ausführen von Tests. Das Beispiel-Repository enthält keine Tests, sodass Sie die VSTest@2 Aufgabe aus der Pipeline entfernen können.

Die Pipeline sollte wie im folgenden Beispiel aussehen:

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

Wählen Sie "Speichern" und "Ausführen" aus, und wählen Sie "Aufträge" aus, um die Pipeline in Aktion anzuzeigen.

Um die Buildartefakte zu veröffentlichen, fügen Sie die folgende Aufgabe am Ende Ihrer YAML-Datei hinzu:

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

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

Buildumgebung

Sie können Azure Pipelines verwenden, um Ihre .NET Framework Projekte zu erstellen, ohne eine eigene Infrastruktur einrichten zu müssen. Die von Microsoft gehosteten Agents in Azure Pipelines haben mehrere veröffentlichte Versionen von Visual Studio vorinstalliert, um Ihre Projekte zu erstellen. Wird für Windows Server 2022 mit Visual Studio 2022 verwendet windows-2022 .

Sie können auch einen selbstgehosteten Agent verwenden, um Ihre Builds auszuführen. Die Verwendung eines selbst gehosteten Agents ist hilfreich, wenn Sie über ein großes Repository verfügen und vermeiden möchten, den Quellcode für jeden Build auf einen neuen Computer herunterzuladen.

Ihre Builds werden auf einem selbstgehosteten Agent ausgeführt. Stellen Sie sicher, dass die erforderliche Version von Visual Studio auf dem Agent installiert ist.

Erstellen mehrerer Konfigurationen

Möglicherweise müssen Sie Ihre App in mehreren Konfigurationen erstellen. Die folgenden Schritte erstellen die Beispiel-App auf vier Konfigurationen: Debug, x86, , Debug, x64, und Release, x86Release, x64.

  1. Wählen Sie auf der Pipeline-Benutzeroberfläche die Registerkarte "Variablen " aus, und ändern Sie die folgenden Variablen:

    • BuildConfiguration = debug, release
    • BuildPlatform = x86, x64
  2. Wählen Sie "Aufgaben" und dann "Agentauftrag" aus, um die folgenden Optionen für den Auftrag zu ändern:

    • Wählen Sie Multikonfiguration.
    • Multiplizierer angeben : BuildConfiguration, BuildPlatform
  3. Wählen Sie Parallel aus, wenn Sie über mehrere Build-Agents verfügen und Ihre Konfigurations-/Plattformpaare parallel erstellen möchten.

Wiederherstellen von Abhängigkeiten

Verwenden Sie diese Aufgabe, um NuGet task-Paketabhängigkeiten zu installieren und zu aktualisieren. Sie können die NuGet-Aufgabe auch verwenden, um NuGet-Pakete aus Azure Artifacts, NuGet.org oder anderen externen oder internen NuGet-Repositorys herunterzuladen.

Im folgenden Beispiel wird eine Lösung aus einem projektbezogenen Feed in derselben Organisation wiederhergestellt.

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