DotNetCoreCLI@2 - tâche .NET Core v2

Générez, testez, empaquetez ou publiez une application dotnet, ou exécutez une commande dotnet personnalisée.

Générez, testez, empaquetez ou publiez une application dotnet, ou exécutez une commande dotnet personnalisée. Pour les commandes de package, prend en charge les flux NuGet.org et authentifiés tels que Gestion des packages et MyGet.

Important

La tâche d’authentification NuGet est la nouvelle méthode recommandée pour s’authentifier auprès d’Azure Artifacts et d’autres référentiels NuGet. Les restore commandes et push de cette tâche CLI .NET Core ne prennent plus de nouvelles fonctionnalités et seuls les bogues critiques sont résolus. Pour plus d’informations, consultez les remarques.

Syntaxe

# .NET Core v2
# Build, test, package, or publish a dotnet application, or run a custom dotnet command.
- task: DotNetCoreCLI@2
  inputs:
    command: 'build' # 'build' | 'push' | 'pack' | 'publish' | 'restore' | 'run' | 'test' | 'custom'. Required. Command. Default: build.
    #publishWebProjects: true # boolean. Optional. Use when command = publish. Publish web projects. Default: true.
    #projects: # string. Optional. Use when command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false. Path to project(s). 
    #custom: # string. Required when command = custom. Custom command. 
    #arguments: # string. Optional. Use when command = build || command = publish || command = run || command = test || command = custom. Arguments. 
    #restoreArguments: # string. Optional. Use when command = restore. Arguments. 
    #publishTestResults: true # boolean. Optional. Use when command = test. Publish test results and code coverage. Default: true.
    #testRunTitle: # string. Optional. Use when command = test. Test run title. 
    #zipAfterPublish: true # boolean. Optional. Use when command = publish. Zip published projects. Default: true.
    #modifyOutputPath: true # boolean. Optional. Use when command = publish. Add project's folder name to publish path. Default: true.
    #packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg' # string. Alias: searchPatternPush. Required when command = push. Path to NuGet package(s) to publish. Default: $(Build.ArtifactStagingDirectory)/*.nupkg.
    #nuGetFeedType: 'internal' # 'internal' | 'external'. Required when command = push. Target feed location. Default: internal.
    #publishVstsFeed: # string. Alias: feedPublish. Required when command = push && nuGetFeedType = internal. Target feed. 
    #publishFeedCredentials: # string. Alias: externalEndpoint. Required when command = push && nuGetFeedType = external. NuGet server. 
    #packagesToPack: '**/*.csproj' # string. Alias: searchPatternPack. Required when command = pack. Path to csproj or nuspec file(s) to pack. Default: **/*.csproj.
    #configuration: '$(BuildConfiguration)' # string. Alias: configurationToPack. Optional. Use when command = pack. Configuration to Package. Default: $(BuildConfiguration).
    #packDirectory: '$(Build.ArtifactStagingDirectory)' # string. Alias: outputDir. Optional. Use when command = pack. Package Folder. Default: $(Build.ArtifactStagingDirectory).
    #nobuild: false # boolean. Optional. Use when command = pack. Do not build. Default: false.
    #includesymbols: false # boolean. Optional. Use when command = pack. Include Symbols. Default: false.
    #includesource: false # boolean. Optional. Use when command = pack. Include Source. Default: false.
  # Feeds and authentication
    feedsToUse: 'select' # 'select' | 'config'. Alias: selectOrConfig. Required. Feeds to use. Default: select.
    #vstsFeed: # string. Alias: feedRestore. Optional. Use when selectOrConfig = select. Use packages from this Azure Artifacts feed. 
    #includeNuGetOrg: true # boolean. Optional. Use when selectOrConfig = select. Use packages from NuGet.org. Default: true.
    #nugetConfigPath: # string. Optional. Use when selectOrConfig = config. Path to NuGet.config. 
    #externalFeedCredentials: # string. Alias: externalEndpoints. Optional. Use when selectOrConfig = config. Credentials for feeds outside this organization/collection. 
  # Advanced
    #noCache: false # boolean. Disable local cache. Default: false.
    #restoreDirectory: # string. Alias: packagesDirectory. Destination directory. 
    #verbosityRestore: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Verbosity. Default: Detailed.
  # Advanced
    #publishPackageMetadata: true # boolean. Optional. Use when command = push && nuGetFeedType = internal. Publish pipeline metadata. Default: true.
  # Pack options
    versioningScheme: 'off' # 'off' | 'byPrereleaseNumber' | 'byEnvVar' | 'byBuildNumber'. Required. Automatic package versioning. Default: off.
    #versionEnvVar: # string. Required when versioningScheme = byEnvVar. Environment variable. 
    #majorVersion: '1' # string. Alias: requestedMajorVersion. Required when versioningScheme = byPrereleaseNumber. Major. Default: 1.
    #minorVersion: '0' # string. Alias: requestedMinorVersion. Required when versioningScheme = byPrereleaseNumber. Minor. Default: 0.
    #patchVersion: '0' # string. Alias: requestedPatchVersion. Required when versioningScheme = byPrereleaseNumber. Patch. Default: 0.
  # Advanced
    #buildProperties: # string. Additional build properties. 
    #verbosityPack: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Verbosity. Default: Detailed.
  # Advanced
    #workingDirectory: # string. Optional. Use when command != restore && command != push && command != pack. Working directory.
