Partager via


DotNetCoreCLI@2 - .NET Tâche Core v2

Construisez, testez, empaquetez ou publiez une application .NET, ou exécutez une commande CLI .NET personnalisée.

Syntaxe

# .NET Core v2
# Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
- task: DotNetCoreCLI@2
  inputs:
    #azureSubscription: # string. Alias: ConnectedServiceName. Azure Resource Manager connection. 
    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) or solution(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.
    #requestTimeout: '300000' # string. Set timeout for package download request. Default: 300000.
  # Feeds and authentication
    #feedsToUse: 'select' # 'select' | 'config'. Alias: selectOrConfig. Required when command = restore. Feeds to use. Default: select.
    #vstsFeed: # string. Alias: feedRestore. Optional. Use when selectOrConfig = select && command = restore. Use packages from this Azure Artifacts feed. Select from the dropdown or enter [project name/]feed name. 
    #includeNuGetOrg: true # boolean. Optional. Use when selectOrConfig = select && command = restore. Use packages from NuGet.org. Default: true.
    #nugetConfigPath: # string. Optional. Use when selectOrConfig = config && command = restore. Path to NuGet.config. 
    #externalFeedCredentials: # string. Alias: externalEndpoints. Optional. Use when selectOrConfig = config && command = restore. Credentials for feeds outside this organization/collection. 
  # Advanced
    #noCache: false # boolean. Optional. Use when command = restore. Disable local cache. Default: false.
    #restoreDirectory: # string. Alias: packagesDirectory. Optional. Use when command = restore. Destination directory. 
    #verbosityRestore: 'Normal' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = restore. Verbosity. Default: Normal.
  # Advanced
    #publishPackageMetadata: true # boolean. Optional. Use when command = push && nuGetFeedType = internal. Publish pipeline metadata. Default: true.
  # Pack options
    #versioningScheme: 'off' # 'off' | 'byPrereleaseNumber' | 'byEnvVar' | 'byBuildNumber' | 'bySemVerBuildNumber'. Required when command = pack. Automatic package versioning. Default: off.
    #versionEnvVar: # string. Required when versioningScheme = byEnvVar && command = pack. Environment variable. 
    #majorVersion: '1' # string. Alias: requestedMajorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Major. Default: 1.
    #minorVersion: '0' # string. Alias: requestedMinorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Minor. Default: 0.
    #patchVersion: '0' # string. Alias: requestedPatchVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Patch. Default: 0.
  # Advanced
    #buildProperties: # string. Optional. Use when command = pack. Additional build properties. 
    #verbosityPack: 'Normal' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = pack. Verbosity. Default: Normal.
  # Advanced
    #workingDirectory: # string. Optional. Use when command != restore && command != push && command != pack. Working directory.
# .NET Core v2
# Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
- task: DotNetCoreCLI@2
  inputs:
    #azureSubscription: # string. Alias: ConnectedServiceName. Azure Resource Manager connection. 
    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) or solution(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.
    #requestTimeout: '300000' # string. Set timeout for package download request. Default: 300000.
  # Feeds and authentication
    #feedsToUse: 'select' # 'select' | 'config'. Alias: selectOrConfig. Required when command = restore. Feeds to use. Default: select.
    #vstsFeed: # string. Alias: feedRestore. Optional. Use when selectOrConfig = select && command = restore. Use packages from this Azure Artifacts feed. Select from the dropdown or enter [project name/]feed name. 
    #includeNuGetOrg: true # boolean. Optional. Use when selectOrConfig = select && command = restore. Use packages from NuGet.org. Default: true.
    #nugetConfigPath: # string. Optional. Use when selectOrConfig = config && command = restore. Path to NuGet.config. 
    #externalFeedCredentials: # string. Alias: externalEndpoints. Optional. Use when selectOrConfig = config && command = restore. Credentials for feeds outside this organization/collection. 
  # Advanced
    #noCache: false # boolean. Optional. Use when command = restore. Disable local cache. Default: false.
    #restoreDirectory: # string. Alias: packagesDirectory. Optional. Use when command = restore. Destination directory. 
    #verbosityRestore: 'Normal' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = restore. Verbosity. Default: Normal.
  # 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 when command = pack. Automatic package versioning. Default: off.
    #versionEnvVar: # string. Required when versioningScheme = byEnvVar && command = pack. Environment variable. 
    #majorVersion: '1' # string. Alias: requestedMajorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Major. Default: 1.
    #minorVersion: '0' # string. Alias: requestedMinorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Minor. Default: 0.
    #patchVersion: '0' # string. Alias: requestedPatchVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Patch. Default: 0.
  # Advanced
    #buildProperties: # string. Optional. Use when command = pack. Additional build properties. 
    #verbosityPack: 'Normal' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = pack. Verbosity. Default: Normal.
  # Advanced
    #workingDirectory: # string. Optional. Use when command != restore && command != push && command != pack. Working directory.
# .NET Core v2
# Build, test, package, or publish a .NET application, or run a custom .NET CLI 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) or solution(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 when command = restore. Feeds to use. Default: select.
    #vstsFeed: # string. Alias: feedRestore. Optional. Use when selectOrConfig = select && command = restore. Use packages from this Azure Artifacts feed. 
    #includeNuGetOrg: true # boolean. Optional. Use when selectOrConfig = select && command = restore. Use packages from NuGet.org. Default: true.
    #nugetConfigPath: # string. Optional. Use when selectOrConfig = config && command = restore. Path to NuGet.config. 
    #externalFeedCredentials: # string. Alias: externalEndpoints. Optional. Use when selectOrConfig = config && command = restore. Credentials for feeds outside this organization/collection. 
  # Advanced
    #noCache: false # boolean. Optional. Use when command = restore. Disable local cache. Default: false.
    #restoreDirectory: # string. Alias: packagesDirectory. Optional. Use when command = restore. Destination directory. 
    #verbosityRestore: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = restore. 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 when command = pack. Automatic package versioning. Default: off.
    #versionEnvVar: # string. Required when versioningScheme = byEnvVar && command = pack. Environment variable. 
    #majorVersion: '1' # string. Alias: requestedMajorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Major. Default: 1.
    #minorVersion: '0' # string. Alias: requestedMinorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Minor. Default: 0.
    #patchVersion: '0' # string. Alias: requestedPatchVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Patch. Default: 0.
  # Advanced
    #buildProperties: # string. Optional. Use when command = pack. Additional build properties. 
    #verbosityPack: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = pack. 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 .NET application, or run a custom .NET CLI 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 when command = restore. Feeds to use. Default: select.
    #vstsFeed: # string. Alias: feedRestore. Optional. Use when selectOrConfig = select && command = restore. Use packages from this Azure Artifacts feed. 
    #includeNuGetOrg: true # boolean. Optional. Use when selectOrConfig = select && command = restore. Use packages from NuGet.org. Default: true.
    #nugetConfigPath: # string. Optional. Use when selectOrConfig = config && command = restore. Path to NuGet.config. 
    #externalFeedCredentials: # string. Alias: externalEndpoints. Optional. Use when selectOrConfig = config && command = restore. Credentials for feeds outside this organization/collection. 
  # Advanced
    #noCache: false # boolean. Optional. Use when command = restore. Disable local cache. Default: false.
    #restoreDirectory: # string. Alias: packagesDirectory. Optional. Use when command = restore. Destination directory. 
    #verbosityRestore: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = restore. 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 when command = pack. Automatic package versioning. Default: off.
    #versionEnvVar: # string. Required when versioningScheme = byEnvVar && command = pack. Environment variable. 
    #majorVersion: '1' # string. Alias: requestedMajorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Major. Default: 1.
    #minorVersion: '0' # string. Alias: requestedMinorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Minor. Default: 0.
    #patchVersion: '0' # string. Alias: requestedPatchVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Patch. Default: 0.
  # Advanced
    #buildProperties: # string. Optional. Use when command = pack. Additional build properties. 
    #verbosityPack: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = pack. Verbosity. Default: Detailed.
  # Advanced
    #workingDirectory: # string. Optional. Use when command != restore && command != push && command != pack. Working directory.

Entrées

Azure Resource Manager connexion
Alias d’entrée : . .

Spécifier une connexion de service Azure Resource Manager configurée avec la fédération de l’identité de charge de travail pour utiliser AzurePipelinesCredential dans les tests d’intégration. Pour plus d’informations, consultez Utiliser AzurePipelinesCredential dans les tests d’intégration.

Remarque

Cette entrée prend uniquement en charge les connexions de service ARM configurées pour utiliser la fédération des identités de charge de travail.


commande
. Obligatoire. Valeurs autorisées : , (push nuget), , , , , , . Valeur par défaut : .

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

Important

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


Publier des projets web
. Optionnel. Utilisez quand . Valeur par défaut : .

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


chemin d’accès aux projets ou aux solutions
. Optionnel. Utilisez quand .

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

Ce chemin d’accès est relatif à la racine du référentiel, quel que soit le paramètre .


chemin d’accès au ou aux projets
. Optionnel. Utilisez quand .

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

Ce chemin d’accès est relatif à la racine du référentiel, quel que soit le paramètre .


commande personnalisée
. Obligatoire lorsque .

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


arguments
. Optionnel. Utilisez quand .

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.

Actuellement, cette entrée accepte uniquement les arguments pour , , , et . Si vous souhaitez ajouter des arguments pour une commande non répertoriée, utilisez .


arguments
. Optionnel. Utilisez quand .

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


Publier les résultats des tests et la couverture du code
. Optionnel. Utilisez quand . Valeur par défaut : .

L’activation de cette option génère un fichier TRX dans , et les résultats seront publiés sur le serveur.

Pour VSTest, cette option s’ajoute aux arguments en ligne de commande. Pour Microsoft.Testing.Platform, lorsqu’il est détecté comme exécuteur de test dans , cette option s’ajoute aux arguments de la ligne de commande.

La couverture de code peut être collectée en ajoutant l’option (pour VSTest) ou (pour Microsoft.Testing.Platform) aux arguments de la ligne de commande.


titre d’exécution de test
. Optionnel. Utilisez quand .

Fournit un nom pour l’exécution de test.


projets zip publiés
. Optionnel. Utilisez quand . Valeur par défaut : .

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


Ajouter le nom du dossier du projet pour publier le chemin d’accès
. Optionnel. Utilisez quand . Valeur par défaut : .

Si cette entrée est définie sur , les dossiers créés par la commande de publication ont le nom du fichier projet précédé de 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.


flux de à utiliser
Alias d’entrée : . . Obligatoire lorsque . Valeurs autorisées : (Flux) que je sélectionne ici), (Flux dans mon NuGet.config). Valeur par défaut : .

