Partager via


VSBuild@1 - Tâche visual Studio build v1

Utilisez cette tâche pour générer avec MSBuild et définir la propriété de version de Visual Studio. En savoir plus sur l’installation de images Visual Studio sur Azure.

Conseil / Astuce

Utilisez NuGetAuthenticate@1 dans votre pipeline avant cette tâche. Pour plus d’informations, consultez Pourquoi mon pipeline de build échoue-t-il et demande-t-il une authentification à Sign-On unique (SSO) ?.

Syntaxe

# Visual Studio build v1
# Build with MSBuild and set the Visual Studio version property.
- task: VSBuild@1
  inputs:
    solution: '**\*.sln' # string. Required. Solution. Default: **\*.sln.
    #vsVersion: 'latest' # 'latest' | '17.0' | '16.0' | '15.0' | '14.0' | '12.0' | '11.0'. Visual Studio Version. Default: latest.
    #msbuildArgs: # string. MSBuild Arguments. 
    #platform: # string. Platform. 
    #configuration: # string. Configuration. 
    #clean: false # boolean. Clean. Default: false.
  # Advanced
    #maximumCpuCount: false # boolean. Build in Parallel. Default: false.
    #restoreNugetPackages: false # boolean. Restore NuGet Packages. Default: false.
    #msbuildArchitecture: 'x86' # 'x86' | 'x64'. MSBuild Architecture. Default: x86.
    #logProjectEvents: true # boolean. Record Project Details. Default: true.
    #createLogFile: false # boolean. Create Log File. Default: false.
    #logFileVerbosity: 'normal' # 'quiet' | 'minimal' | 'normal' | 'detailed' | 'diagnostic'. Optional. Use when createLogFile = true. Log File Verbosity. Default: normal.
    #enableDefaultLogger: true # boolean. Enable Default Logger. Default: true.
    #customVersion: # string. Custom Version.
# Visual Studio build v1
# Build with MSBuild and set the Visual Studio version property.
- task: VSBuild@1
  inputs:
    solution: '**\*.sln' # string. Required. Solution. Default: **\*.sln.
    #vsVersion: 'latest' # 'latest' | '16.0' | '15.0' | '14.0' | '12.0' | '11.0'. Visual Studio Version. Default: latest.
    #msbuildArgs: # string. MSBuild Arguments. 
    #platform: # string. Platform. 
    #configuration: # string. Configuration. 
    #clean: false # boolean. Clean. Default: false.
  # Advanced
    #maximumCpuCount: false # boolean. Build in Parallel. Default: false.
    #restoreNugetPackages: false # boolean. Restore NuGet Packages. Default: false.
    #msbuildArchitecture: 'x86' # 'x86' | 'x64'. MSBuild Architecture. Default: x86.
    #logProjectEvents: true # boolean. Record Project Details. Default: true.
    #createLogFile: false # boolean. Create Log File. Default: false.
    #logFileVerbosity: 'normal' # 'quiet' | 'minimal' | 'normal' | 'detailed' | 'diagnostic'. Optional. Use when createLogFile = true. Log File Verbosity. Default: normal.

Entrées

solution - solution
string. Obligatoire. Valeur par défaut : **\*.sln.

Spécifie la solution de la tâche à utiliser dans le processus de génération.

Si vous souhaitez créer une solution unique, cliquez sur le bouton ... et spécifiez la solution.

Si vous souhaitez créer plusieurs solutions, spécifiez les critères de recherche. Vous pouvez utiliser un caractère générique à dossier unique (*) et des caractères génériques récursifs (**). Par exemple, **.sln recherche tous les fichiers .sln dans tous les sous-répertoires.

Vérifiez que les solutions que vous spécifiez sont téléchargées par ce pipeline de build. Sous l’onglet Référentiel :

  • Si vous utilisez TFVC, vérifiez que la solution est un enfant de l’un des mappages sous l’onglet Référentiel.
  • Si vous utilisez Git, assurez-vous que le projet ou la solution se trouve dans votre dépôt Git et dans une branche que vous créez.