# .NET Core v2
# Build, test, package, or publish a dotnet application, or run a custom dotnet command.
- task: DotNetCoreCLI@2
  inputs:
    command: 'build' # 'build' | 'push' | 'pack' | 'publish' | 'restore' | 'run' | 'test' | 'custom'. Required. Command. Default: build.
    #publishWebProjects: true # boolean. Optional. Use when command = publish. Publish Web Projects. Default: true.
    #projects: # string. Optional. Use when command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false. Path to project(s). 
    #custom: # string. Required when command = custom. Custom command. 
    #arguments: # string. Optional. Use when command = build || command = publish || command = run || command = test || command = custom. Arguments. 
    #publishTestResults: true # boolean. Optional. Use when command = test. Publish test results and code coverage. Default: true.
    #testRunTitle: # string. Optional. Use when command = test. Test run title. 
    #zipAfterPublish: true # boolean. Optional. Use when command = publish. Zip Published Projects. Default: true.
    #modifyOutputPath: true # boolean. Optional. Use when command = publish. Add project name to publish path. Default: true.
    #packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg' # string. Alias: searchPatternPush. Required when command = push. Path to NuGet package(s) to publish. Default: $(Build.ArtifactStagingDirectory)/*.nupkg.
    #nuGetFeedType: 'internal' # 'internal' | 'external'. Required when command = push. Target feed location. Default: internal.
    #publishVstsFeed: # string. Alias: feedPublish. Required when command = push && nuGetFeedType = internal. Target feed. 
    #publishFeedCredentials: # string. Alias: externalEndpoint. Required when command = push && nuGetFeedType = external. NuGet server. 
    #packagesToPack: '**/*.csproj' # string. Alias: searchPatternPack. Required when command = pack. Path to csproj or nuspec file(s) to pack. Default: **/*.csproj.
    #configuration: '$(BuildConfiguration)' # string. Alias: configurationToPack. Optional. Use when command = pack. Configuration to Package. Default: $(BuildConfiguration).
    #packDirectory: '$(Build.ArtifactStagingDirectory)' # string. Alias: outputDir. Optional. Use when command = pack. Package Folder. Default: $(Build.ArtifactStagingDirectory).
    #nobuild: false # boolean. Optional. Use when command = pack. Do not build. Default: false.
    #includesymbols: false # boolean. Optional. Use when command = pack. Include Symbols. Default: false.
    #includesource: false # boolean. Optional. Use when command = pack. Include Source. Default: false.
  # Feeds and authentication
    feedsToUse: 'select' # 'select' | 'config'. Alias: selectOrConfig. Required. Feeds to use. Default: select.
    #vstsFeed: # string. Alias: feedRestore. Optional. Use when selectOrConfig = select. Use packages from this Azure Artifacts feed. 
    #includeNuGetOrg: true # boolean. Optional. Use when selectOrConfig = select. Use packages from NuGet.org. Default: true.
    #nugetConfigPath: # string. Optional. Use when selectOrConfig = config. Path to NuGet.config. 
    #externalFeedCredentials: # string. Alias: externalEndpoints. Optional. Use when selectOrConfig = config. Credentials for feeds outside this organization/collection. 
  # Advanced
    #noCache: false # boolean. Disable local cache. Default: false.
    #restoreDirectory: # string. Alias: packagesDirectory. Destination directory. 
    #verbosityRestore: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Verbosity. Default: Detailed.
  # Advanced
    #publishPackageMetadata: true # boolean. Optional. Use when command = push && nuGetFeedType = internal. Publish pipeline metadata. Default: true.
  # Pack options
    versioningScheme: 'off' # 'off' | 'byPrereleaseNumber' | 'byEnvVar' | 'byBuildNumber'. Required. Automatic package versioning. Default: off.
    #versionEnvVar: # string. Required when versioningScheme = byEnvVar. Environment variable. 
    #majorVersion: '1' # string. Alias: requestedMajorVersion. Required when versioningScheme = byPrereleaseNumber. Major. Default: 1.
    #minorVersion: '0' # string. Alias: requestedMinorVersion. Required when versioningScheme = byPrereleaseNumber. Minor. Default: 0.
    #patchVersion: '0' # string. Alias: requestedPatchVersion. Required when versioningScheme = byPrereleaseNumber. Patch. Default: 0.
  # Advanced
    #buildProperties: # string. Additional build properties. 
    #verbosityPack: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Verbosity. Default: Detailed.
  # Advanced
    #workingDirectory: # string. Working Directory.