Vous pouvez soit sélectionner un flux depuis Azure Artifacts et/ou NuGet.org ici, soit valider un fichier nuget.config dans votre dépôt de code source et définir son chemin en utilisant l’entrée nugetConfigPath.


vstsFeed - Utilisez des packages issus de ce flux Azure Artifacts. Sélectionnez dans le menu déroulant ou entrez [nom du projet/]nom du fil.
Alias d’entrée : . . Optionnel. Utilisez quand .

Inclut le flux sélectionné dans le généré. La gestion des packages doit être installée et concédée sous licence pour sélectionner un flux ici. sont utilisés pour les flux délimités par le projet. Seule est utilisée pour les flux délimités par l’organisation. Remarque : Cela n’est pas pris en charge pour la commande .


vstsFeed - Utilisez des packages issus de ce flux Azure Artifacts
Alias d’entrée : . . Optionnel. Utilisez quand .

Inclut le flux sélectionné dans le généré. La gestion des packages doit être installée et concédée sous licence pour sélectionner un flux ici. sont utilisés pour les flux délimités par le projet. Seule est utilisée pour les flux délimités par l’organisation. Remarque : Cela n’est pas pris en charge pour la commande de test.


Utiliser des packages à partir de NuGet.org
. Optionnel. Utilisez quand . Valeur par défaut : .

