# 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.
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. This code can include custom extension function definitions. Once the script task has executed those custom functions will be available for use in the buildfile.
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.
unzip | Extracts files from a zip file.
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.