# .NET Core v2
# Build, test, package, or publish a dotnet application, or run a custom dotnet command. For package commands, supports NuGet.org and authenticated feeds like Package Management and MyGet.
- task: DotNetCoreCLI@2
  inputs:
    command: 'build' # 'build' | 'push' | 'pack' | 'publish' | 'restore' | 'run' | 'test' | 'custom'. Required. Command. Default: build.
    #publishWebProjects: true # boolean. Optional. Use when command = publish. Publish Web Projects. Default: true.
    #projects: # string. Optional. Use when command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false. Path to project(s). 
    #custom: # string. Required when command = custom. Custom command. 
    #arguments: # string. Optional. Use when command = build || command = publish || command = run || command = test || command = custom. Arguments. 
    #publishTestResults: true # boolean. Optional. Use when command = test. Publish test results and code coverage. Default: true.
    #zipAfterPublish: true # boolean. Optional. Use when command = publish. Zip Published Projects. Default: true.
    #modifyOutputPath: true # boolean. Optional. Use when command = publish. Add project name to publish path. Default: true.
    #packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg' # string. Alias: searchPatternPush. Required when command = push. Path to NuGet package(s) to publish. Default: $(Build.ArtifactStagingDirectory)/*.nupkg.
    #nuGetFeedType: 'internal' # 'internal' | 'external'. Required when command = push. Target feed location. Default: internal.
    #publishVstsFeed: # string. Alias: feedPublish. Required when command = push && nuGetFeedType = internal. Target feed. 
    #publishFeedCredentials: # string. Alias: externalEndpoint. Required when command = push && nuGetFeedType = external. NuGet server. 
    #packagesToPack: '**/*.csproj' # string. Alias: searchPatternPack. Required when command = pack. Path to csproj or nuspec file(s) to pack. Default: **/*.csproj.
    #configuration: '$(BuildConfiguration)' # string. Alias: configurationToPack. Optional. Use when command = pack. Configuration to Package. Default: $(BuildConfiguration).
    #packDirectory: '$(Build.ArtifactStagingDirectory)' # string. Alias: outputDir. Optional. Use when command = pack. Package Folder. Default: $(Build.ArtifactStagingDirectory).
    #nobuild: false # boolean. Optional. Use when command = pack. Do not build. Default: false.
  # Feeds and authentication
    feedsToUse: 'select' # 'select' | 'config'. Alias: selectOrConfig. Required. Feeds to use. Default: select.
    #vstsFeed: # string. Alias: feedRestore. Optional. Use when selectOrConfig = select. Use packages from this Azure Artifacts/TFS feed. 
    #includeNuGetOrg: true # boolean. Optional. Use when selectOrConfig = select. Use packages from NuGet.org. Default: true.
    #nugetConfigPath: # string. Optional. Use when selectOrConfig = config. Path to NuGet.config. 
    #externalFeedCredentials: # string. Alias: externalEndpoints. Optional. Use when selectOrConfig = config. Credentials for feeds outside this organization/collection. 
  # Advanced
    #noCache: false # boolean. Disable local cache. Default: false.
    #restoreDirectory: # string. Alias: packagesDirectory. Destination directory. 
    #verbosityRestore: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Verbosity. Default: Detailed.
  # Pack options
    versioningScheme: 'off' # 'off' | 'byPrereleaseNumber' | 'byEnvVar' | 'byBuildNumber'. Required. Automatic package versioning. Default: off.
    #versionEnvVar: # string. Required when versioningScheme = byEnvVar. Environment variable. 
    #majorVersion: '1' # string. Alias: requestedMajorVersion. Required when versioningScheme = byPrereleaseNumber. Major. Default: 1.
    #minorVersion: '0' # string. Alias: requestedMinorVersion. Required when versioningScheme = byPrereleaseNumber. Minor. Default: 0.
    #patchVersion: '0' # string. Alias: requestedPatchVersion. Required when versioningScheme = byPrereleaseNumber. Patch. Default: 0.
  # Advanced
    #buildProperties: # string. Additional build properties. 
    #verbosityPack: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Verbosity. Default: Detailed.
  # Advanced
    #workingDirectory: # string. Working Directory.
# YAML Syntax is not supported in TFS 2018.
# Use the classic designer to add and configure tasks.
# See the following Inputs section for details on the inputs that this task supports.

Entrées

command - Commande
string. Obligatoire. Valeurs autorisées : build, push (nuget push), pack, publish, restore, run, , test, custom. Valeur par défaut : build.

Commande dotnet à exécuter. Spécifiez custom pour ajouter des arguments ou utiliser une commande non répertoriée ici.

Important

La tâche d’authentification NuGet est la nouvelle méthode recommandée pour s’authentifier auprès d’Azure Artifacts et d’autres référentiels NuGet. Les restore commandes et push de cette tâche CLI .NET Core ne prennent plus de nouvelles fonctionnalités et seuls les bogues critiques sont résolus. Pour plus d’informations, consultez les remarques.


publishWebProjects - Publier des projets web
boolean. Optionnel. Utilisez quand command = publish. Valeur par défaut : true.

Si cette entrée est définie sur true, la valeur de la projects propriété est ignorée et la tâche tente de trouver les projets web dans le référentiel et d’exécuter la commande publish sur ces derniers. Les projets web sont identifiés par la présence d’un web.config fichier ou d’un wwwroot dossier dans le répertoire. En l’absence d’un web.config fichier ou d’un wwwroot dossier, les projets qui utilisent un SDK web, comme Microsoft.NET.Sdk.Web, sont sélectionnés.


publishWebProjects - Publier des projets web
boolean. Optionnel. Utilisez quand command = publish. Valeur par défaut : true.

Si cette entrée est définie sur true, la valeur de la projects propriété est ignorée et la tâche tente de trouver les projets web dans le référentiel et d’exécuter la commande publish sur ces derniers. Les projets web sont identifiés par la présence d’un web.config fichier ou d’un wwwroot dossier dans le répertoire. En l’absence d’un web.config fichier ou d’un wwwroot dossier, les projets qui utilisent un SDK web, comme Microsoft.NET.Sdk.Web, sont sélectionnés.


projects - Chemin d’accès au(s) projet(s)
string. Optionnel. Utilisez quand command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false.