Inclut dans le généré.


chemin d’accès à NuGet.config
. Optionnel. Utilisez quand .

Le dans votre référentiel qui spécifie les flux à partir desquels restaurer des packages.


Informations d’identification pour les flux en dehors de cette organisation/collection
Alias d’entrée : . . Optionnel. Utilisez quand .

Nom de la connexion de service à utiliser pour les registres externes répertoriés dans l’élément sélectionné . Pour les flux au sein de la même organisation ou collection, laissez cette entrée vide ; les informations d’identification de la build sont utilisées automatiquement.


Désactiver les de cache local
. Optionnel. Utilisez quand . Valeur par défaut : .

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


répertoire de destination
Alias d’entrée : . . Optionnel. Utilisez quand .

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.


verbosity
. Optionnel. Utilisez quand . Valeurs autorisées : , , , , , . Valeur par défaut : .

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


verbosity
. Optionnel. Utilisez quand . Valeurs autorisées : , , , , , . Valeur par défaut : .

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


Chemin d’accès aux packages NuGet pour publier des
Alias d’entrée : . . Obligatoire lorsque . Valeur par défaut : .

Modèle à mettre en correspondance ou chemin d’accès à fichiers à charger. Plusieurs modèles peuvent être séparés par un point-virgule, et vous pouvez créer un modèle négatif en le préfixant avec . Exemple : .


emplacement du flux cible
. Obligatoire lorsque . Valeurs autorisées : (cette organisation/collection), (serveur NuGet externe (y compris d’autres organisations/collections)). Valeur par défaut : .

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


de flux cible
Alias d’entrée : . . Obligatoire lorsque .

Spécifie un flux hébergé dans cette organisation. La gestion des packages doit être installée et concédée sous licence pour sélectionner un flux ici.


Publier des métadonnées de pipeline
. Optionnel. Utilisez quand . Valeur par défaut : .

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


serveur NuGet
Alias d’entrée : . . Obligatoire lorsque .

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


Chemin d’accès aux fichiers csproj ou nuspec pour pack
Alias d’entrée : . . Obligatoire lorsque . Valeur par défaut : .

Modèle à rechercher ou fichiers à empaqueter.

Vous pouvez séparer plusieurs modèles avec un point-virgule, et vous pouvez créer un modèle négatif en le préfixant avec . Exemple : .


configuration de pour empaqueter
Alias d’entrée : . . Optionnel. Utilisez quand . Valeur par défaut : .

Lorsque vous utilisez un fichier , cette entrée spécifie la configuration à empaqueter.


dossier de package
Alias d’entrée : . . Optionnel. Utilisez quand . Valeur par défaut : .

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


Ne pas générer de
. Optionnel. Utilisez quand . Valeur par défaut : .

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


inclure des symboles
. Optionnel. Utilisez quand . Valeur par défaut : .

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


inclure source
. Optionnel. Utilisez quand . Valeur par défaut : .

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


de contrôle de version automatique des packages
. Obligatoire lorsque . Valeurs autorisées : , (Utiliser la date et l’heure), (Utiliser une variable d’environnement), (Utiliser le numéro de compilation), (Utiliser le numéro complet de compilation SemVer). Valeur par défaut : .

Cette tâche ne peut pas être utilisée avec des projets référencés inclus. Si vous choisissez , cela génère une version SemVer-conforme mise en forme comme où vous choisissez , et .

Si vous choisissez , 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 , utilisez le numéro de build pour versionner votre package. Remarque : Sous , définissez le format du numéro de build sur .


de contrôle de version automatique des packages
. Obligatoire lorsque . Valeurs autorisées : , (Utiliser la date et l’heure), (Utiliser une variable d’environnement), (Utiliser le numéro de build). Valeur par défaut : .

Cette tâche ne peut pas être utilisée avec des projets référencés inclus. Si vous choisissez , cela génère une version SemVer-conforme mise en forme comme où vous choisissez , et .

Si vous choisissez , 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 , utilisez le numéro de build pour versionner votre package. Remarque : Sous , définissez le format du numéro de build sur .


de variable d’environnement
. Obligatoire lorsque .

Spécifie le nom de la variable sans , ou .


principales
Alias d’entrée : . . Obligatoire lorsque . Valeur par défaut : .

La dans la version X.Y.Z.


mineure
Alias d’entrée : . . Obligatoire lorsque . Valeur par défaut : .

La dans la version X.Y.Z.


patch
Alias d’entrée : . . Obligatoire lorsque . Valeur par défaut : .

La dans la version X.Y.Z.


propriétés de build supplémentaires
. Optionnel. Utilisez quand .

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


verbosity
. Optionnel. Utilisez quand . Valeurs autorisées : , , , , , . Valeur par défaut : .

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


verbosity
. Optionnel. Utilisez quand . Valeurs autorisées : , , , , , . Valeur par défaut : .

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


répertoire de travail
. Optionnel. Utilisez quand .

Répertoire de travail actuel où le script est exécuté. est la racine du dépôt (build) ou des artefacts (version), qui est .


Définir le délai d’expiration de la demande de téléchargement de package
. Valeur par défaut : .

Fournir une valeur de délai pour les requêtes HTTP que la tâche effectue pour obtenir le package .NET. La valeur est en millisecondes. La valeur par défaut est de 3 0000 millisecondes (5 minutes). Ne peut pas être supérieur à 6 0000 millisecondes (10 minutes).


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

Important

