# Task Reference

[This is preliminary documentation and subject to change.]

Task | Summary
--- | ---
al | Wraps `al.exe`, the assembly linker for the .NET Framework.
asminfo | Generates an AssemblyInfo file using the attributes given.
attrib | Changes the file attributes of a file or set of files and directories.
available | Checks if a resource is available at runtime.
aximp | Generates a Windows Forms Control that wraps ActiveX Controls defined in an OCX.
call | Calls a NAnt target in the current project.
cl | Compiles C/C++ programs using `cl.exe`, Microsoft's C/C++ compiler.
copy | Copies a file or set of files to a new file or directory.
csc | Compiles C# programs.
cvs | Executes the cvs command specified by the command attribute.
cvs-changelog | Produces an XML report that represents the cvs changes from the given start day, to a given end date.
cvs-checkout | Checks out a CVS module to the required directory.
cvs-export | Exports a cvs module in preperation for a release (i.e. the CVS version folders are not exported).
cvs-pass | Executes the cvs login command which appends or updates an entry to the specified .cvspass file.
cvs-rtag | Tags all sources in the remote repository with a given tag.
cvs-tag | Tags all local sources with the specified tag.
cvs-update | Updates a CVS module in a local working directory.
delay-sign | Signs delay-signed .NET Assemblies, or re-signs existing assemblies.
delete | Deletes a file, fileset or directory.
description | An empty task that allows a build file to contain a description.
echo | Writes a message to the build log or a specified file.
exec | Executes a system command.
fail | Exits the current build by throwing a BuildException, optionally printing additional information.
foreach | Loops over a set of items.
get | Gets a particular file from a URL source.
gunzip | Expands a file packed using GZip compression.
if | Checks the conditional attributes and executes the children if true.
ifnot | The opposite of the `if` task.
ilasm | Compiles ILASM programs.
ildasm | Disassembles any portable executable (PE) file that contains intermediate language (IL) code.
include | Includes an external build file.
jsc | Compiles JScript.NET programs.
lib | Run `lib.exe`, Microsoft's Library Manager.
license | Generates a `.licence` file from a `.licx` file.
link | Links files using `link.exe`, Microsoft's Incremental Linker.
loadfile | Load a text file into a single property.
loadtasks | Loads tasks form a given assembly or all assemblies in a given directory or <fileset>.
mail | Sends an SMTP message.
mc | Compiles messages using mc.exe, Microsoft's Win32 message compiler.
midl | This tasks allows you to run MIDL.exe.
mkdir | Creates a directory and any non-existent parent directory if necessary.
move | Moves a file or set of files to a new file or directory.
nant | Runs NAnt on a supplied build file, or a set of build files.
nantschema | Creates an XSD File for all available tasks.
ndoc | Runs NDoc V1.3.1 to create documentation.
nunit | Runs tests using the NUnit V1.0 framework.
nunit2 | Runs tests using the NUnit V2.2 framework.
property | Sets a property in the current project.
rc | Compiles resources using `rc.exe`, Microsoft's Win32 resource compiler.
readregistry | Reads a value or set of values from the Windows Registry into one or more NAnt properties.
regasm | Registers an assembly, or set of assemblies for use from COM clients.
regex | Sets project properties based on the evaluatuion of a regular expression.
regsvcs | Installs or removes .NET Services.
resgen | Converts files from one resource format to another.
script | Executes the code contained within the task.
servicecontroller | Allows a Windows service to be controlled.
setenv | Sets an environment variable or a whole collection of them. Use an empty `value` attribute to clear a variable.
sleep | A task for sleeping a specified period of time, useful when a build or deployment process requires an interval between tasks.
solution | Compiles VS.NET solutions (or sets of projects), automatically determining project dependencies from inter-project references.
style | Processes a document via XSLT.
sysinfo | Sets properties with system information.
tar | Creates a tar file from the specified filesets.
tlbexp | Exports a .NET assembly to a type library that can be used from unmanaged code (wraps Microsoft's `tlbexp.exe`).
tlbimp | Imports a type library to a .NET assembly (wraps Microsoft's `tlbimp.exe`).
touch | Touches a file or set of files -- corresponds to the Unix touch command.
tstamp | Sets properties with the current date and time.
untar | Extracts files from a tar archive.
unzip | Extracts files from a zip archive.
uptodate | Check modification dates on groups of files.
vbc | Compiles Visual Basic.NET programs.
vjc | Compiles Visual J# programs using vjc, Microsoft's J# compiler.
xmlpeek | Extracts text from an XML file at the location specified by an XPath expression.
xmlpoke | Replaces text in an XML file at the location specified by an XPath expression.
zip | Creates a zip file from the specified filesets.