Chemin d’accès au .csproj ou aux fichiers à utiliser. Vous pouvez utiliser des caractères génériques (par exemple **/*.csproj , pour tous les .csproj fichiers de tous les sous-dossiers). Pour plus d’informations, consultez la référence des modèles de correspondance de fichier.


custom - Commande personnalisée
string. Obligatoire quand command = custom.

Commande à laquelle passer dotnet.exe pour l’exécution. Pour obtenir la liste complète des commandes disponibles, consultez la documentation de l’interface CLI dotnet.


arguments - Arguments
string. Optionnel. Utilisez quand command = build || command = publish || command = run || command = test || command = custom.

Spécifie les arguments de la commande sélectionnée. Par exemple, la configuration de build, le dossier de sortie et le runtime. Les arguments dépendent de la commande sélectionnée.

Cette entrée accepte actuellement uniquement les arguments pour build, publish, run, testet custom. Si vous souhaitez ajouter des arguments pour une commande non répertoriée, utilisez custom.


restoreArguments - Arguments
string. Optionnel. Utilisez quand command = restore.

Écrit les arguments supplémentaires à passer à la restore commande .


publishTestResults - Publier les résultats des tests et la couverture du code
boolean. facultatif. Utilisez quand command = test. Valeur par défaut : true.

L’activation de cette option génère un test results fichier TRX dans $(Agent.TempDirectory), et les résultats sont publiés sur le serveur.

Cette option ajoute aux arguments --logger trx --results-directory $(Agent.TempDirectory) de ligne de commande.

La couverture du code peut être collectée en ajoutant l’option --collect “Code coverage” aux arguments de ligne de commande.


publishTestResults - Publier les résultats des tests
boolean. facultatif. Utilisez quand command = test. Valeur par défaut : true.

L’activation de cette option génère un test results fichier TRX dans $(Agent.TempDirectory), et les résultats sont publiés sur le serveur.

Cette option ajoute le --logger trx --results-directory $(Agent.TempDirectory) aux arguments de ligne de commande.

La couverture du code peut être collectée en ajoutant l’option --collect “Code coverage” aux arguments de ligne de commande.


testRunTitle - Titre de la série de tests
string. Optionnel. Utilisez quand command = test.

Fournit un nom pour la série de tests.


zipAfterPublish - Projets zip publiés
boolean. facultatif. Utilisez quand command = publish. Valeur par défaut : true.

Si cette entrée est définie sur true, les dossiers créés par la commande publish sont compressés et supprimés.


zipAfterPublish - Projets zip publiés
boolean. Optionnel. Utilisez quand command = publish. Valeur par défaut : true.

Si cette entrée est définie sur true, le dossier créé par la commande publish est compressé et supprimé.


modifyOutputPath - Ajouter le nom du dossier du projet au chemin de publication
boolean. Optionnel. Utilisez quand command = publish. Valeur par défaut : true.

Si cette entrée est définie sur true, les dossiers créés par la commande publish ont le nom de fichier projet préfixé à leurs noms de dossiers lorsque le chemin de sortie est spécifié explicitement dans les arguments. Cela est utile si vous souhaitez publier plusieurs projets dans le même dossier.


modifyOutputPath - Ajouter le nom du projet au chemin de publication
boolean. Optionnel. Utilisez quand command = publish. Valeur par défaut : true.

Si cette entrée est définie sur true, les dossiers créés par la commande publish ont le nom de fichier projet préfixé à leurs noms de dossiers lorsque le chemin de sortie est spécifié explicitement dans les arguments. Cela est utile si vous souhaitez publier plusieurs projets dans le même dossier.


feedsToUse - Flux à utiliser
Alias d’entrée : selectOrConfig. string. Obligatoire. Valeurs autorisées : select (Flux que je sélectionne ici), config (Flux dans mon NuGet.config). Valeur par défaut : select.

Vous pouvez sélectionner un flux à partir d’Azure Artifacts et/ou NuGet.org ici, ou vous pouvez valider un nuget.config fichier dans votre référentiel de code source et définir son chemin à l’aide de l’entrée nugetConfigPath .


vstsFeed - Utiliser des packages de ce flux Azure Artifacts
Alias d’entrée : feedRestore. string. Optionnel. Utilisez quand selectOrConfig = select.

Inclut le flux sélectionné dans le généré NuGet.config. Vous devez avoir installé La gestion des packages et disposer d’une licence pour sélectionner un flux ici. projectName/feedName sont utilisés pour les flux délimités par le projet. Est utilisé uniquement FeedName pour les flux étendus à l’organisation. Remarque : Cette option n’est pas prise en charge pour la commande de test.


vstsFeed - Utiliser des packages de ce flux Azure Artifacts/TFS
Alias d’entrée : feedRestore. string. Optionnel. Utilisez quand selectOrConfig = select.

Inclut le flux sélectionné dans le généré NuGet.config. Vous devez avoir installé La gestion des packages et disposer d’une licence pour sélectionner un flux ici. projectName/feedName sont utilisés pour les flux délimités par le projet. Est utilisé uniquement FeedName pour les flux étendus à l’organisation. Remarque : Cette option n’est pas prise en charge pour la commande de test.


vstsFeed - Utiliser des packages de ce flux VSTS/TFS
Alias d’entrée : feedRestore. string. Optionnel. Utilisez quand selectOrConfig = select.

Inclut le flux sélectionné dans le généré NuGet.config. Vous devez avoir installé La gestion des packages et disposer d’une licence pour sélectionner un flux ici.


includeNuGetOrg - Utiliser des packages de NuGet.org
boolean. Optionnel. Utilisez quand selectOrConfig = select. Valeur par défaut : true.

Inclut NuGet.org dans le généré NuGet.config.


nugetConfigPath - Chemin d’accès à NuGet.config
string. Optionnel. Utilisez quand selectOrConfig = config.

NuGet.config dans votre dépôt qui spécifie les flux à partir desquels restaurer des packages.


externalFeedCredentials - Informations d’identification pour les flux en dehors de cette organisation/collection
Alias d’entrée : externalEndpoints. string. facultatif. Utilisez quand selectOrConfig = config.

Informations d’identification à utiliser pour les registres externes situés dans le sélectionné NuGet.config. Pour les flux dans cette organisation/collection, laissez cette entrée vide ; les informations d’identification de la build sont utilisées automatiquement.


externalFeedCredentials - Informations d’identification pour les flux en dehors de ce compte/collection
Alias d’entrée : externalEndpoints. string. facultatif. Utilisez quand selectOrConfig = config.

Informations d’identification à utiliser pour les registres externes situés dans le sélectionné NuGet.config. Pour les flux dans cette organisation/collection, laissez cette entrée vide ; les informations d’identification de la build sont utilisées automatiquement.


noCache - Désactiver le cache local
boolean. Valeur par défaut : false.

Empêche NuGet d’utiliser des packages à partir de caches d’ordinateurs locaux.


restoreDirectory - Répertoire de destination
Alias d’entrée : packagesDirectory. string.

Spécifie le dossier dans lequel les packages sont installés. Si aucun dossier n’est spécifié, les packages sont restaurés dans le cache de package NuGet par défaut.


verbosityRestore - Verbosité
string. Valeurs autorisées : -, Quiet, Minimal, Normal, DiagnosticDetailed. Valeur par défaut : Detailed.

Spécifie la quantité de détails affichée dans la sortie de la restore commande.


packagesToPush - Chemin d’accès au ou aux packages NuGet à publier
Alias d’entrée : searchPatternPush. string. Obligatoire lorsque command = push. Valeur par défaut : $(Build.ArtifactStagingDirectory)/*.nupkg.

Modèle à faire correspondre ou chemin d’accès aux nupkg fichiers à charger. Plusieurs modèles peuvent être séparés par un point-virgule, et vous pouvez rendre un modèle négatif en le préfixant avec !. Exemple : **/*.nupkg;!**/*.Tests.nupkg.


nuGetFeedType - Emplacement du flux cible
string. Obligatoire lorsque command = push. Valeurs autorisées : internal (cette organisation/collection), external (serveur NuGet externe (y compris d’autres organisations/collections)). Valeur par défaut : internal.

Spécifie si le flux cible est interne ou externe.


nuGetFeedType - Emplacement du flux cible
string. Obligatoire lorsque command = push. Valeurs autorisées : internal (ce compte/collection), external (serveur NuGet externe (y compris d’autres comptes/collections)). Valeur par défaut : internal.

Spécifie si le flux cible est interne ou externe.


publishVstsFeed - Flux cible
Alias d’entrée : feedPublish. string. Obligatoire lorsque command = push && nuGetFeedType = internal.

Spécifie un flux hébergé dans cette organisation. Vous devez avoir installé La gestion des packages et disposer d’une licence pour sélectionner un flux ici.


publishPackageMetadata - Publier des métadonnées de pipeline
boolean. Optionnel. Utilisez quand command = push && nuGetFeedType = internal. Valeur par défaut : true.

Associe les métadonnées de ce pipeline de build/mise en production (exécuter #, informations de code source) au package.


publishFeedCredentials - Serveur NuGet
Alias d’entrée : externalEndpoint. string. Obligatoire lorsque command = push && nuGetFeedType = external.

Connexion de service NuGet qui contient les informations d’identification du serveur NuGet externe.


packagesToPack - Chemin d’accès aux fichiers csproj ou nuspec à emballer
Alias d’entrée : searchPatternPack. string. Obligatoire lorsque command = pack. Valeur par défaut : **/*.csproj.

Modèle à rechercher .csproj ou .nuspec fichiers à emballer.

Vous pouvez séparer plusieurs modèles avec un point-virgule, et vous pouvez faire un modèle négatif en le préfixant avec !. Exemple : **/*.csproj;!**/*.Tests.csproj.


configuration - Configuration à empaqueter
Alias d’entrée : configurationToPack. string. Optionnel. Utilisez quand command = pack. Valeur par défaut : $(BuildConfiguration).

Lors de l’utilisation d’un .csproj fichier, cette entrée spécifie la configuration à empaqueter.


packDirectory - Dossier de package
Alias d’entrée : outputDir. string. Optionnel. Utilisez quand command = pack. Valeur par défaut : $(Build.ArtifactStagingDirectory).

Dossier dans lequel les packages seront créés. Si ce dossier est vide, les packages sont créés en même temps que le csproj fichier.


nobuild - Ne pas générer
boolean. Optionnel. Utilisez quand command = pack. Valeur par défaut : false.

Spécifie que la tâche ne générera pas le projet avant l’empaquetage. Cette tâche correspond au --no-build paramètre de la build commande .


includesymbols - Inclure des symboles
boolean. Optionnel. Utilisez quand command = pack. Valeur par défaut : false.

Crée des packages NuGet de symboles. Cette tâche correspond au paramètre de ligne de --include-symbols commande.


includesource - Inclure la source
boolean. Optionnel. Utilisez quand command = pack. Valeur par défaut : false.

Inclut le code source dans le package. Cette tâche correspond au paramètre de ligne de --include-source commande.


versioningScheme - Contrôle de version automatique des packages
string. Obligatoire. Valeurs autorisées : off, byPrereleaseNumber (Utilisez la date et l’heure), byEnvVar (Utiliser une variable d’environnement) byBuildNumber (Utilisez le numéro de build). Valeur par défaut : off.

Cette tâche ne peut pas être utilisée avec les projets référencés inclus. Si vous choisissez Use the date and time, cette opération génère une version conforme à SemVer au X.Y.Z-ci-datetime format où vous choisissez X, Yet Z.

Si vous choisissez Use an environment variable, vous devez sélectionner une variable d’environnement et vous assurer qu’elle contient le numéro de version que vous souhaitez utiliser.

Si vous choisissez Use the build number, cette opération utilise le numéro de build pour versionner votre package. Note: Sous Options, définissez le format du numéro de build sur $(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r).


versionEnvVar - Variable d’environnement
string. Obligatoire quand versioningScheme = byEnvVar.

Spécifie le nom de la variable sans $, $envou %.


majorVersion - Majeur
Alias d’entrée : requestedMajorVersion. string. Obligatoire quand versioningScheme = byPrereleaseNumber. Valeur par défaut : 1.

dans la X version X.Y.Z.


minorVersion - Mineur
Alias d’entrée : requestedMinorVersion. string. Obligatoire quand versioningScheme = byPrereleaseNumber. Valeur par défaut : 0.

dans la Y version X.Y.Z.


patchVersion - Patch
Alias d’entrée : requestedPatchVersion. string. Obligatoire quand versioningScheme = byPrereleaseNumber. Valeur par défaut : 0.

dans la Z version X.Y.Z.


buildProperties - Propriétés de build supplémentaires
string.

Spécifie une liste de token = value paires, séparées par des points-virgules, où chaque occurrence de $token$ dans le .nuspec fichier sera remplacée par la valeur donnée. Les valeurs peuvent être des chaînes entre guillemets.


verbosityPack - Verbosité
string. Valeurs autorisées : -, Quiet, Minimal, DetailedNormalDiagnostic. Valeur par défaut : Detailed.

Spécifie la quantité de détails affichée dans la sortie de la pack commande.


workingDirectory - Répertoire de travail
string. Optionnel. Utilisez quand command != restore && command != push && command != pack.

Répertoire de travail actuel dans lequel le script est exécuté. Empty est la racine du dépôt (build) ou des artefacts (mise en production), qui est $(System.DefaultWorkingDirectory).


workingDirectory - Répertoire de travail
string.

Répertoire de travail actuel dans lequel le script est exécuté. Empty est la racine du dépôt (build) ou des artefacts (mise en production), qui est $(System.DefaultWorkingDirectory).


Options de contrôle des tâches

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

Variables de sortie

Aucun.

Notes

Important

La tâche d’authentification NuGet est la nouvelle méthode recommandée pour s’authentifier auprès d’Azure Artifacts et d’autres référentiels NuGet. Les restore commandes et push de cette tâche CLI .NET Core ne prennent plus de nouvelles fonctionnalités et seuls les bogues critiques sont résolus.

Pourquoi mon étape de génération, de publication ou de test ne parvient-elle pas à restaurer les packages ?

La plupart des dotnet commandes, y compris build, publishet test incluent une étape implicite restore . Cela échouera par rapport aux flux authentifiés, même si vous avez exécuté un avec succès dotnet restore à une étape antérieure, car l’étape précédente aura nettoyé les informations d’identification qu’elle a utilisées.

Pour résoudre ce problème, ajoutez l’indicateur --no-restore à la zone de Arguments texte.

En outre, la test commande ne reconnaît pas les feedRestore arguments ou vstsFeed , et les flux spécifiés de cette manière ne seront pas inclus dans le fichier généré NuGet.config lors de l’exécution de l’étape implicite restore . Il est recommandé d’utiliser une étape explicite dotnet restore pour restaurer les packages. La restore commande respecte les feedRestore arguments et vstsFeed .

Pourquoi est-ce que je reçois des avertissements NU1507 avec le mappage de source de package , alors que lors de la génération sur mon ordinateur, il n’a aucun avertissement ?

Les différentes commandes qui effectuent une restauration NuGet ou accèdent à un flux NuGet créent un fichier temporaire NuGet.config spécial qui ajoute l’authentification NuGet pour les flux NuGet d’artefacts Azure. La façon dont cette opération est effectuée est en conflit avec le schéma que le mappage de source de package utilise pour mapper les packages aux sources et interrompt la configuration mappin de la source de package dans le NuGet.config fichier de votre dépôt. Pour contourner ce conflit, vous pouvez utiliser la tâche d’authentification NuGet pour vous authentifier, puis la commande personnalisée pour appeler la commande dotnet souhaitée sans la NuGet.config modification.

# Authenticate Azure DevOps NuGet feed
- task: NuGetAuthenticate@1
  displayName: 'Authenticate Azure DevOps NuGet feed'

# Restore project
- task: DotNetCoreCLI@2
  inputs:
    command: 'custom'
    custom: 'restore'

# Build project
- task: DotNetCoreCLI@2
  inputs:
    command: 'custom'
    custom: 'build'
    arguments: '--no-restore'

Pourquoi devrais-je enregistrer un NuGet.config ?

La vérification d’un NuGet.config dans le contrôle de code source garantit qu’un élément clé des informations nécessaires à la création de votre projet, l’emplacement de ses packages, est disponible pour chaque développeur qui extrait votre code.

Toutefois, pour les situations où une équipe de développeurs travaille sur un large éventail de projets, il est également possible d’ajouter un flux Azure Artifacts au global NuGet.config sur la machine de chaque développeur. Dans ces situations, l’utilisation de l’option Feeds I select here dans la tâche NuGet réplique cette configuration.

Dépannage

Le projet à l’aide d’Entity Framework a cessé de fonctionner sur les agents hébergés

.NET Core n’a pas intégré Entity Framework(EF). Vous devez installer EF avant de commencer l’exécution ou ajouter global.json au projet avec la version requise du SDK .NET Core. Cela garantit que le kit SDK correct est utilisé pour générer un projet EF. Si la version requise n’est pas présente sur l’ordinateur, ajoutez la UseDotNetV2 tâche à votre pipeline pour installer la version requise. Pour plus d’informations, consultez Obtenir le runtime Entity Framework Core.

Exemples

Exemples de build

Générer un projet

# Build project
- task: DotNetCoreCLI@2
  inputs:
    command: 'build'

Générer plusieurs projets

# Build multiple projects
- task: DotNetCoreCLI@2
  inputs:
    command: 'build'
    projects: |
      src/proj1/proj1.csproj 
      src/proj2/proj2.csproj 
      src/other/other.sln    # Pass a solution instead of a csproj.

Exemples d’envoi (push)

Envoyer (push) des packages NuGet au flux interne

# Push non test NuGet packages from a build to internal organization Feed
- task: DotNetCoreCLI@2
  inputs:
    command: 'push'
    searchPatternPush: '$(Build.ArtifactStagingDirectory)/*.nupkg;!$(Build.ArtifactStagingDirectory)/*.Tests.nupkg'
    feedPublish: 'FabrikamFeed'

Envoyer (push) des packages NuGet vers un flux externe

# Push all NuGet packages from a build to external Feed
- task: DotNetCoreCLI@2
  inputs:
    command: 'push'
    nugetFeedType: 'external'
    externalEndPoint: 'MyNuGetServiceConnection'

Exemples de pack

Pack d’un NuGetPackage dans un répertoire de sortie spécifique

# Pack a NuGet package to a test directory
- task: DotNetCoreCLI@2
  inputs: 
    command: 'pack'
    outputDir: '$(Build.ArtifactStagingDirectory)/TestDir'

Pack a Symbol Package

# Pack a symbol package along with NuGet package
- task: DotNetCoreCLI@2
  inputs: 
    command: 'pack'
    includesymbols: true

Exemples de publication

Publier des projets dans le dossier spécifié

# Publish projects to specified folder.
- task: DotNetCoreCLI@2
  displayName: 'dotnet publish'
  inputs:
    command: 'publish'
    publishWebProjects: false
    projects: '**/*.csproj'
    arguments: '-o $(Build.ArtifactStagingDirectory)/Output'
    zipAfterPublish: true
    modifyOutputPath: true

Exemples de restauration

#Restore packages with the .NET Core CLI task
- task: DotNetCoreCLI@2
  displayName: 'dotnet restore'
  inputs:
    command: 'restore'
    feedsToUse: 'select'
    feedRestore: 'projectName/feedName'
    projects: '**/*.csproj'
    includeNuGetOrg: true

Exemples de test

Exécuter des tests dans votre dépôt

# Run tests and auto publish test results.
- task: DotNetCoreCLI@2
  inputs:
    command: 'test'

Spécifications

Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent
Demandes Aucun
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commande Quelconque
Variables paramétrables Quelconque
Version de l’agent 2.144.0 ou version ultérieure
Catégorie de la tâche Build
Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent
Demandes Aucun
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commande Quelconque
Variables paramétrables Quelconque
Version de l’agent 2.115.0 ou version ultérieure
Catégorie de la tâche Build
Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent
Demandes Aucun
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commande Quelconque
Variables paramétrables Quelconque
Version de l’agent 2.0.0 ou version ultérieure
Catégorie de la tâche Build