La tâche NuGet Authenticate est la nouvelle méthode recommandée pour s’authentifier auprès de Azure Artifacts et d’autres dépôts NuGet. Les commandes restore et push de cette tâche de .NET Core CLI ne prennent plus de nouvelles fonctionnalités et seuls les bugs critiques sont corrigés.

Utiliser AzurePipelinesCredential dans les tests d’intégration

Les bibliothèques d’identité Azure pour .NET, C++, Go, Java, JavaScript et Python offrent un support pour la fédération d’identité de charge de travail, de sorte que le code exécuté à partir des tâches AzureCLI@2 et AzurePowerShell@5 peut s’authentifier avec Microsoft Entra ID (par exemple, pour accéder Azure) en utilisant la classe AzurePipelinesCredential.

De nombreux clients utilisent des bibliothèques clients Kit de développement logiciel (SDK) Azure dans des tests d’intégration invoqués à partir d’autres tâches. Les tâches DotNetCoreCLI@2, Maven@4 et VSTest@3 peuvent accéder à Azure ressources en utilisant la classe AzurePipelinesCredential.

Vous pouvez définir la propriété connectedServiceName à une connexion de service Azure configurée avec la fédération de l’identité de la charge de travail. La nécessite SYSTEM_ACCESSTOKEN être définie.

L’exemple suivant montre l’entrée sur la tâche de . et utilisation est similaire.

- task: DotNetCoreCLI@2
  inputs:
    command: 'run'
    connectedServiceName: <Azure service connection configured with workload identity federation>
  env:
    SYSTEM_ACCESSTOKEN: $(System.AccessToken)

Pour plus d’informations sur AzurePipelinesCredential, voir Améliorer la posture de sécurité dans les connexions de service Azure avec AzurePipelinesCredential.

Pourquoi l’étape de génération, de publication ou de test échoue-t-elle à restaurer des packages ?

La plupart des commandes , notamment , et incluent une étape de implicite. Cela échoue sur les flux authentifiés, même si vous avez exécuté une réussie dans 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 à la zone de texte .

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

Pourquoi est-ce que je reçois des avertissements NU1507 avec mappage de source de package même si, lors de la génération sur mon ordinateur, il n’a pas d’avertissements ?

Les différentes commandes qui effectuent une restauration NuGet ou accèdent à un flux NuGet créent un fichier de temporaire 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 utilisé par le mappage de source de package pour mapper les packages aux sources et interrompt la configuration mappin de source de package dans le fichier de votre référentiel. Pour contourner ce conflit, vous pouvez utiliser la tâche d’authentification NuGet pour authentifier et ensuite la commande personnalisée pour appeler la commande dotnet souhaitée sans 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 dois-je vérifier un NuGet.config?

La vérification d’un dans le contrôle de code source garantit qu’une partie clé des informations nécessaires pour générer votre projet ( l’emplacement de ses packages) est disponible pour chaque développeur qui extrait votre code.

Cependant, dans 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 NuGet.config global sur la machine de chaque développeur. Dans ces situations, l’utilisation de l’option dans la tâche NuGet réplique cette configuration.

Dépannage

Project using Entity Framework a cessé de fonctionner sur des agents hébergés

.NET Core ne dispose pas de cadre d’entité (EF). Vous devrez soit installer EF avant de commencer l’exécution, soit ajouter global.json au projet avec .NET version requise du SDK Core. Cela garantit que le 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 tâche à votre pipeline pour installer la version requise. Pour plus d’informations, voir Obtenir l’exécution Entity Framework Core.

Exemples

  • exemples de build
  • exemples push
  • exemples push
  • exemples Pack
  • Publier des exemples
  • exemples de restauration
  • exemples de test

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 vers un 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 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

Empaquetez 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'

Empaqueter un package de symboles

# 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
    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 référentiel

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

Exigences

Exigence Descriptif
Types de pipelines YAML, Build Classique, Version Classique
Exécutions sur Agent
demandes Aucun
fonctionnalités de Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail.
restrictions de commande Quelconque
variables settables Quelconque
Version de l’agent 2.144.0 ou version ultérieure
Catégorie de tâche Construire
Exigence Descriptif
Types de pipelines YAML, Build Classique, Version Classique
Exécutions sur Agent
demandes Aucun
fonctionnalités de Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail.
restrictions de commande Quelconque
variables settables Quelconque
Version de l’agent 2.115.0 ou version ultérieure
Catégorie de tâche Construire