Conseil / Astuce

  • Vous pouvez également générer des fichiers de projet MSBuild (.*proj).
  • Si vous créez un fichier projet MSBuild personnalisé, nous vous recommandons d’utiliser la tâche MSBuild au lieu de la tâche De build Visual Studio.

Pour plus d’informations sur les différences entre MSBuild et Visual Studio build, consultez Builds Visual Studio et builds MSBuild.exe.


vsVersion - visual Studio Version
string. Valeurs autorisées : latest, 17.0 (Visual Studio 2022), 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015), 12.0 (Visual Studio 2013), 11.0 (Visual Studio 2012). Valeur par défaut : latest.

La valeur de cette entrée doit correspondre à la version de Visual Studio utilisée pour créer votre solution.

Ajoute l’argument /p:VisualStudioVersion={numeric_visual_studio_version} à la commande MSBuild exécutée par la build. Par exemple, si vous spécifiez visual Studio 2015, /p:VisualStudioVersion=14.0 est ajouté à la commande MSBuild.

Azure Pipelines: si votre équipe souhaite utiliser Visual Studio avec les agents hébergés par Microsoft, sélectionnez dernières windows en tant que pool de builds par défaut. Consultez agents hébergés par Microsoft.


vsVersion - visual Studio Version
string. Valeurs autorisées : latest, 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015), 12.0 (Visual Studio 2013), 11.0 (Visual Studio 2012). Valeur par défaut : latest.

La valeur de cette entrée doit correspondre à la version de Visual Studio utilisée pour créer votre solution.

Ajoute l’argument /p:VisualStudioVersion={numeric_visual_studio_version} à la commande MSBuild exécutée par la build. Par exemple, si vous spécifiez visual Studio 2015, /p:VisualStudioVersion=14.0 est ajouté à la commande MSBuild.

Azure Pipelines: si votre équipe souhaite utiliser Visual Studio avec les agents hébergés par Microsoft, sélectionnez dernières windows en tant que pool de builds par défaut. Consultez agents hébergés par Microsoft.


msbuildArgs - arguments MSBuild
string.

Transmet des arguments supplémentaires à MSBuild. Pour obtenir la syntaxe, consultez de référence MSBuild Command-Line .


platform - Plateforme
string.

Spécifie la plateforme que vous souhaitez générer, telle que Win32, x86, x64ou any cpu.

Conseil / Astuce

  • Si vous ciblez un fichier de projet MSBuild (.*proj) au lieu d’une solution, spécifiez AnyCPU (aucun espace blanc).
  • Déclarez une variable de build telle que BuildPlatform sous l’onglet Variables (en sélectionnant Autoriser au moment de la file d’attente) et référencez-la ici comme $(BuildPlatform). De cette façon, vous pouvez modifier la plateforme lorsque vous vrez mettre en file d’attente la build et activer la génération de plusieurs configurations.

configuration - Configuration
string.

Spécifie la configuration à générer, telle que debug ou release.

Conseil / Astuce

Déclarez une variable de build telle que BuildConfiguration sous l’onglet Variables (en sélectionnant Autoriser au moment de la file d’attente) et référencez-la ici comme $(BuildConfiguration). De cette façon, vous pouvez modifier la plateforme lorsque vous vrez mettre en file d’attente la build et activer la génération de plusieurs configurations.


clean - Nettoyer
boolean. Valeur par défaut : false.

Si la valeur est false, la tâche effectue une build incrémentielle. Ce paramètre peut réduire le temps de génération, en particulier si votre codebase est volumineux. Cette option n’a aucun effet pratique, sauf si vous définissez également le dépôt Clean sur false.

Si la valeur est true, la tâche reconstruit tout le code dans les projets de code. Cela équivaut à l’argument /target:clean MSBuild.


build maximumCpuCount - en parallèle
boolean. Valeur par défaut : false.

Optionnel. Si votre configuration cible MSBuild est compatible avec la génération en parallèle, vous pouvez vérifier cette entrée pour passer le commutateur /m à MSBuild (Windows uniquement). Si votre configuration cible n’est pas compatible avec la génération en parallèle, la vérification de cette option peut entraîner des erreurs d’utilisation de fichiers ou des échecs de build intermittents ou incohérents.


restoreNugetPackages - restaurer des packages NuGet
boolean. Valeur par défaut : false.

Cette entrée est déconseillée. Pour restaurer des packages NuGet, ajoutez une tâche programme d’installation de l’outil NuGet avant la génération.


msbuildArchitecture - d’architecture MSBuild
string. Valeurs autorisées : x86 (MSBuild x86), x64 (MSBuild x64). Valeur par défaut : x86.

Optionnel. Fournit l’architecture (x86 ou x64) de MSBuild à exécuter.

Conseil / Astuce

Étant donné que Visual Studio s’exécute en tant qu’application 32 bits, vous pouvez rencontrer des problèmes lorsque votre build est traitée par un agent de build exécutant la version 64 bits de Team Foundation Build Service. En sélectionnant MSBuild x86, vous pouvez résoudre ces problèmes.


logProjectEvents - enregistrer les détails du projet
boolean. Valeur par défaut : true.

Optionnel. Enregistre les détails de la chronologie pour chaque projet.


createLogFile - créer un fichier journal
boolean. Valeur par défaut : false.

Optionnel. Crée un fichier journal (Windows uniquement).


logFileVerbosity - détail du fichier journal
string. Optionnel. Utilisez quand createLogFile = true. Valeurs autorisées : quiet, minimal, normal, detailed, diagnostic. Valeur par défaut : normal.

Spécifie le niveau de détail dans les fichiers journaux.


enableDefaultLogger - activer le d’enregistreur d’événements par défaut
boolean. Valeur par défaut : true.

Si la valeur est true, active l’enregistreur d’événements par défaut pour MSBuild.


customVersion - version personnalisée
string.

Définit une version personnalisée de Visual Studio. Exemples : 15.0, 16.0, 17.0. La version requise de Visual Studio doit être installée dans le système.

Azure Pipelines: si votre équipe souhaite utiliser Visual Studio 2022 avec les agents hébergés par Microsoft, sélectionnez windows-2022 comme pool de builds par défaut. Pour plus d’informations, consultez agents hébergés par Microsoft.


Options de contrôle de tâche

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâche. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.

Variables de sortie

Aucun.

Remarques

Pourquoi mon pipeline de build échoue-t-il et vous demande-t-il une authentification à Sign-On unique (SSO) ?

Les builds peuvent échouer si les informations d’identification ont expiré. Pour éviter ces échecs, nous vous recommandons d’utiliser la tâche d’authentification NuGet pour réinstaller le fournisseur d’informations d’identification et actualiser automatiquement les informations d’identification. Cela garantit un accès ininterrompu pendant l’exécution du pipeline.

steps:
# Authenticate with NuGet to ensure credentials are refreshed
- task: NuGetAuthenticate@1 
# Build the solution using VSBuild
- task: VSBuild@1
  inputs:
    solution: '**/*.sln' 

En savoir plus sur l’installation de images Visual Studio sur Azure.

Important

Cette tâche est prise en charge uniquement sur les agents exécutant Windows.

Spécifications

Besoin Descriptif
Types de pipelines YAML, build classique
Exécutions sur Agent, DeploymentGroup
demandes Les agents auto-hébergés doivent disposer de fonctionnalités qui correspondent aux exigences de suivantes pour exécuter des travaux qui utilisent cette tâche : msbuild, visualstudio
fonctionnalités de Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail.
restrictions de commande N'importe quel
variables settables N'importe quel
Version de l’agent 1.95.0 ou version ultérieure
Catégorie de tâche Construire