Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Task, classe

 

Publication: juillet 2016

En cas de substitution dans un formulaire dérivé, fournit les fonctionnalités pour les tâches.

Espace de noms:   Microsoft.Build.Utilities
Assembly:  Microsoft.Build.Utilities.v4.0 (dans Microsoft.Build.Utilities.v4.0.dll)


public abstract class Task : ITask

NomDescription
System_CAPS_protmethodTask()

Initialise une nouvelle instance de la classe Task.

System_CAPS_protmethodTask(ResourceManager)

Initialise une nouvelle instance de la classe Task avec le TaskResources spécifié.

System_CAPS_protmethodTask(ResourceManager, String)

Initialise une nouvelle instance de la classe Task avec les TaskResources et HelpKeywordPrefix spécifiés.

NomDescription
System_CAPS_pubpropertyBuildEngine

Obtient ou définit l’instance de l’objet IBuildEngine utilisé par la tâche.

System_CAPS_pubpropertyBuildEngine2

Obtient l’instance de l’objet IBuildEngine2 utilisé par la tâche.

System_CAPS_pubpropertyBuildEngine3

Obtient l'instance de la IBuildEngine3 objet utilisé par la tâche.

System_CAPS_pubpropertyBuildEngine4

Obtient l'instance de la IBuildEngine4 objet utilisé par la tâche.

System_CAPS_protpropertyHelpKeywordPrefix

Obtient ou définit le préfixe utilisé pour composer des mots clés d’aide à partir de noms de ressources.

System_CAPS_pubpropertyHostObject

Obtient ou définit l’objet hôte associé à la tâche.

System_CAPS_pubpropertyLog

Obtient une instance d’une classe TaskLoggingHelper contenant des méthodes de journalisation des tâches.

System_CAPS_protpropertyTaskResources

Obtient ou définit les ressources spécifiques à la culture associées à la tâche.

NomDescription
System_CAPS_pubmethodEquals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.(Hérité de Object.)

System_CAPS_pubmethodExecute()

En cas de substitution dans une classe dérivée, exécute la tâche.

System_CAPS_protmethodFinalize()

Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)

System_CAPS_pubmethodGetHashCode()

Fait office de fonction de hachage par défaut.(Hérité de Object.)

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_protmethodMemberwiseClone()

Crée une copie superficielle du Object actuel.(Hérité de Object.)

System_CAPS_pubmethodToString()

Retourne une chaîne qui représente l'objet actuel.(Hérité de Object.)

Cette classe abstraite fournit des implémentations par défaut pour les méthodes et propriétés de la ITask interface.

Cette classe peut être instanciée uniquement dans un formulaire dérivé.

L’exemple suivant montre le code pour une tâche qui crée un ou plusieurs répertoires.

using System;
using System.IO;
using System.Security;
using System.Collections;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;

namespace Microsoft.Build.Tasks
{
	/*
	 * Class: MakeDir
	 *
	 * An MSBuild task that creates one or more directories.
	 *
	 */
	public class MakeDir : Task
	{
	    // The Required attribute indicates the following to MSBuild:
	    //	     - if the parameter is a scalar type, and it is not supplied, fail the build immediately
	    //	     - if the parameter is an array type, and it is not supplied, pass in an empty array
	    // In this case the parameter is an array type, so if a project fails to pass in a value for the 
            // Directories parameter, the task will get invoked, but this implementation will do nothing,
            // because the array will be empty.
		[Required]
            // Directories to create.
		public ITaskItem[] Directories
		{
			get
			{
				return directories;
			}

			set
			{
				directories = value;
			}
		}

		// The Output attribute indicates to MSBuild that the value of this property can be gathered after the
		// task has returned from Execute(), if the project has an <Output> tag under this task's element for 
		// this property.
		[Output]
		// A project may need the subset of the inputs that were actually created, so make that available here.
		public ITaskItem[] DirectoriesCreated
		{
			get
			{
				return directoriesCreated;
			}
		}

		private ITaskItem[] directories;
		private ITaskItem[] directoriesCreated;

		/// <summary>
		/// Execute is part of the Microsoft.Build.Framework.ITask interface.
		/// When it's called, any input parameters have already been set on the task's properties.
		/// It returns true or false to indicate success or failure.
		/// </summary>
		public override bool Execute()
		{
			ArrayList items = new ArrayList();
			foreach (ITaskItem directory in Directories)
			{
				// ItemSpec holds the filename or path of an Item
				if (directory.ItemSpec.Length > 0)
				{
					try
					{
						// Only log a message if we actually need to create the folder
						if (!Directory.Exists(directory.ItemSpec))
						{
							Log.LogMessage(MessageImportance.Normal, "Creating directory " + directory.ItemSpec);
							Directory.CreateDirectory(directory.ItemSpec);
						}

						// Add to the list of created directories
						items.Add(directory);
					}
					// If a directory fails to get created, log an error, but proceed with the remaining 
					// directories.
					catch (Exception ex)
					{
						if (ex is IOException
							|| ex is UnauthorizedAccessException
							|| ex is PathTooLongException
							|| ex is DirectoryNotFoundException
							|| ex is SecurityException)
						{
							Log.LogError("Error trying to create directory " + directory.ItemSpec + ". " + ex.Message);
						}
						else
						{
							throw;
						}
					}
				}
			}

			// Populate the "DirectoriesCreated" output items.
			directoriesCreated = (ITaskItem[])items.ToArray(typeof(ITaskItem));

			// Log.HasLoggedErrors is true if the task logged any errors -- even if they were logged 
			// from a task's constructor or property setter. As long as this task is written to always log an error
			// when it fails, we can reliably return HasLoggedErrors.
			return !Log.HasLoggedErrors;
		}
	}
}

.NET Framework
Disponible depuis 2.0

Tous les membres statiques (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Retour au début
Afficher: