NAnt.Core Used to indicate that a property should be able to be converted into a . Base class for all validator attributes. Validates the specified value. The value to be validated. The validation fails. Initializes a new instance of the class. Checks if the specified value can be converted to a . The value to be checked. cannot be converted to a . Indicates that property should be treated as a XML attribute for the task. Examples of how to specify task attributes #region Public Instance Properties [BuildAttribute("out", Required=true)] public string Output { get { return _out; } set { _out = value; } } [BuildAttribute("optimize")] [BooleanValidator()] public bool Optimize { get { return _optimize; } set { _optimize = value; } } [BuildAttribute("warnlevel")] [Int32Validator(0,4)] // limit values to 0-4 public int WarnLevel { get { return _warnLevel; } set { _warnLevel = value; } } [BuildElement("sources")] public FileSet Sources { get { return _sources; } set { _sources = value; } } #endregion Public Instance Properties #region Private Instance Fields private string _out = null; private bool _optimize = false; private int _warnLevel = 4; private FileSet _sources = new FileSet(); #endregion Private Instance Fields Initializes a new instance of the with the specified name. The name of the attribute. is . is a zero-length . Gets or sets the name of the XML attribute. The name of the XML attribute. Gets or sets a value indicating whether the attribute is required. if the attribute is required; otherwise, . The default is . Gets or sets a value indicating whether property references should be expanded. if properties should be expanded; otherwise . The default is . Used to specify how this attribute will be handled as the XML is parsed and given to the element. if XML should be processed; otherwise . The default is . Indicates that property should be treated as a XML arrayList Should only be applied to properties exposing strongly typed arrays or strongly typed collections. The XML format is like this: ]]> Indicates that the property should be treated as an XML element and further processing should be done. Should only be applied to properties exposing strongly typed arrays or strongly typed collections. The XML format is like this: ]]> Initializes a new instance of the with the specified name. The name of the attribute. is . is a zero-length . Gets or sets the name of the attribute. The name of the attribute. Gets or sets a value indicating whether the attribute is required. if the attribute is required; otherwise, . The default is . Used to specify how this element will be handled as the XML is parsed and given to the element. if XML should be processed; otherwise . The default is . Initializes a new instance of the with the specified name. The name of the attribute. is . is a zero-length . Gets or sets the type of objects that this container holds. The type of the elements that this container holds. This can be used for validation and schema generation. If not specified, the type of the elements will be determined using reflection. is . Indicates that the property should be treated as a container for a collection of build elements. Should only be applied to properties exposing strongly typed arrays or strongly typed collections. The XML format is like this: ]]> Initializes a new instance of the with the specified name and child element name. The name of the collection. The name of the child elements in the collection is . is a zero-length . The name of the child element within the collection. The name to check for in the XML of the elements in the collection. This can be used for validation and schema generation. Used to indicate that a property should be able to be converted into a . Initializes a new instance of the class. Checks if the specified value can be converted to a . The value to be checked. cannot be converted to a . Indicates that class should be treated as a NAnt element. Attach this attribute to a subclass of Element to have NAnt be able to recognize it. The name should be short but must not confict with any other element already in use. Initializes a new instance of the with the specified name. The name of the element. is . is a zero-length . Gets or sets the name of the element. The name of the element. Indicates that a property should be treated as a XML file set for the task. Initializes a new instance of the with the specified name. The name of the attribute. is . is a zero-length . Indicates that the value of the property to which the attribute is assigned, can be configured on the framework-level in the NAnt application configuration file. The following example shows a property of which the value can be configured for a specific framework in the NAnt configuration file. [FrameworkConfigurable("exename", Required=true)] public virtual string ExeName { get { return _exeName; } set { _exeName = value; } } Initializes a new instance of the with the specified attribute name. The name of the framework configuration attribute. is a . is a zero-length . Gets or sets the name of the framework configuration attribute. The name of the framework configuration attribute. Gets or sets a value indicating whether the configuration attribute is required. if the configuration attribute is required; otherwise, . The default is . Gets or sets a value indicating whether property references should be expanded. if properties should be expanded; otherwise . The default is . Indicates that the method should be exposed as a function in NAnt build files. Attach this attribute to a method of a class that derives from to have NAnt be able to recognize it. Initializes a new instance of the class with the specified name. The name of the function. is . is a zero-length . Gets or sets the name of the function. The name of the function. Indicates that class should be treated as a set of functions. Attach this attribute to a class that derives from to have NAnt be able to recognize it as containing custom functions. Initializes a new instance of the class with the specified name. The prefix used to distinguish the functions. The category of the functions. is . -or- is . is a zero-length . -or- is a zero-length . Gets or sets the category of the function set. The name of the category of the function set. This will be displayed in the user docs. Gets or sets the prefix of all functions in this function set. The prefix of the functions in this function set. Indicates that property should be able to be converted into a within the given range. Initializes a new instance of the class. Initializes a new instance of the class with the specied minimum and maximum values. The minimum value. The maximum value. Checks whether the specified value can be converted to an and whether the value lies within the range defined by the and properties. The value to be checked. cannot be converted to an . -or- is not in the range defined by and . Gets or sets the minimum value. The minimum value. The default is . Gets or sets the maximum value. The maximum value. The default is . The base of the number to validate, which must be 2, 8, 10, or 16. The base of the number to validate. The default is 10. Defines possible locations in which a task executable can be located. Locates the task executable in the current Framework directory. Locates the task executable in the current Framework SDK directory. Indicates the location that a task executable can be located in. Initializes a new instance of the with the specified location. The of the attribute. Gets or sets the of the task. The location type of the task to which the attribute is assigned. Used to indicate whether a property should allow an empty string value or not. Initializes a new instance of the class. Checks if the specified value adheres to the rules defined by the properties of the . The value to be checked. is an empty string value and is set to . Gets or sets a value indicating whether an empty string or should be a considered a valid value. if an empty string or should be considered a valid value; otherwise, . The default is . Gets or sets a regular expression. The string will be validated to determine if it matches the expression. An optional error message that can be used to better describe the regular expression error. Indicates that property should be treated as a XML attribute for the task. Examples of how to specify task attributes // task XmlType default is string [TaskAttribute("out", Required=true)] string _out = null; // assign default value here [TaskAttribute("optimize")] [BooleanValidator()] // during ExecuteTask you can safely use Convert.ToBoolean(_optimize) string _optimize = Boolean.FalseString; [TaskAttribute("warnlevel")] [Int32Validator(0,4)] // limit values to 0-4 // during ExecuteTask you can safely use Convert.ToInt32(_optimize) string _warnlevel = "0"; [BuildElement("sources")] FileSet _sources = new FileSet(); NOTE: Attribute values must be of type of string if you want to be able to have macros. The field stores the exact value during InitializeTask. Just before ExecuteTask is called NAnt will expand all the macros with the current values. Initializes a new instance of the with the specified attribute name. The name of the task attribute. is a . is a zero-length . Indicates that class should be treated as a task. Attach this attribute to a subclass of Task to have NAnt be able to recognize it. The name should be short but must not confict with any other task already in use. Initializes a new instance of the with the specified name. The name of the task. is . is a zero-length . Functions as a chainable TextReader Implements a abstraction over a TextReader that allows the class to represent either a TextReader or another ChainableReader to which it is chained. By passing a ChainableReader as a constructor paramater it is possiable to chain many ChainableReaders together. The last ChainableReader in the chain must be based on a TextReader. Models a NAnt XML element in the build file. Automatically validates attributes in the element based on attributes applied to members in derived classes. Initializes a new instance of the class. Initializes a new instance of the class from the specified element. The element that should be used to create a new instance of the class. Performs default initialization. Derived classes that wish to add custom initialization should override the method. Logs a message with the given priority. The message priority at which the specified message is to be logged. The message to be logged. The actual logging is delegated to the project. Logs a message with the given priority. The message priority at which the specified message is to be logged. The message to log, containing zero or more format items. An array containing zero or more objects to format. The actual logging is delegated to the project. Derived classes should override to this method to provide extra initialization and validation not covered by the base class. The XML node of the element to use for initialization. Copies all instance data of the to a given . Performs initialization using the given set of properties. Initializes all build attributes and child elements. Locates the XML node for the specified attribute in the project configuration node. The name of attribute for which the XML configuration node should be located. The framework to use to obtain framework specific information, or if no framework specific information should be used. The XML configuration node for the specified attribute, or if no corresponding XML node could be located. If there's a valid current framework, the configuration section for that framework will first be searched. If no corresponding configuration node can be located in that section, the framework-neutral section of the project configuration node will be searched. Returns the of the assigned to the specified . The of which the assigned should be retrieved. The assigned to the specified or a null reference is no is assigned to the . Gets or sets the parent of the element. The parent of the element. This will be the parent , , or depending on where the element is defined. Gets the name of the XML element used to initialize this element. The name of the XML element used to initialize this element. Gets or sets the to which this element belongs. The to which this element belongs. Gets the properties local to this and the . The properties local to this and the . Gets or sets the . The . The defines the current namespace scope and provides methods for looking up namespace information. Gets or sets the XML node of the element. The XML node of the element. Gets or sets the location in the build file where the element is defined. The location in the build file where the element is defined. Gets a value indicating whether the element is performing additional processing using the that was used to initialize the element. . Elements that need to perform additional processing of the that was used to initialize the element, should override this property and return . When , no build errors will be reported for unknown nested build elements. Configures an using meta-data provided by assigned attributes. Initializes a new instance of the class for the given . The for which an should be created. The to initialize the with. The to use for property expansion. The framework that the should target. is . -or- is . -or- is . Creates a child using property set/get methods. The instance that represents the property of the current class. The used to initialize the new instance. The collection of property values to use for macro expansion. The from which to obtain framework-specific information. The child. Creates an for the given . The for which an should be created. An for the given . Holds the that should be initialized. Holds the that should be used to initialize the . Holds the dictionary that should be used for property expansion. Holds the framework that should be targeted by the that we're configuring, or if there's no current target framework. Holds the names of the attributes that still need to be processed. Holds the names of the child nodes that still need to be processed. Holds the logger for the current class. Holds the cache of instances. Gets the . The . The defines the current namespace scope and provides methods for looking up namespace information. Internal interface used for setting element attributes. Makes it so all calls to Read and Peek are passed the ChainableReader passed as a parameter. ChainableReader to forward calls to Makes it so all calls to Read and Peek are passed the TextReader passed as a parameter. TextReader to forward calls to Forwards Peek calls to the TextReader or ChainableReader passed in the corresponding constructor. Character or -1 if end of stream Forwards Read calls to the TextReader or ChainableReader passed in the corresponding constructor. Character or -1 if end of stream. Closes the reader. Calls close and supresses the finalizer for the object. Gets a value indicating if the reader is backed by a stream in the chain. if the reader is backed by a stream; otherwise, . Allows a file's content to be modified while performing an operation. Called after construction and after properties are set. Allows for filter initialization. If then the filter will be used; otherwise, skipped. The default is . Opposite of . If then the filter will be executed; otherwise, skipped. The default is . Creates a new instance of the class for the specified class in the specified. The containing the . The class representing the . Gets the name of the class that can be created using this . The name of the class that can be created using this . Gets the from which the filter will be created. The containing the filter. Gets the name of the filter which the can create. The name of the task which the can create. Contains a strongly typed collection of objects. Initializes a new instance of the class. Initializes a new instance of the class with the specified instance. Initializes a new instance of the class with the specified array of instances. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new element was inserted. Adds the elements of a array to the end of the collection. The array of elements to be added to the end of the collection. Adds the elements of a to the end of the collection. The to be added to the end of the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Determines whether a for the specified task is in the collection. The name of task for which the should be located in the collection. if a for the specified task is found in the collection; otherwise, . Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. The zero-based index in at which copying begins. Retrieves the index of a specified object in the collection. The object for which the index is returned. The index of the specified . If the is not currently a member of the collection, it returns -1. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Returns an enumerator that can iterate through the collection. A for the entire collection. Removes a member from the collection. The to remove from the collection. Gets or sets the element at the specified index. The zero-based index of the element to get or set. Gets the for the specified task. The name of the filter for which the should be located in the collection. Enumerates the elements of a . Initializes a new instance of the class with the specified . The collection that should be enumerated. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Gets the current element in the collection. The current element in the collection. Represent a chain of NAnt filters that can be applied to a . A FilterChain represents a collection of one or more filters that can be appled to a such as the . In the case of the , the contents of the copied files are filtered through each filter specified in the filter chain. Filtering occurs in the order the filters are specified with filtered output of one filter feeding into another. :--------:--->:----------:--->:----------: ... :----------:--->:--------:
:.Source.:--->:.Filter 1.:--->:.Filter 2.: ... :.Filter n.:--->:.target.:
:--------:--->:----------:--->:----------: ... :----------:--->:--------:
A list of all filters that come with NAnt is available here. The following tasks support filtering with a FilterChain:
Replace all occurrences of @NOW@ with the current date/time and replace tabs with spaces in all copied files. ]]>
Provides the abstract base class for types. Should be overridden by derived classes. clones the referenced types data into the current instance. Copies all instance data of the to a given . The ID used to be referenced later. The ID to use as the reference. Gets a value indicating whether a reference to the type can be defined. Only types with an assigned to it, can be referenced. Gets the name of the datatype. The name of the datatype. Initializes all build attributes and child elements. needs to maintain the order in which the filters are specified in the build file. Used to to instantiate and return the chain of stream based filters. The that is the source of input to the filter chain. The is the first in the chain, which is based on a physical stream that feeds the chain. The last in the chain. The filters to apply. The encoding to assume when filter-copying files. The default is system's current ANSI code page. Configurator that initializes filters in the order in which they've been specified in the build file. Contains a collection of elements. Initializes a new instance of the class. Initializes a new instance of the class with the specified instance. Initializes a new instance of the class with the specified array of instances. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new element was inserted. Adds the elements of a array to the end of the collection. The array of elements to be added to the end of the collection. Adds the elements of a to the end of the collection. The to be added to the end of the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. The zero-based index in at which copying begins. Retrieves the index of a specified object in the collection. The object for which the index is returned. The index of the specified . If the is not currently a member of the collection, it returns -1. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Returns an enumerator that can iterate through the collection. A for the entire collection. Removes a member from the collection. The to remove from the collection. Gets or sets the element at the specified index. The zero-based index of the element to get or set. Enumerates the elements of a . Initializes a new instance of the class with the specified . The collection that should be enumerated. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Gets the current element in the collection. The current element in the collection. Represents a physical . That is a reader based on a stream. Used by to represent a based on a in the chain. Parses NAnt properties and expressions This filter parses any NAnt properties or expressions found in its input, inlining their values in its output. Note: Due to limitations on buffering, expressions longer than 2048 characters are not guaranteed to be expanded. Filters are intended to be used as a element of a . Replace all properties with their corresponding values. ]]> Holds data for expression expansion between input and output. Called after construction and after properties are set. Allows for filter initialization. Reads the next character applying the filter logic. Char as an int or -1 if at the end of the stream Reads the next character applying the filter logic without advancing the current position in the stream. Char as an int or -1 if at the end of the stream Moves to the next character. Refills the buffer, running our input through .) Determines whether we've passed the end of our data. Replaces all occurrences of a given string in the original input with user-supplied replacement string. This filter replaces all occurrences of a given string in the original input stream with a user-supplied replacement string. By default string comparisons are case sensitive but this can be changed by setting the optional attribute to . To use this filter specify the string to be replaced with the attribute and the string to replace it with using the attribute. Filters are intended to be used as a element of a . Replace all occurrences of "3.14" with "PI". ]]> Replace all occurrences of "string", "String", etc. with "System.String". ]]> Construct that allows this filter to be chained to the one in the parameter chainedReader. Filter that the filter will be chained to Reads the next character applying the filter logic. Char as an int or -1 if at the end of the stream Reads the next character applying the filter logic without advancing the current position in the stream. Peek currently is not supported. Char as an int or -1 if at the end of the stream. Helper function used to search for the filter's traget string. If the string is found the result is true. If the string was not found false is returned and nonMatchingChars contains the characters that were read to determine if the string is present. It is assumed the stream is positioned at the character after the first character in the target string. First character in target string Ture if the stream ended while search for the string. Characters that were read while searching for the string. Returns the next character in the stream replacing the specified character. Using the allows for the same implementation for Read and Peek Delegate to acquire the next character. (Read/Peek) Char as an int or -1 if at the end of the stream Compares to characters taking into account the _ignoreCase flag. The string to be replaced. The new value for the replaced string. Am empty string is permissible. Determines if case will be ignored. The default is . Delegate for Read and Peek. Allows the same implementation to be used for both methods. Replaces tokens in the original input with user-supplied values. This filter replaces all token surrounded by a beginning and ending token. The default beginning and ending tokens both default to '@'. The optional and attributes can be specified to change either token. By default string comparisons are case sensitive but this can be changed by setting the optional attribute to . Tokens are specified by using the element. It is possible to specify from 1 to n tokens and replacement values. Values can be any valid NAnt expression. Filters are intended to be used as a element of a . Replace all occurrences of the string @DATE@ with the value of property "TODAY". ]]> Replace all occurrences of the string <DATE> with the value of property "TODAY". ]]> Construct that allows this filter to be chained to the one in the parameter chainedReader. Filter that the filter will be chained to Reads the next character applying the filter logic. Char as an int or -1 if at the end of the stream Reads the next character applying the filter logic without advancing the current position in the stream. Peek currently is not supported. Char as an int or -1 if at the end of the stream. Initialize the filter by setting its parameters. Finds a token give that we are positioned at a beginning token character. Either a token replacement is returned or the characters that were read looking for the token. A token was not found A token was found by there is no replacement The stream ended while looking for the token Either the replacement token or the characters that were read looking for the token Returns the next character in the stream replacing the specified character. Using the allows for the same implementation for Read and Peek Delegate to acquire the next character. (Read/Peek) Char as an int or -1 if at the end of the stream Compares to characters taking into account. Marks the beginning of a token. The default is "@". Marks the end of a token. The default is "@". Tokens and replacement values. Determines if case will be ignored. The default is . Delegate for Read and Peek. Allows the same implementation to be used for both methods. Converts tabs to spaces. The filter replaces tabs in a text file with spaces. Filters are intended to be used as a element of a . Replace all tabs with four spaces. ]]> Construct that allows this filter to be chained to the one in the parameter chainedReader. Filter that the filter will be chained to Retrieves the next character with moving the position in the stream. This method is not implemented -1 if end of stream otherwise a character Retrieves the next character in the stream. -1 if end of stream otherwise a character Returns the next character in the stream replacing the specified character. Using the allows for the same implementation for Read and Peek Delegate to acquire the next character. (Read/Peek) Char as an int or -1 if at the end of the stream The number of spaces used when converting a tab. The default is "8". Delegate for Read and Peek. Allows the same implementation to be used for both methods. Functions to return information for a given assembly. Gets or sets the that this functionset will reference. The that this functionset will reference. Loads an assembly given its file name or path. The name or path of the file that contains the manifest of the assembly. The loaded assembly. is an empty . is not found, or the module you are trying to load does not specify a filename extension. is not a valid assembly. An assembly or module was loaded twice with two different evidences, or the assembly name is longer than MAX_PATH characters. Loads an assembly given the long form of its name. The long form of the assembly name. The loaded assembly. is a . is not found. Determine the location of the Microsoft Access 11 Primary Interop Assembly by loading it using its fully qualified name, and copy it to the build directory. ]]> Gets the full name of the assembly, also known as the display name. The assembly to get the full name for. The full name of the assembly, also known as the display name. Gets an for the specified assembly. The assembly to get an for. An for the specified assembly. Gets the physical location, in codebase format, of the loaded file that contains the manifest. The assembly to get the location for. The location of the specified assembly. Functions that return information about an assembly's identity. Gets the location of the assembly as a URL. The of the assembly. The location of the assembly as a URL. Gets the URI, including escape characters, that represents the codebase. The of the assembly. The URI, including escape characters, that represents the codebase. Gets the full name of the assembly, also known as the display name. The of the assembly. The full name of the assembly, also known as the display name. Output the full name of the nunit.framework assembly to the build log. ]]> Gets the simple, unencrypted name of the assembly. The of the assembly. The simple, unencrypted name of the assembly. Output the simple name of the nunit.framework assembly to the build log. ]]> Gets the version of the assembly. The of the assembly. The version of the assembly. Output the major version of the nunit.framework assembly to the build log. ]]> Gets the for a given file. The assembly file for which to get the . An object representing the given file. is an empty . does not exist. is not a valid assembly. The assembly is not added to this domain. Output the full name of the nunit.framework assembly to the build log. ]]> Converts the specified string representation of a logical value to its equivalent. A string containing the value to convert. if is equivalent to "True"; otherwise, . is not equivalent to or . Converts the specified to its equivalent string representation. A to convert. "True" if is , or "False" if is . Converts the argument to an integer. value to be converted converted to integer. The function fails with an exception when the conversion is not possible. Converts the argument to double The value to be converted. converted to double. The function fails with an exception when the conversion is not possible. Converts the argument to a string. The value to be converted. converted to string. The function fails with an exception when the conversion is not possible. Named method ConvertToString as a static ToString method would break CLS compliance. Converts the argument to a datetime. value to be converted converted to datetime. The function fails with an exception when the conversion is not possible. Converts the argument to a boolean The string value to be converted to boolean. Must be 'true' or 'false'. converted to boolean. The function fails with an exception when the conversion is not possible. Gets a that is the current local date and time on this computer. A whose value is the current date and time. Gets the year component of the specified date. The date of which to get the year component. The year, between 1 and 9999. Gets the month component of the specified date. The date of which to get the month component. The month, between 1 and 12. Gets the day of the month represented by the specified date. The date of which to get the day of the month. The day value, between 1 and 31. Gets the hour component of the specified date. The date of which to get the hour component. The hour, between 0 and 23. Gets the minute component of the specified date. The date of which to get the minute component. The minute, between 0 and 59. Gets the seconds component of the specified date. The date of which to get the seconds component. The seconds, between 0 and 59. Gets the milliseconds component of the specified date. The date of which to get the milliseconds component. The millisecond, between 0 and 999. Gets the number of ticks that represent the specified date. The date of which to get the number of ticks. The number of ticks that represent the date and time of the specified date. Gets the day of the week represented by the specified date. The date of which to get the day of the week. The day of the week, ranging from zero, indicating Sunday, to six, indicating Saturday. Gets the day of the year represented by the specified date. The date of which to get the day of the year. The day of the year, between 1 and 366. Returns the number of days in the specified month of the specified year. The year. The month (a number ranging from 1 to 12). The number of days in for the specified . is less than 1 or greater than 12. Returns an indication whether the specified year is a leap year. A 4-digit year. if is a leap year; otherwise, . Converts the specified string representation of a date and time to its equivalent. A string containing a date and time to convert. A equivalent to the date and time contained in . does not contain a valid string representation of a date and time. The for the invariant culture is used to supply formatting information about . Converts the specified to its equivalent string representation. A to convert. A string representation of formatted using the general format specifier ("G"). is formatted with the for the invariant culture. Groups a set of functions for dealing with directories. Returns the creation date and time of the specified directory. The directory for which to obtain creation date and time information. The creation date and time of the specified directory. The specified directory does not exist. is a zero-length string, contains only white space, or contains one or more invalid characters. The specified path, file name, or both exceed the system-defined maximum length. Returns the date and time the specified directory was last written to. The directory for which to obtain write date and time information. The date and time the specified directory was last written to. The specified directory does not exist. is a zero-length string, contains only white space, or contains one or more invalid characters. The specified path, file name, or both exceed the system-defined maximum length. Returns the date and time the specified directory was last accessed. The directory for which to obtain access date and time information. The date and time the specified directory was last accessed. The specified directory does not exist. is a zero-length string, contains only white space, or contains one or more invalid characters. The specified path, file name, or both exceed the system-defined maximum length. The parameter is in an invalid format. Gets the current working directory. A containing the path of the current working directory. Retrieves the parent directory of the specified path. The path for which to retrieve the parent directory. The parent directory, or an empty if is the root directory, including the root of a UNC server or share name. The directory specified by is read-only. is a zero-length string, contains only white space, or contains one or more invalid characters. The specified path, file name, or both exceed the system-defined maximum length. The specified path was not found. Copy "readme.txt" from the current working directory to its parent directory. ]]> Returns the volume information, root information, or both for the specified path. The path for which to retrieve the parent directory. A string containing the volume information, root information, or both for the specified path. is a zero-length string, contains only white space, or contains one or more invalid characters. The specified path, file name, or both exceed the system-defined maximum length. Determines whether the given path refers to an existing directory on disk. The path to test. if refers to an existing directory; otherwise, . Remove directory "test", if it exists. ]]> Converts the specified string representation of a number to its double-precision floating point number equivalent. A string containing a number to convert. A double-precision floating point number equivalent to the numeric value or symbol specified in . is not a number in a valid format. represents a number less than or greater than . The for the invariant culture is used to supply formatting information about . Converts the specified to its equivalent string representation. A to convert. The string representation of formatted using the general format specifier ("G"). is formatted with the for the invariant culture. Provide information about the current environment and platform. Gets the path to the system special folder identified by the specified enumeration. An enumerated constant that identifies a system special folder. The path to the specified system special folder, if that folder physically exists on your computer; otherwise, the empty string (""). is not a member of . Copy "out.log" from the project base directory to the program files directory. ]]> Gets the NetBIOS name of this local computer. The NetBIOS name of this local computer. The name of this computer cannot be obtained. Gets an object that represents the current operating system. An object that contains the current platform identifier and version number. Output string representation of the current operating system. ]]> If the operating system is Windows 2000, the output is: Microsoft Windows NT 5.0.2195.0 Gets the user name of the person who started the current thread. The name of the person logged on to the system who started the current thread. Modify the home directory of the current user on unix-based systems. ]]> Returns the value of the specified environment variable. The environment variable of which the value should be returned. The value of the specified environment variable. Environment variable does not exist. Gets a value indicating whether the specified environment variable exists. The environment variable that should be checked. if the environment variable exists; otherwise, . Execute a set of tasks only if the "BUILD_DEBUG" environment variable is set. ... ]]> Gets a object that describes the major, minor, build, and revision numbers of the Common Language Runtime. A Version object. Output the major version of the CLR. ]]> Groups a set of functions for dealing with files. Returns the creation date and time of the specified file. The file for which to obtain creation date and time information. The creation date and time of the specified file. The specified file does not exist. is a zero-length string, contains only white space, or contains one or more invalid characters. The specified path, file name, or both exceed the system-defined maximum length. The parameter is in an invalid format. Returns the date and time the specified file was last written to. The file for which to obtain write date and time information. The date and time the specified file was last written to. The specified file does not exist. is a zero-length string, contains only white space, or contains one or more invalid characters. The specified path, file name, or both exceed the system-defined maximum length. Returns the date and time the specified file was last accessed. The file for which to obtain access date and time information. The date and time the specified file was last accessed. The specified file does not exist. is a zero-length string, contains only white space, or contains one or more invalid characters. The specified path, file name, or both exceed the system-defined maximum length. The parameter is in an invalid format. Determines whether the specified file exists. The file to check. if refers to an existing file; otherwise, . Execute a set of tasks, if file "output.xml" does not exist. ... ]]> Determines whether is more or equal up-to-date than . The file to check against the target file. The file for which we want to determine the status. if is more or equal up-to-date than ; otherwise, . or is a zero-length string, contains only white space, or contains one or more invalid characters. The specified path, file name, or both of either or exceed the system-defined maximum length. Gets the length of the file. filename Length in bytes, of the file named . The file specified cannot be found. Checks if a given file is an assembly. The name or path of the file to be checked. True if the file is a valid assembly, false if it's not or if the assembly seems corrupted (invalid headers or metadata). is a null . is an empty . is not found, or the file you are trying to check does not specify a filename extension. The caller does not have path discovery permission. Functions that provide version information for a physical file on disk. Returns a representing the version information associated with the specified file. The file to retrieve the version information for. A containing information about the file. The file specified cannot be found. Gets the name of the company that produced the file. A instance containing version information about a file. The name of the company that produced the file. Gets the file version of a file. A instance containing version information about a file. The file version of a file. Gets the name of the product the file is distributed with. A instance containing version information about a file. The name of the product the file is distributed with. Gets the product version of a file. A instance containing version information about a file. The product version of a file. Converts the specified string representation of a number to its 32-bit signed integer equivalent. A string containing a number to convert. A 32-bit signed integer equivalent to the number contained in . is not of the correct format. represents a number less than or greater than . The for the invariant culture is used to supply formatting information about . Converts the specified to its equivalent string representation. A to convert. The string representation of , consisting of a negative sign if the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes. is formatted with the for the invariant culture. Converts the specified string representation of a number to its 64-bit signed integer equivalent. A string containing a number to convert. A 64-bit signed integer equivalent to the number contained in . is not of the correct format. represents a number less than or greater than . The for the invariant culture is used to supply formatting information about . Converts the specified to its equivalent string representation. A to convert. The string representation of , consisting of a negative sign if the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes. is formatted with the for the invariant culture. Rounds the value to the nearest whole number Number to be rounded, can be anything convertible to a double. Rounded value. Returns the largest whole number less than or equal to the specified number. value to be , can be anything convertible to a double The largest whole number less than or equal to the specified number. Returns the smallest whole number greater than or equal to the specified number value The smallest whole number greater than or equal to the specified number. Returns the absolute value of the specified number value to take the absolute value from when is greater than or equal to zero; otherwise, -. Gets the base directory of the appdomain in which NAnt is running. The base directory of the appdomain in which NAnt is running. Gets the NAnt assembly. The NAnt assembly. Gets the name of the current project. The name of the current project, or an empty if no name is specified in the build file. Gets the form of the build file. The form of the build file, or an empty if the project is not file backed. Gets the local path to the build file. The local path of the build file, or an empty if the project is not file backed. Gets the name of the target that will be executed when no other build targets are specified. The name of the target that will be executed when no other build targets are specified, or an empty if no default target is defined for the project. Gets the base directory of the current project. The base directory of the current project. Checks whether the specified target exists. The target to test. if the specified target exists; otherwise, . Execute target "clean", if it exists. ]]> Gets the name of the target being executed. A that contains the name of the target being executed. No target is being executed. Checks whether the specified target has already been executed. The target to test. if the specified target has already been executed; otherwise, . Target does not exist. Checks whether the specified task exists. The task to test. if the specified task exists; otherwise, . Returns the from which the specified task was loaded. The name of the task to get the of. The from which the specified task was loaded. Task is not available. Checks whether the specified property exists. The property to test. if the specified property exists; otherwise, . Execute a set of tasks if the "build.debug" property exists. ]]> Checks whether the specified property is read-only. The property to test. if the specified property is read-only; otherwise, . Check whether the "debug" property is read-only. property::is-readonly('debug') Property has not been set. Checks whether the specified property is a dynamic property. The property to test. if the specified property is a dynamic property; otherwise, . Property has not been set. Check whether the "debug" property is a dynamic property. property::is-dynamic('debug') Checks whether the specified framework exists. The framework to test. if the specified framework exists; otherwise, . Checks whether the SDK for the specified framework is installed. The framework to test. if the SDK for specified framework is installed; otherwise, . Gets the identifier of the current target framework. The identifier of the current target framework. Gets the identifier of the runtime framework. The identifier of the runtime framework. Gets the family of the specified framework. The framework of which the family should be returned. The family of the specified framework. is not a valid framework identifier. Gets the version of the specified framework. The framework of which the version should be returned. The version of the specified framework. is not a valid framework identifier. Gets the description of the specified framework. The framework of which the description should be returned. The description of the specified framework. is not a valid framework identifier. Gets the Common Language Runtime version of the specified framework. The framework of which the Common Language Runtime version should be returned. The Common Language Runtime version of the specified framework. is not a valid framework identifier. Gets the framework directory of the specified framework. The framework of which the framework directory should be returned. The framework directory of the specified framework. is not a valid framework identifier. Gets the assembly directory of the specified framework. The framework of which the assembly directory should be returned. The assembly directory of the specified framework. is not a valid framework identifier. Gets the SDK directory of the specified framework. The framework of which the SDK directory should be returned. The SDK directory of the specified framework, or an empty if the SDK of the specified framework is not installed. is not a valid framework identifier. Gets the runtime engine of the specified framework. The framework of which the runtime engine should be returned. The full path to the runtime engine of the specified framework, or an empty if no runtime engine is defined for the specified framework. is not a valid framework identifier. Checks whether the specified framework is valid. The framework to check. is not a valid framework identifier. Gets the name of the platform on which NAnt is running. The name of the platform on which NAnt is running. Checks whether NAnt is running on the win32 platform. if NAnt is running on the win32 platform; otherwise, . Checks whether NAnt is running on unix. if NAnt is running on unix; otherwise, . Functions that return information about an operating system. Gets a value that identifies the operating system platform. The operating system. value that identifies the operating system platform. Gets a object that identifies this operating system. The operating system. A object that describes the major version, minor version, build, and revision of the operating system. Converts the value of the specified operating system to its equivalent representation. The operating system. The representation of . Output string representation of the current operating system. ]]> If the operating system is Windows 2000, the output is: Microsoft Windows NT 5.0.2195.0 Returns the fully qualified path. The file or directory for which to obtain absolute path information. A string containing the fully qualified location of , such as "C:\MyFile.txt". is a zero-length string, contains only white space, or contains one or more invalid characters. contains a colon (":"). The specified path, file name, or both exceed the system-defined maximum length. Combines two paths. first path second path A string containing the combined paths. If one of the specified paths is a zero-length string, this method returns the other path. If contains an absolute path, this method returns . or contain one or more invalid characters. Changes the extension of the path string. The path information to modify. The path cannot contain any of the characters defined in InvalidPathChars. The new extension (with a leading period). Specify a null reference to remove an existing extension from . A string containing the modified path information. On Windows-based desktop platforms, if is an empty , the path information is returned unmodified. If has no extension, the returned path contains appended to the end of . For more information see the documentation. contains one or more invalid characters. Returns the directory information for the specified path string. The path of a file or directory. A containing directory information for , or an empty if denotes a root directory, or does not contain directory information. contains invalid characters, is empty, or contains only white spaces. Returns the extension for the specified path string. The path string from which to get the extension. A containing the extension of the specified (including the "."), or an empty if does not have extension information. contains one or more invalid characters. Returns the filename for the specified path string. The path string from which to obtain the file name and extension. A consisting of the characters after the last directory character in path. If the last character of is a directory or volume separator character, an empty is returned. contains one or more invalid characters. Returns the filename without extension for the specified path string. The path of the file. A containing the returned by , minus the last period (.) and all characters following it. contains one or more invalid characters. Gets the root directory of the specified path. The path from which to obtain root directory information. A containing the root directory of , such as "C:\", or an empty if does not contain root directory information. contains invalid characters, or is empty. Returns a uniquely named zero-byte temporary file on disk and returns the full path to that file. A containing the name of the temporary file. Gets the path to the temporary directory. A containing the path information of a temporary directory. Determines whether a path string includes an extension. The path to search for an extension. . if the characters that follow the last directory separator or volume separator in the include a period (.) followed by one or more characters; otherwise, . contains one or more invalid characters. Determines whether a path string is absolute. The path to test. if path contains an absolute ; otherwise, . contains one or more invalid characters. Gets the value of a variable for the specified package. The package for which the variable should be retrieved. The name of the variable. The value of variable for the specified package. pkg-config could not be started. does not exist. Gets the link flags required to compile the package, including all its dependencies. The package for which the link flags should be retrieved. The link flags required to compile the package. pkg-config could not be started. does not exist. Gets the compile flags required to compile the package, including all its dependencies. The package for which the compile flags should be retrieved. The pre-processor and compile flags required to compile the package. pkg-config could not be started. does not exist. Determines the version of the given package. The package to get the version of. The version of the given package. pkg-config could not be started. does not exist. Determines whether the given package is at least version . The package to check. The version the package should at least have. if the given package is at least version ; otherwise, . pkg-config could not be started. Determines whether the given package is exactly version . The package to check. The version the package should have. if the given package is exactly version ; otherwise, . pkg-config could not be started. Determines whether the given package is at no newer than version . The package to check. The version the package should maximum have. if the given package is at no newer than version ; otherwise, . pkg-config could not be started. Determines whether the given package is between two versions. The package to check. The version the package should at least have. The version the package should maximum have. if the given package is between and ; otherwise, . pkg-config could not be started. Determines whether the given package exists. The package to check. if the package exists; otherwise, . pkg-config could not be started. Runs pkg-config with the specified arguments and returns a based on the exit code. The arguments to pass to pkg-config. if pkg-config exited with exit code 0; otherwise, Runs pkg-config with the specified arguments and returns the result as a . The arguments to pass to pkg-config. The result of running pkg-config with the specified arguments. Factory method to return a new instance of ExecTask Returns the length of the specified string. input string The string's length. string::get-length('foo') ==> 3 string::get-length('') ==> 0 Returns a substring of the specified string. input string position of the start of the substring the length of the substring If the is greater than zero, the function returns a substring starting at character position with a length of characters. If the is equal to zero, the function returns an empty string. or is less than zero. is greater than the length of . plus indicates a position not within . string::substring('testing string', 0, 4) ==> 'test' string::substring('testing string', 8, 3) ==> 'str' string::substring('testing string', 8, 0) ==> '' string::substring('testing string', -1, 5) ==> ERROR string::substring('testing string', 8, -1) ==> ERROR string::substring('testing string', 5, 17) ==> ERROR Tests whether the specified string starts with the specified prefix string. test string prefix string when is a prefix for the string . Meaning, the characters at the beginning of are identical to ; otherwise, . This function performs a case-sensitive word search using the invariant culture. string::starts-with('testing string', 'test') ==> true string::starts-with('testing string', 'testing') ==> true string::starts-with('testing string', 'string') ==> false string::starts-with('test', 'testing string') ==> false Tests whether the specified string ends with the specified suffix string. test string suffix string when is a suffix for the string . Meaning, the characters at the end of are identical to ; otherwise, . This function performs a case-sensitive word search using the invariant culture. string::ends-with('testing string', 'string') ==> true string::ends-with('testing string', '') ==> true string::ends-with('testing string', 'bring') ==> false string::ends-with('string', 'testing string') ==> false Returns the specified string converted to lowercase. input string The string in lowercase. The casing rules of the invariant culture are used to convert the to lowercase. string::to-lower('testing string') ==> 'testing string' string::to-lower('Testing String') ==> 'testing string' string::to-lower('Test 123') ==> 'test 123' Returns the specified string converted to uppercase. input string The string in uppercase. The casing rules of the invariant culture are used to convert the to uppercase. string::to-upper('testing string') ==> 'TESTING STRING' string::to-upper('Testing String') ==> 'TESTING STRING' string::to-upper('Test 123') ==> 'TEST 123' Returns a string corresponding to the replacement of a given string with another in the specified string. input string A to be replaced. A to replace all occurrences of . A equivalent to but with all instances of replaced with . is an empty string. This function performs a word (case-sensitive and culture-sensitive) search to find . string::replace('testing string', 'test', 'winn') ==> 'winning string' string::replace('testing string', 'foo', 'winn') ==> 'testing string' string::replace('testing string', 'ing', '') ==> 'test str' string::replace('banana', 'ana', 'ana') ==> 'banana' Tests whether the specified string contains the given search string. The string to search. The string to locate within . if is found in ; otherwise, . This function performs a case-sensitive word search using the invariant culture. string::contains('testing string', 'test') ==> true string::contains('testing string', '') ==> true string::contains('testing string', 'Test') ==> false string::contains('testing string', 'foo') ==> false Returns the position of the first occurrence in the specified string of the given search string. The string to search. The string to locate within . The lowest-index position of in if it is found, or -1 if does not contain . If is an empty string, the return value will always be 0. This function performs a case-sensitive word search using the invariant culture. string::index-of('testing string', 'test') ==> 0 string::index-of('testing string', '') ==> 0 string::index-of('testing string', 'Test') ==> -1 string::index-of('testing string', 'ing') ==> 4 Returns the position of the last occurrence in the specified string of the given search string. The string to search. The string to locate within . The highest-index position of in if it is found, or -1 if does not contain . If is an empty string, the return value is the last index position in . This function performs a case-sensitive word search using the invariant culture. string::last-index-of('testing string', 'test') ==> 0 string::last-index-of('testing string', '') ==> 13 string::last-index-of('testing string', 'Test') ==> -1 string::last-index-of('testing string', 'ing') ==> 11 Returns the given string left-padded to the given length. The that needs to be left-padded. The number of characters in the resulting string, equal to the number of original characters plus any additional padding characters. A Unicode padding character. If the length of is at least , then a new identical to is returned. Otherwise, will be padded on the left with as many characters as needed to create a length of . is less than zero. Note that only the first character of will be used when padding the result. string::pad-left('test', 10, ' ') ==> ' test' string::pad-left('test', 10, 'test') ==> 'tttttttest' string::pad-left('test', 3, ' ') ==> 'test' string::pad-left('test', -4, ' ') ==> ERROR Returns the given string right-padded to the given length. The that needs to be right-padded. The number of characters in the resulting string, equal to the number of original characters plus any additional padding characters. A Unicode padding character. If the length of is at least , then a new identical to is returned. Otherwise, will be padded on the right with as many characters as needed to create a length of . is less than zero. Note that only the first character of will be used when padding the result. string::pad-right('test', 10, ' ') ==> 'test ' string::pad-right('test', 10, 'abcd') ==> 'testaaaaaa' string::pad-right('test', 3, ' ') ==> 'test' string::pad-right('test', -3, ' ') ==> ERROR Returns the given string trimmed of whitespace. input string The string with any leading or trailing white space characters removed. string::trim(' test ') ==> 'test' string::trim('\t\tfoo \r\n') ==> 'foo' Returns the given string trimmed of leading whitespace. input string The string with any leading whites pace characters removed. string::trim-start(' test ') ==> 'test ' string::trim-start('\t\tfoo \r\n') ==> 'foo \r\n' Returns the given string trimmed of trailing whitespace. input string The string with any trailing white space characters removed. string::trim-end(' test ') ==> ' test' string::trim-end('\t\tfoo \r\n') ==> '\t\tfoo' Returns the total number of days represented by the specified , expressed in whole and fractional days. A . The total number of days represented by the given . Returns the total number of hours represented by the specified , expressed in whole and fractional hours. A . The total number of hours represented by the given . Returns the total number of minutes represented by the specified , expressed in whole and fractional minutes. A . The total number of minutes represented by the given . Returns the total number of seconds represented by the specified , expressed in whole and fractional seconds. A . The total number of seconds represented by the given . Returns the total number of milliseconds represented by the specified , expressed in whole and fractional milliseconds. A . The total number of milliseconds represented by the given . Returns the number of whole days represented by the specified . A . The number of whole days represented by the given . Remove all files that have not been modified in the last 7 days from directory "binaries". ]]> Returns the number of whole hours represented by the specified . A . The number of whole hours represented by the given . Returns the number of whole minutes represented by the specified . A . The number of whole minutes represented by the given . Returns the number of whole seconds represented by the specified . A . The number of whole seconds represented by the given . Returns the number of whole milliseconds represented by the specified . A . The number of whole milliseconds represented by the given . Returns the number of ticks contained in the specified . A . The number of ticks contained in the given . Returns a that represents a specified number of days, where the specification is accurate to the nearest millisecond. A number of days, accurate to the nearest millisecond. A that represents . Returns a that represents a specified number of hours, where the specification is accurate to the nearest millisecond. A number of hours, accurate to the nearest millisecond. A that represents . Returns a that represents a specified number of minutes, where the specification is accurate to the nearest millisecond. A number of minutes, accurate to the nearest millisecond. A that represents . Returns a that represents a specified number of seconds, where the specification is accurate to the nearest millisecond. A number of seconds, accurate to the nearest millisecond. A that represents . Returns a that represents a specified number of milliseconds. A number of milliseconds. A that represents . Returns a that represents a specified time, where the specification is in units of ticks. A number of ticks that represent a time. A that represents . Constructs a from a time indicated by a specified string. A string. A that corresponds to . has an invalid format. At least one of the hours, minutes, or seconds components is outside its valid range. Converts the specified to its equivalent string representation. A to convert. The string representation of . The format of the return value is of the form: [-][d.]hh:mm:ss[.ff]. Gets the value of the major component of a given version. A version. The major version number. Gets the value of the minor component of a given version. A version. The minor version number. Gets the value of the build component of a given version. A version. The build number, or -1 if the build number is undefined. Gets the value of the revision component of a given version. A version. The revision number, or -1 if the revision number is undefined. Converts the specified string representation of a version to its equivalent. A string containing the major, minor, build, and revision numbers, where each number is delimited with a period character ('.'). A instance representing the specified . has fewer than two components or more than four components. A major, minor, build, or revision component is less than zero. At least one component of does not parse to a decimal integer. Converts the specified to its equivalent string representation. A to convert. The string representation of the values of the major, minor, build, and revision components of the specified . Changes the file attributes of a file or set of files and directories. does not have the concept of turning attributes off. Instead you specify all the attributes that you want turned on and the rest are turned off by default. Refer to the enumeration in the .NET SDK for more information about file attributes. Set the read-only file attribute for the specified file in the project directory. ]]> Set the normal file attribute for the specified file. ]]> Set the normal file attribute for all executable files in the current project directory and sub-directories. ]]> Provides the abstract base class for tasks. A task is a piece of code that can be executed. Executes the task unless it is skipped. Logs a message with the given priority. The message priority at which the specified message is to be logged. The message to be logged. The actual logging is delegated to the project. If the attribute is set on the task and a message is logged with level , the priority of the message will be increased to when the threshold of the build log is . This will allow individual tasks to run in verbose mode while the build log itself is still configured with threshold . The threshold of the project is not taken into account to determine whether a message should be passed to the logging infrastructure, as build listeners might be interested in receiving all messages. Logs a formatted message with the given priority. The message priority at which the specified message is to be logged. The message to log, containing zero or more format items. An array containing zero or more objects to format. The actual logging is delegated to the project. If the attribute is set on the task and a message is logged with level , the priority of the message will be increased to . when the threshold of the build log is . This will allow individual tasks to run in verbose mode while the build log itself is still configured with threshold . Determines whether build output is enabled for the given . The to check. if messages with the given should be passed on to the logging infrastructure; otherwise, . The threshold of the project is not taken into account to determine whether a message should be passed to the logging infrastructure, as build listeners might be interested in receiving all messages. Initializes the configuration of the task using configuration settings retrieved from the NAnt configuration file. TO-DO : Remove this temporary hack when a permanent solution is available for loading the default values from the configuration file if a build element is constructed from code. Deprecated (to be deleted). Initializes the task. Executes the task. Determines if task failure stops the build, or is just reported. The default is . Determines whether the task should report detailed build log messages. The default is . If then the task will be executed; otherwise, skipped. The default is . Opposite of . If then the task will be executed; otherwise, skipped. The default is . The name of the task. The prefix used when sending messages to the log. Gets or sets the log threshold for this . By default the threshold of a task is , causing no messages to be filtered in the task itself. The log threshold level for this . When the threshold of a is higher than the threshold of the , then all messages will still be delivered to the build listeners. The name of the file which will have its attributes set. This is provided as an alternate to using the task's fileset. All the matching files and directories in this fileset will have their attributes set. Set the archive attribute. The default is . Set the hidden attribute. The default is . Set the normal file attributes. This attribute is only valid if used alone. The default is . Set the read-only attribute. The default is . Set the system attribute. The default is . Checks if a resource is available at runtime. The specified property is set to if the requested resource is available at runtime, and if the resource is not available. we advise you to use the following functions instead: Function Description Determines whether the specified file exists. Determines whether the given path refers to an existing directory on disk. Checks whether the specified framework exists.. Checks whether the SDK for the specified framework is installed. Sets the myfile.present property to if the file is available on the filesystem and if the file is not available. ]]> Sets the build.dir.present property to if the directory is available on the filesystem and if the directory is not available. ]]> Sets the mono-0.21.framework.present property to if the Mono 0.21 framework is available on the current system and if the framework is not available. ]]> Sets the net-1.1.frameworksdk.present property to if the .NET 1.1 Framework SDK is available on the current system and if the SDK is not available. ]]> Executes the task. Sets the property identified by to when the resource exists and to when the resource doesn't exist. The availability of the resource could not be evaluated. Evaluates the availability of a resource. if the resource is available; otherwise, . The availability of the resource could not be evaluated. Checks if the file specified in the property is available on the filesystem. when the file exists; otherwise, . Checks if the directory specified in the property is available on the filesystem. when the directory exists; otherwise, . Checks if the framework specified in the property is available on the current system. when the framework is available; otherwise, . Checks if the SDK for the framework specified in the property is available on the current system. when the SDK for the specified framework is available; otherwise, . The resource which must be available. The type of resource which must be present. The property that must be set if the resource is available. Defines the possible resource checks. Determines whether a given file exists. Determines whether a given directory exists. Determines whether a given framework is available. Determines whether a given SDK is available. Calls a NAnt target in the current project. When the is used to execute a target, both that target and all its dependent targets will be re-executed. To avoid dependent targets from being executed more than once, two options are available: Add an "unless" attribute with value "${target::has-executed('<target name>')}" to the dependent targets. Set the attribute on the to (recommended). Call the target "build". ]]> This shows how a project could 'compile' a debug and release build using a common compile target. ]]> The parameter of the defaults to , causing the "init" target to be executed for both the "debug" and "release" build. This results in the following build log: build: init: [echo] initializing compile: [echo] compiling with debug = false init: [echo] initializing compile: [echo] compiling with debug = true BUILD SUCCEEDED If the "init" should only be executed once, set the attribute of the to . The build log would then look like this: build: init: [echo] initializing compile: [echo] compiling with debug = false compile: [echo] compiling with debug = true BUILD SUCCEEDED Executes the specified target. Makes sure the is not calling its own parent. The task XML node. NAnt target to call. Force an execute even if the target has already been executed. The default is . Execute the specified targets dependencies -- even if they have been previously executed. The default is . Copies a file or set of files to a new file or directory. Files are only copied if the source file is newer than the destination file, or if the destination file does not exist. However, you can explicitly overwrite files with the attribute. When a is used to select files to copy, the attribute must be set. Files that are located under the base directory of the will be copied to a directory under the destination directory matching the path relative to the base directory of the , unless the attribute is set to . Files that are not located under the the base directory of the will be copied directly under to the destination directory, regardless of the value of the attribute.

Encoding

Unless an encoding is specified, the encoding associated with the system's current ANSI code page is used. An UTF-8, little-endian Unicode, and big-endian Unicode encoded text file is automatically recognized, if the file starts with the appropriate byte order marks. If you employ filters in your copy operation, you should limit the copy to text files. Binary files will be corrupted by the copy operation.
Copy a single file while changing its encoding from "latin1" to "utf-8". ]]> Copy a set of files to a new directory. ]]> Copy a set of files to a directory, replacing @TITLE@ with "Foo Bar" in all files. ]]>
Initialize new instance of the . Checks whether the task is initialized with valid attributes. The used to initialize the task. Executes the Copy task. A file that has to be copied does not exist or could not be copied. Actually does the file copies. The file to copy. The file to copy to. The directory to copy to. Overwrite existing files even if the destination files are newer. The default is . Ignore directory structure of source directory, copy all files into a single directory, specified by the attribute. The default is . Copy any empty directories included in the . The default is . Used to select the files to copy. To use a , the attribute must be set. Chain of filters used to alter the file's content as it is copied. The encoding to use when reading files. The default is the system's current ANSI code page. The encoding to use when writing the files. The default is the encoding of the input file. The set of files to perform a file operation on. The key of the is the absolute path of the destination file and the value is a holding the path and last write time of the most recently updated source file that is selected to be copied or moved to the destination file. On Windows, the is case-insensitive. Holds the absolute paths and last write time of a given file. Initializes a new instance of the class for the specified file and last write time. The absolute path of the file. The last write time of the file. Gets the absolute path of the current file. The absolute path of the current file. Gets the time when the current file was last written to. The time when the current file was last written to. Deletes a file, fileset or directory. Deletes either a single file, all files in a specified directory and its sub-directories, or a set of files specified by one or more filesets. If the or attribute is set then the fileset contents will be ignored. To delete the files in the fileset ommit the and attributes in the <delete> element. If the specified file or directory does not exist, no error is reported. Read-only files cannot be deleted. Use the first to remove the read-only attribute. Delete a single file. ]]> Delete a directory and the contents within. If the directory does not exist, no error is reported. ]]> Delete a set of files. ]]> Ensures the supplied attributes are valid. Xml node used to define this task instance. The file to delete. The directory to delete. Remove any empty directories included in the . The default is . All the files in the file set will be deleted. Controls whether to show the name of each deleted file or directory. The default is . An empty task that allows a build file to contain a description. Set a description. This is a description. ]]> Writes a message to the build log or a specified file. The message can be specified using the attribute or as inline content. Macros in the message will be expanded. When writing to a file, the attribute is ignored. Writes a message with level to the build log. ]]> Writes a message with expanded macro to the build log. ]]> Functionally equivalent to the previous example. Base build directory = ${nant.project.basedir} ]]> Writes the previous message to a file in the project directory, overwriting the file if it exists. Base build directory = ${nant.project.basedir} ]]> Outputs the message to the build log or the specified file. The message to output. Gets or sets the inline content that should be output. The inline content that should be output. The file to write the message to. Determines whether the should append to the file, or overwrite it. By default, the file will be overwritten. if output should be appended to the file; otherwise, . The default is . The logging level with which the message should be output. The default is . Executes a system command. Ping "nant.sourceforge.net". ]]> Execute a java application using IKVM.NET that requires the Apache FOP jars, and a set of custom jars. ]]> Assuming the base directory of the build file is "c:\ikvm-test" and the value of the "fop.dist.dir" property is "c:\fop", then the value of the -cp argument that is passed toikvm.exe is "c:\ikvm-test\conf;c:\fop\build\fop.jar;conf;c:\fop\lib\xercesImpl-2.2.1.jar;c:\fop\lib\avalon-framework-cvs-20020806.jar;c:\fop\lib\batik.jar;c:\ikvm-test\lib\mylib.jar;c:\ikvm-test\lib\otherlib.zip" on a DOS-based system. Provides the abstract base class for tasks that execute external applications. Defines the exit code that will be returned by if the process could not be started, or did not exit (in time). Will be used to ensure thread-safe operations. Starts the external process and captures its output. The external process did not finish within the configured timeout. -or- The exit code of the external process indicates a failure. Updates the of the specified . The of which the should be updated. Starts the process and handles errors. The that was started. Reads from the stream until the external program is ended. Reads from the stream until the external program is ended. Determines the path of the external program that should be executed. A fully qualifies pathname including the program name. The task is not available or not configured for the current framework. The name of the executable that should be used to launch the external program. The name of the executable that should be used to launch the external program, or if no name is specified. If available, the configured value in the NAnt configuration file will be used if no name is specified. Gets the filename of the external program to start. The filename of the external program. Override in derived classes to explicitly set the location of the external tool. Gets the command-line arguments for the external program. The command-line arguments for the external program. Gets the file to which the standard output should be redirected. The file to which the standard output should be redirected, or if the standard output should not be redirected. The default implementation will never allow the standard output to be redirected to a file. Deriving classes should override this property to change this behaviour. Gets a value indicating whether output will be appended to the . if output should be appended to the ; otherwise, . Gets the working directory for the application. The working directory for the application. The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. The command-line arguments for the external program. Specifies whether the external program should be executed using a runtime engine, if configured. The default is . if the external program should be executed using a runtime engine; otherwise, . Gets or sets the to which standard output messages of the external program will be written. The to which standard output messages of the external program will be written. By default, standard output messages wil be written to the build log with level . Gets or sets the to which error output of the external program will be written. The to which error output of the external program will be written. By default, error output wil be written to the build log with level . Gets the value that the process specified when it terminated. The code that the associated process specified when it terminated, or -1000 if the process could not be started or did not exit (in time). Gets the command-line arguments, separated by spaces. Performs additional checks after the task has been initialized. The used to initialize the task. does not hold a valid file name. Executes the external program. The program to execute without command arguments. The path will not be evaluated to a full path using the project base directory. The command-line arguments for the program. Environment variables to pass to the program. The directory in which the command will be executed. The directory in which the command will be executed. The default is the project's base directory. The working directory will be evaluated relative to the project's base directory if it is relative. The name of a property in which the exit code of the program should be stored. Only of interest if is . If the exit code of the program is "-1000" then the program could not be started, or did not exit (in time). Specifies whether the external program should be executed using a runtime engine, if configured. The default is . if the external program should be executed using a runtime engine; otherwise, . Gets the filename of the external program to start. The filename of the external program. Gets the command-line arguments for the external program. The command-line arguments for the external program. The directory the program is in. The directory the program is in. The default is the project's base directory. The basedir will be evaluated relative to the project's base directory if it is relative. The file to which the standard output will be redirected. By default, the standard output is redirected to the console. Gets or sets a value indicating whether output should be appended to the output file. The default is . if output should be appended to the ; otherwise, . Exits the current build by throwing a , optionally printing additional information. The cause of the build failure can be specified using the attribute or as inline content. Macros in the message will be expanded. Exits the current build without giving further information. ]]> Exits the current build and writes a message to the build log. ]]> Functionally equivalent to the previous example. Something wrong here. ]]> A message giving further information on why the build exited. Inline content and are mutually exclusive. Gets or sets the inline content that should be output in the build log, giving further information on why the build exited. The inline content that should be output in the build log. Inline content and are mutually exclusive. Gets a particular file from a URL source. Options include verbose reporting and timestamp based fetches. Currently, only HTTP and UNC protocols are supported. FTP support may be added when more pluggable protocols are added to the System.Net assembly. The option enables you to control downloads so that the remote file is only fetched if newer than the local copy. If there is no local copy, the download always takes place. When a file is downloaded, the timestamp of the downloaded file is set to the remote timestamp. This timestamp facility only works on downloads using the HTTP protocol. Gets the index page of the NAnt home page, and stores it in the file help/index.html relative to the project base directory. ]]> Gets the index page of a secured web site using the given credentials, while connecting using the specified password-protected proxy server. ]]> Initializes task and ensures the supplied attributes are valid. Xml node used to define this task instance. This is where the work is done Sets the timestamp of a given file to a specified time. The URL from which to retrieve a file. The file where to store the retrieved file. If inside a firewall, proxy server/port information Format: {proxy server name}:{port number} Example: proxy.mycompany.com:8080 The network proxy to use to access the Internet resource. The network credentials used for authenticating the request with the Internet resource. Log errors but don't treat as fatal. The default is . Conditionally download a file based on the timestamp of the local copy. HTTP only. The default is . The length of time, in milliseconds, until the request times out. The default is 100000 milliseconds. The security certificates to associate with the request. Checks the conditional attributes and executes the children if . If no conditions are checked, all child tasks are executed. If more than one attribute is used, they are &&'d. The first to fail stops the check. The order of condition evaluation is, , , , . instead of using the deprecated attributes, we advise you to use the following functions in combination with the attribute: Function Description Checks whether the specified property exists. Checks whether the specified target exists. Tests the value of a property using expressions. Build release configuration ]]> Tests the the output of a function. ]]> (Deprecated) Check that a target exists. ]]> (Deprecated) Check existence of a property. ]]> (Deprecated) Check that a property value is true. ]]> (Deprecated) Check that a property exists and is (uses multiple conditions). ]]> which is the same as ]]> (Deprecated) Check file dates. If myfile.dll is uptodate, then do stuff. ]]> or ]]> or ]]> Executes embedded tasks in the order in which they are defined. Automatically exclude build elements that are defined on the task from things that get executed, as they are evaluated normally during XML task initialization. used to initialize the container. Creates and executes the embedded (child XML nodes) elements. Skips any element defined by the host that has a defined. Gets a value indicating whether the element is performing additional processing using the that was use to initialize the element. , as a is responsable for creating tasks from the nested build elements. The file to compare if uptodate. The file to check against for the uptodate file. The that contains the comparison files for the (s) check. The that contains the uptodate files for the (s) check. Used to test whether a property is true. Used to test whether a property exists. Used to test whether a target exists. Used to test arbitrary boolean expression. The opposite of the if task. Check that a property does not exist. ]]> Check that a property value is not true. ]]> Check that a target does not exist. ]]> Includes an external build file. This task is used to break your build file into smaller chunks. You can load a partial build file and have it included into the build file. Any global (project level) tasks in the included build file are executed when this task is executed. Tasks in target elements are only executed if that target is executed. The project element attributes are ignored. This task can only be in the global (project level) section of the build file. This task can only include files from the file system. Include a task that fetches the project version from the GetProjectVersion.include build file. ]]> Used to check for recursived includes. Verifies parameters. Xml taskNode used to define this task instance. Build file to include. Load a text file into a single property. Unless an encoding is specified, the encoding associated with the system's current ANSI code page is used. An UTF-8, little-endian Unicode, and big-endian Unicode encoded text file is automatically recognized, if the file starts with the appropriate byte order marks. Load file message.txt into property "message". ]]> Load a file using the "latin-1" encoding. ]]> Load a file, replacing all @NOW@ tokens with the current date/time. ]]> The file to load. The name of the property to save the content to. The encoding to use when loading the file. The default is the encoding associated with the system's current ANSI code page. The filterchain definition to use. Loads tasks form a given assembly or all assemblies in a given directory or . Load tasks from a single assembly. ]]> Scan a single directory for task assemblies. ]]> Use a containing both a directory and an assembly. ]]> Executes the Load Tasks task. Specified assembly or path does not exist. Validates the attributes. Both and are set. An assembly to load tasks from. A directory to scan for task assemblies. Used to select which directories or individual assemblies to scan. Loops over a set of items. Can loop over files in directory, lines in a file, etc. The property value is stored before the loop is done, and restored when the loop is finished. The property is returned to its normal value once it is used. Read-only parameters cannot be overridden in this loop. Loops over the files in c:\. ]]> Loops over all files in the project directory. ]]> Loops over the folders in c:\. ]]> Loops over all folders in the project directory. ]]> Loops over a list. ]]> Loops over lines in the file properties.csv, where each line is of the format name,value. ]]> The NAnt property name(s) that should be used for the current iterated item. If specifying multiple properties, separate them with a comma. The type of iteration that should be done. The type of whitespace trimming that should be done. The default is . The source of the iteration. The deliminator char. Stuff to operate in. Just like the attribute, but supports more complicated things like a and such. Please remove the attribute if you are using this element. Tasks to execute for each matching item. Do not remove any white space characters. Remove all white space characters from the end of the current item. Remove all white space characters from the beginning of the current item. Remove all white space characters from the beginning and end of the current item. Sends an SMTP message. Text and text files to include in the message body may be specified as well as binary attachments. Sends an email from nant@sourceforge.net to three recipients with a subject about the attachments. The body of the message will be the combined contents of all .txt files in the base directory. All zip files in the base directory will be included as attachments. The message will be sent using the smtpserver.anywhere.com SMTP server. ]]> Initializes task and ensures the supplied attributes are valid. Xml node used to define this task instance. This is where the work is done. Reads a text file and returns the content in a string. The file to read content of. The content of the specified file. Email address of sender. Semicolon-separated list of recipient email addresses. Semicolon-separated list of CC: recipient email addresses. Semicolon-separated list of BCC: recipient email addresses. Host name of mail server. The default is localhost. Text to send in body of email message. Text to send in subject line of email message. Format of the message. The default is . Files that are transmitted as part of the body of the email message. Attachments that are transmitted with the message. Creates a directory and any non-existent parent directory if necessary. Create the directory build. ]]> Create the directory tree one/two/three. ]]> Creates the directory specified by the property. The directory could not be created. The directory to create. Moves a file or set of files to a new file or directory. Files are only moved if the source file is newer than the destination file, or if the destination file does not exist. However, you can explicitly overwrite files with the attribute. A can be used to select files to move. To use a , the attribute must be set.

Encoding

Unless an encoding is specified, the encoding associated with the system's current ANSI code page is used. An UTF-8, little-endian Unicode, and big-endian Unicode encoded text file is automatically recognized, if the file starts with the appropriate byte order marks. If you employ filters in your move operation, you should limit the move to text files. Binary files will be corrupted by the move operation.
Move a single file while changing its encoding from "latin1" to "utf-8". ]]> Move a set of files. ]]> Move a set of files to a directory, replacing @TITLE@ with "Foo Bar" in all files. ]]>
Actually does the file moves. The file to move. The file to move to. The directory to move to. Used to select the files to move. To use a , the attribute must be set. Ignore directory structure of source directory, move all files into a single directory, specified by the attribute. The default is . Chain of filters used to alter the file's content as it is moved. Creates an XSD File for all available tasks. This can be used in conjuntion with the command-line option to do XSD Schema validation on the build file. Creates a NAnt.xsd file in the current project directory. ]]> Creates a NAnt Schema for given types The output stream to save the schema to. If , writing is ignored, no exception generated. The list of tasks to generate XML Schema for. The list of datatypes to generate XML Schema for. The target namespace to output. The new NAnt Schema. Creates a new instance. The name of the attribute. Value indicating whether the attribute should be required. The new instance. Creates a new instance. The minimum value to allow for this choice The maximum value to allow, Decimal.MaxValue sets it to 'unbound' The new instance. The name of the output file to which the XSD should be written. The target namespace for the output. Defaults to "http://tempuri.org/nant-donotuse.xsd" The for which an XSD should be created. If not specified, an XSD will be created for all available tasks. Creates a new instance of the class. Tasks for which a schema should be generated. Data Types for which a schema should be generated. The namespace to use. http://tempuri.org/nant.xsd Runs NAnt on a supplied build file, or a set of build files. By default, all the properties of the current project will be available in the new project. Alternatively, you can set to to not copy any properties to the new project. You can also set properties in the new project from the old project by using nested property tags. These properties are always passed to the new project regardless of the setting of . This allows you to parameterize your subprojects. References to data types can also be passed to the new project, but by default they are not. If you set the to , all references will be copied. Build a project located in a different directory if the debug property is not . ]]> Build a project while adding a set of properties to that project. ]]> Build all projects named default.build located anywhere under the project base directory. ]]> Validates the element. The XML node of the task to use for initialization. The build file to build. The target to execute. To specify more than one target seperate targets with a space. Targets are executed in order if possible. The default is to use target specified in the project's default attribute. Used to specify a set of build files to process. Specifies whether current property values should be inherited by the executed project. The default is . Specifies whether all references will be copied to the new project. The default is . Specifies a collection of properties that should be created in the executed project. Note, existing properties with identical names that are not read-only will be overwritten. Sets a property in the current project. NAnt uses a number of predefined properties. Define a debug property with value . ]]> Use the user-defined debug property. ]]> Define a read-only property. This is just like passing in the param on the command line. ]]> Define a property, but do not overwrite the value if the property already exists (eg. it was specified on the command line). ]]> Executing this build file with the command line option -D:debug=false, would cause the value specified on the command line to remain unaltered. The name of the NAnt property to set. The value to assign to the NAnt property. Specifies whether the property is read-only or not. The default is . Specifies whether references to other properties should not be expanded when the value of the property is set, but expanded when the property is actually used. By default, properties will be expanded when set. Specifies whether the value of a property should be overwritten if the property already exists (unless the property is read-only). The default is . Sets project properties based on the evaluatuion of a regular expression. The attribute must contain one or more named grouping constructs, which represents the names of the properties to be set. These named grouping constructs can be enclosed by angle brackets (?<name>) or single quotes (?'name'). In the build file, use the XML element to specify <, and to specify >. The named grouping construct must not contain any punctuation and it cannot begin with a number. Find the last word in the given string and stores it in the property lastword. ]]> Split the full filename and extension of a filename. ]]> Split the path and the filename. (This checks for / or \ as the path separator). ]]> Results in path=d:\Temp\SomeDir\SomeDir\ and file=bla.xml. Executes the task. Represents the regular expression to be evalued. The regular expression to be evalued. The pattern must contain one or more named constructs, which may not contain any punctuation and cannot begin with a number. A comma separated list of options to pass to the regex engine. The default is . Represents the input for the regular expression. The input for the regular expression. Sets an environment variable or a whole collection of them. Use an empty attribute to clear a variable. Variables will be set for the current NAnt process and all child processes that NAnt spawns (compilers, shell tools, etc). If the intention is to only set a variable for a single child process, then using the and its nested element might be a better option. Expansion of inline environment variables is performed using the syntax of the current platform. So on Windows platforms using the string %PATH% in the attribute will result in the value of the PATH variable being expanded in place before the variable is set. Set the MONO_PATH environment variable on a *nix platform. ]]> Set a collection of environment variables. Note the nested variable used to set var3. ]]> Set environment variables using nested path elements. ]]> Win32 DllImport for the SetEnvironmentVariable function. *nix dllimport for the setenv function. Checks whether the task is initialized with valid attributes. Set the environment variables Do the actual work here. The name of the environment variable. The value of the environment variable. The name of a single Environment variable to set The literal value for the environment variable. The value for a file-based environment variable. NAnt will convert it to an absolute filename. The value for a directory-based environment variable. NAnt will convert it to an absolute path. The value for a PATH like environment variable. You can use : or ; as path separators and NAnt will convert it to the platform's local conventions. A task for sleeping a specified period of time, useful when a build or deployment process requires an interval between tasks. Sleep 1 hour, 2 minutes, 3 seconds and 4 milliseconds. ]]> Sleep 123 milliseconds. ]]> Verify parameters. taskNode used to define this task instance Return time to sleep. Sleeps for the specified number of milliseconds. Number of milliseconds to sleep. Hours to add to the sleep time. Minutes to add to the sleep time. Seconds to add to the sleep time. Milliseconds to add to the sleep time. Processes a document via XSLT. Create a report in HTML. ]]> Create a report in HTML, with a param. ]]> Create a report in HTML, with a expanded param. ]]> Create some code based on a directory of templates. ]]> Directory in which to store the results. The default is the project base directory. Desired file extension to be used for the targets. The default is html. URI or path that points to the stylesheet to use. If given as path, it can be relative to the project's basedir or absolute. Specifies a single XML document to be styled. Should be used with the attribute. Specifies the output name for the styled result from the attribute. Specifies a group of input files to which to apply the stylesheet. XSLT parameters to be passed to the XSLT transformation. XSLT extension objects to be passed to the XSLT transformation. The network proxy to use to access the Internet resource. Sets properties with system information. Sets a number of properties with information about the system environment. The intent of this task is for nightly build logs to have a record of system information so that the build was performed on. Property Value <>.clr.version Common Language Runtime version number. <>.env.* Environment variables (e.g., <>.env.PATH). <>.os.platform Operating system platform ID. <>.os.version Operating system version. <>.os Operating system version string. <>.os.folder.applicationdata The directory that serves as a common repository for application-specific data for the current roaming user. <>.os.folder.commonapplicationdata The directory that serves as a common repository for application-specific data that is used by all users. <>.os.folder.commonprogramfiles The directory for components that are shared across applications. <>.os.folder.desktopdirectory The directory used to physically store file objects on the desktop. Do not confuse this directory with the desktop folder itself, which is a virtual folder. <>.os.folder.programfiles The Program Files directory. <>.os.folder.system The System directory. <>.os.folder.temp The temporary directory. When the name of an environment variable is not a valid property name, the task will fail. In that case, set to to allow that environment variable to be skipped. we advise you to use the following functions instead: Function Description Gets a object that identifies this operating system. Gets the path to a system special folder. Returns the value of a environment variable. Gets the path to the temporary directory. Gets the Common Language Runtime version. Register the properties with the default property prefix. ]]> Register the properties without a prefix. ]]> Register properties and display a summary. ]]> The string to prefix the property names with. The default is "sys.". Sets properties with the current date and time. By default the displays the current date and time and sets the following properties: tstamp.date to yyyyMMdd tstamp.time to HHmm tstamp.now using the default DateTime.ToString() method To set an additional property with a custom date/time use the and attributes. To set a number of additional properties with the exact same date and time use the nested element (see example). The date and time string displayed by the uses the computer's default long date and time string format. You might consider setting these to the ISO 8601 standard for date and time notation. Set the build.date property. ]]> Set a number of properties for Ant like compatibility. ]]> The property to receive the date/time string in the given pattern. The date/time pattern to be used. The following table lists the standard format characters for each standard pattern. The format characters are case-sensitive; for example, 'g' and 'G' represent slightly different patterns. Format Character Description Example Format Pattern (en-US) dMM/dd/yyyy Ddddd, dd MMMM yyyy fdddd, dd MMMM yyyy HH:mm Fdddd, dd MMMM yyyy HH:mm:ss gMM/dd/yyyy HH:mm GMM/dd/yyyy HH:mm:ss m, MMMMM dd r, Rddd, dd MMM yyyy HH':'mm':'ss 'GMT' syyyy'-'MM'-'dd'T'HH':'mm':'ss tHH:mm THH:mm:ss uyyyy'-'MM'-'dd HH':'mm':'ss'Z' Udddd, dd MMMM yyyy HH:mm:ss y, Yyyyy MMMM The following table lists the patterns that can be combined to construct custom patterns. The patterns are case-sensitive; for example, "MM" is recognized, but "mm" is not. If the custom pattern contains white-space characters or characters enclosed in single quotation marks, the output string will also contain those characters. Characters not defined as part of a format pattern or as format characters are reproduced literally. Format Pattern Description dThe day of the month. Single-digit days will not have a leading zero. ddThe day of the month. Single-digit days will have a leading zero. dddThe abbreviated name of the day of the week. ddddThe full name of the day of the week. MThe numeric month. Single-digit months will not have a leading zero. MMThe numeric month. Single-digit months will have a leading zero. MMMThe abbreviated name of the month. MMMMThe full name of the month. yThe year without the century. If the year without the century is less than 10, the year is displayed with no leading zero. yyThe year without the century. If the year without the century is less than 10, the year is displayed with a leading zero. yyyyThe year in four digits, including the century. ggThe period or era. This pattern is ignored if the date to be formatted does not have an associated period or era string. hThe hour in a 12-hour clock. Single-digit hours will not have a leading zero. hhThe hour in a 12-hour clock. Single-digit hours will have a leading zero. HThe hour in a 24-hour clock. Single-digit hours will not have a leading zero. HHThe hour in a 24-hour clock. Single-digit hours will have a leading zero. mThe minute. Single-digit minutes will not have a leading zero. mmThe minute. Single-digit minutes will have a leading zero. sThe second. Single-digit seconds will not have a leading zero. ssThe second. Single-digit seconds will have a leading zero. fThe fraction of a second in single-digit precision. The remaining digits are truncated. ffThe fraction of a second in double-digit precision. The remaining digits are truncated. fffThe fraction of a second in three-digit precision. The remaining digits are truncated. ffffThe fraction of a second in four-digit precision. The remaining digits are truncated. fffffThe fraction of a second in five-digit precision. The remaining digits are truncated. ffffffThe fraction of a second in six-digit precision. The remaining digits are truncated. fffffffThe fraction of a second in seven-digit precision. The remaining digits are truncated. tThe first character in the AM/PM designator. ttThe AM/PM designator. zThe time zone offset ("+" or "-" followed by the hour only). Single-digit hours will not have a leading zero. For example, Pacific Standard Time is "-8". zzThe time zone offset ("+" or "-" followed by the hour only). Single-digit hours will have a leading zero. For example, Pacific Standard Time is "-08". zzzThe full time zone offset ("+" or "-" followed by the hour and minutes). Single-digit hours and minutes will have leading zeros. For example, Pacific Standard Time is "-08:00". :The default time separator. /The default date separator. \ cPattern Where c is any character. Displays the character literally. To display the backslash character, use "\\". Touches a file or set of files -- corresponds to the Unix touch command. If the file specified does not exist, the task will create it. Touch the Main.cs file. The current time is used. ]]> Touch all executable files in the project base directory and its subdirectories. ]]> Ensures the supplied attributes are valid. Xml node used to define this task instance. The file to touch. Specifies the new modification time of the file(s) in milliseconds since midnight Jan 1 1970. Specifies the new modification time of the file in the format MM/DD/YYYY HH:MM:SS. Used to select files that should be touched. Check modification dates on groups of files. If all are same or newer than all , the specified property is set to , otherwise it is set to . Check file dates. If myfile.dll is same or newer than myfile.cs, then set myfile.dll.uptodate property to either or . ]]> Property that will be set to or depending on the result of the date check. The that contains list of source files. The that contains list of target files. Extracts text from an XML file at the location specified by an XPath expression. If the XPath expression specifies multiple nodes the node index is used to determine which of the nodes' text is returned. The example provided assumes that the following XML file (App.config) exists in the current build directory. ]]> The example will read the server value from the above configuration file. ]]> Executes the XML peek task. Loads an XML document from a file on disk. The file name of the file to load the XML document from. A document containing the document object representing the file. Gets the contents of the node specified by the XPath expression. The XPath expression used to determine which nodes to choose from. The XML document to select the nodes from. The node index in the case where multiple nodes satisfy the expression. The contents of the node specified by the XPath expression. The name of the file that contains the XML document that is going to be peeked at. The index of the node that gets its text returned when the query returns multiple nodes. The property that receives the text representation of the XML inside the node returned from the XPath expression. The XPath expression used to select which node to read. Namespace definitions to resolve prefixes in the XPath expression. Replaces text in an XML file at the location specified by an XPath expression. The location specified by the XPath expression must exist, it will not create the parent elements for you. However, provided you have a root element you could use a series of the tasks to build the XML file up if necessary. Change the server setting in the configuration from testhost.somecompany.com to productionhost.somecompany.com. XML file: ]]> Build fragment: ]]> Modify the noNamespaceSchemaLocation in an XML file. XML file: ]]> Build fragment: ]]> Executes the XML poke task. Loads an XML document from a file on disk. The file name of the file to load the XML document from. An containing the document object model representing the file. Given an XML document and an expression, returns a list of nodes which match the expression criteria. The XPath expression used to select the nodes. The XML document that is searched. An to use for resolving namespaces for prefixes in the XPath expression. An containing references to the nodes that matched the XPath expression. Given a node list, replaces the XML within those nodes. The list of nodes to replace the contents of. The text to replace the contents with. Saves the XML document to a file. The XML document to be saved. The file name to save the XML document under. The name of the file that contains the XML document that is going to be poked. The XPath expression used to select which nodes are to be modified. The value that replaces the contents of the selected nodes. Namespace definitions to resolve prefixes in the XPath expression. Represents a command-line argument. A single command-line argument containing a space character. ]]> Two separate command-line arguments. ]]> A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems. ]]> Initializes a new instance of the class. Initializes a new instance of the class with the specified command-line argument. Initializes a new instance of the class with the given file. Initializes a new instance of the class with the given path. Returns the argument as a . The argument as a . File and individual path elements will be quoted if necessary. Quotes a command line argument if it contains a single quote or a space. The command line argument. A quoted command line argument if contains a single quote or a space; otherwise, . A single command-line argument; can contain space characters. The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. Individual parts will be replaced with the absolute path, resolved relative to the project base directory. Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used. List of command-line arguments; will be passed to the executable as is. Indicates if the argument should be passed to the external program. If then the argument will be passed; otherwise, skipped. The default is . Indicates if the argument should not be passed to the external program. If then the argument will be passed; otherwise, skipped. The default is . Gets string value corresponding with the argument. Contains a collection of elements. Initializes a new instance of the class. Initializes a new instance of the class with the specified instance. Initializes a new instance of the class with the specified array of instances. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new element was inserted. Adds the elements of a array to the end of the collection. The array of elements to be added to the end of the collection. Adds the elements of a to the end of the collection. The to be added to the end of the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Determines whether a with the specified value is in the collection. The argument value to locate in the collection. if a with value is found in the collection; otherwise, . Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. The zero-based index in at which copying begins. Retrieves the index of a specified object in the collection. The object for which the index is returned. The index of the specified . If the is not currently a member of the collection, it returns -1. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Returns an enumerator that can iterate through the collection. A for the entire collection. Removes a member from the collection. The to remove from the collection. Gets or sets the element at the specified index. The zero-based index of the element to get or set. Gets the with the specified value. The value of the to get. Enumerates the elements of a . Initializes a new instance of the class with the specified . The collection that should be enumerated. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Gets the current element in the collection. The current element in the collection. Provides credentials for password-based authentication schemes. Initializes a new instance of the class. Returns a instance representing the current . A instance representing the current , or if the credentials should not be used to provide authentication information to the external resource. The domain or computer name that verifies the credentials. The password for the user name associated with the credentials. The user name associated with the credentials. Indicates if the credentials should be used to provide authentication information to the external resource. If then the credentials will be passed; otherwise, not. The default is . Indicates if the credentials should not be used to provide authentication information to the external resource. If then the credentials will be passed; otherwise, not. The default is . A specialized used for specifying a set of directories. Hint for supporting tasks that the included directories instead of files should be used. Filesets are groups of files. These files can be found in a directory tree starting in a base directory and are matched by patterns taken from a number of patterns. Filesets can appear inside tasks that support this feature or at the project level, i.e., as children of <project>.

Patterns

As described earlier, patterns are used for the inclusion and exclusion. These patterns look very much like the patterns used in DOS and UNIX: '*' matches zero or more characters For example: *.cs matches .cs, x.cs and FooBar.cs, but not FooBar.xml (does not end with .cs). '?' matches one character For example: ?.cs matches x.cs, A.cs, but not .cs or xyz.cs (both don't have one character before .cs). Combinations of *'s and ?'s are allowed. Matching is done per-directory. This means that first the first directory in the pattern is matched against the first directory in the path to match. Then the second directory is matched, and so on. For example, when we have the pattern /?abc/*/*.cs and the path /xabc/foobar/test.cs, the first ?abc is matched with xabc, then * is matched with foobar, and finally *.cs is matched with test.cs. They all match, so the path matches the pattern. To make things a bit more flexible, we added one extra feature, which makes it possible to match multiple directory levels. This can be used to match a complete directory tree, or a file anywhere in the directory tree. To do this, ** must be used as the name of a directory. When ** is used as the name of a directory in the pattern, it matches zero or more directories. For example: /test/** matches all files/directories under /test/, such as /test/x.cs, or /test/foo/bar/xyz.html, but not /xyz.xml. There is one "shorthand" - if a pattern ends with / or \, then ** is appended. For example, mypackage/test/ is interpreted as if it were mypackage/test/**.

Default Excludes

There are a set of definitions that are excluded by default from all tasks that use filesets. They are: **/*~ **/#*# **/.#* **/%*% **/CVS **/CVS/** **/.cvsignore **/.svn **/.svn/** **/_svn **/_svn/** **/SCCS **/SCCS/** **/vssver.scc **/_vti_cnf/** If you do not want these default excludes applied, you may disable them by setting to .
Pattern Match **/CVS/* Matches all files in CVS directories that can be located anywhere in the directory tree. Matches: CVS/Repository org/apache/CVS/Entries org/apache/jakarta/tools/ant/CVS/Entries But not: org/apache/CVS/foo/bar/Entries (foo/bar/ part does not match) org/apache/jakarta/** Matches all files in the org/apache/jakarta directory tree. Matches: org/apache/jakarta/tools/ant/docs/index.html org/apache/jakarta/test.xml But not: org/apache/xyz.java (jakarta/ part is missing) org/apache/**/CVS/* Matches all files in CVS directories that are located anywhere in the directory tree under org/apache. Matches: org/apache/CVS/Entries org/apache/jakarta/tools/ant/CVS/Entries But not: org/apache/CVS/foo/bar/Entries (foo/bar/ part does not match) **/test/** Matches all files that have a test element in their path, including test as a filename.
Initializes a new instance of the class. copy constructor Creates a shallow copy of the . A shallow copy of the . Copies all instance data of the to a given . Determines if a file has a more recent last write time than the given time, or no longer exists. A file to check the last write time against. The datetime to compare against. The name of the file that has a last write time greater than or that no longer exists; otherwise, . Determines if one of the given files has a more recent last write time than the given time. If one of the given files no longer exists, the target will be considered out-of-date. A collection of filenames to check the last write time against. The datetime to compare against. The name of the first file that has a last write time greater than ; otherwise, null. When set to , causes the fileset element to throw a when no files match the includes and excludes criteria. The default is . Indicates whether default excludes should be used or not. The default is . The base of the directory of this fileset. The default is the project base directory. Gets the collection of include patterns. Gets the collection of exclude patterns. Gets the collection of files that will be added to the without pattern matching or checking if the file exists. Gets the collection of file names that match the fileset. A collection that contains the file names that match the . Gets the collection of directory names that match the fileset. A collection that contains the directory names that match the . Gets the collection of directory names that were scanned for files. A collection that contains the directory names that were scanned for files. The items to include in the fileset. The items to include in the fileset. The items to exclude from the fileset. The items to exclude from the fileset. The files from which a list of patterns or files to include should be obtained. The files from which a list of patterns or files to include should be obtained. The files from which a list of patterns or files to exclude should be obtained. Determines the most recently modified file in the fileset (by LastWriteTime of the ). The of the file that has the newest (closest to present) last write time. The pattern or file name to exclude. If then the pattern will be excluded; otherwise, skipped. The default is . Opposite of . If then the pattern will be excluded; otherwise, skipped. The default is . If then the file name will be added to the without pattern matching or checking if the file exists. The default is . If then the file will be searched for on the path. The default is . The pattern or file name to include. If then the pattern will be included; otherwise, skipped. The default is . Opposite of . If then the pattern will be included; otherwise, skipped. The default is . Gets the list of patterns in . If then the patterns will be excluded; otherwise, skipped. The default is . Opposite of . If then the patterns will be excluded; otherwise, skipped. The default is . The name of a file; each line of this file is taken to be a pattern. If then the patterns in the include file will be added to the without pattern matching or checking if the file exists. The default is . If then the patterns in the include file will be searched for on the path. The default is . If then the patterns will be included; otherwise, skipped. The default is . Opposite of . If then the patterns will be included; otherwise, skipped. The default is . Initializes a new instance of the class. Copy constructor for . Required in order to assign references of type where is used. A instance to create a from. Represents an environment variable. Initializes a instance with the specified name and value. The name of the environment variable. The value of the environment variable. Initializes a instance. The name of the environment variable. The literal value for the environment variable. The value for a file-based environment variable. NAnt will convert it to an absolute filename. The value for a directory-based environment variable. NAnt will convert it to an absolute path. The value for a PATH like environment variable. You can use : or ; as path separators and NAnt will convert it to the platform's local conventions. Sets a single environment variable and treats it like a PATH - ensures the right separator for the local platform is used. Gets the value of the environment variable. Indicates if the environment variable should be passed to the external program. If then the environment variable will be passed; otherwise, skipped. The default is . Indicates if the environment variable should not be passed to the external program. If then the environment variable will be passed; otherwise, skipped. The default is . A set of environment variables. Environment variable to pass to a program. Environment variable to pass to a program. Contains a collection of elements. Initializes a new instance of the class. Initializes a new instance of the class with the specified instance. Initializes a new instance of the class with the specified array of instances. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new element was inserted. Adds the elements of a array to the end of the collection. The array of elements to be added to the end of the collection. Adds the elements of a to the end of the collection. The to be added to the end of the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Determines whether a with the specified value is in the collection. The argument value to locate in the collection. if a with value is found in the collection; otherwise, . Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. The zero-based index in at which copying begins. Retrieves the index of a specified object in the collection. The object for which the index is returned. The index of the specified . If the is not currently a member of the collection, it returns -1. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Returns an enumerator that can iterate through the collection. A for the entire collection. Removes a member from the collection. The to remove from the collection. Gets or sets the element at the specified index. The zero-based index of the element to get or set. Gets the with the specified name. The name of the to get. Enumerates the elements of a . Initializes a new instance of the class with the specified . The collection that should be enumerated. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Gets the current element in the collection. The current element in the collection. The name of the NAnt property to set. The string pattern to use to format the property. Indicates if the formatter should be used to format the timestamp. If then the formatter will be used; otherwise, skipped. The default is . Indicates if the formatter should be not used to format the timestamp. If then the formatter will be used; otherwise, skipped. The default is . Contains a collection of elements. Initializes a new instance of the class. Initializes a new instance of the class with the specified instance. Initializes a new instance of the class with the specified array of instances. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new element was inserted. Adds the elements of a array to the end of the collection. The array of elements to be added to the end of the collection. Adds the elements of a to the end of the collection. The to be added to the end of the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. The zero-based index in at which copying begins. Retrieves the index of a specified object in the collection. The object for which the index is returned. The index of the specified . If the is not currently a member of the collection, it returns -1. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Returns an enumerator that can iterate through the collection. A for the entire collection. Removes a member from the collection. The to remove from the collection. Gets or sets the element at the specified index. The zero-based index of the element to get or set. Enumerates the elements of a . Initializes a new instance of the class with the specified . The collection that should be enumerated. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Gets the current element in the collection. The current element in the collection. Represents an option. name, value constructor Default constructor Name of the option. Value of the option. The default is . Indicates if the option should be passed to the task. If then the option will be passed; otherwise, skipped. The default is . Indicates if the option should not be passed to the task. If then the option will be passed; otherwise, skipped. The default is . Contains a collection of elements. Initializes a new instance of the class. Initializes a new instance of the class with the specified instance. Initializes a new instance of the class with the specified array of instances. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new element was inserted. Adds the elements of a array to the end of the collection. The array of elements to be added to the end of the collection. Adds the elements of a to the end of the collection. The to be added to the end of the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Determines whether a for the specified task is in the collection. The name of task for which the should be located in the collection. if a for the specified task is found in the collection; otherwise, . Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. The zero-based index in at which copying begins. Retrieves the index of a specified object in the collection. The object for which the index is returned. The index of the specified . If the is not currently a member of the collection, it returns -1. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Returns an enumerator that can iterate through the collection. A for the entire collection. Removes a member from the collection. The to remove from the collection. Gets or sets the element at the specified index. The zero-based index of the element to get or set. Gets the with the specified name. The name of the option that should be located in the collection. Enumerates the elements of a . Initializes a new instance of the class with the specified . The collection that should be enumerated. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Gets the current element in the collection. The current element in the collection. Represents a nested path element. The name of a file to add to the path. Will be replaced with the absolute path of the file. The name of a directory to add to the path. Will be replaced with the absolute path of the directory. A string that will be treated as a path-like string. You can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. If then the entry will be added to the path; otherwise, skipped. The default is . Opposite of . If then the entry will be added to the path; otherwise, skipped. The default is . Gets the parts of a path represented by this element. A containing the parts of a path represented by this element. Paths are groups of files and/or directories that need to be passed as a single unit. The order in which parts of the path are specified in the build file is retained, and duplicate parts are automatically suppressed. Define a global <path> that can be referenced by other tasks or types. ]]> Initializes a new instance of the class. Invoked by for build attributes with an underlying type. The to be used to resolve relative paths. The string representing a path. Returns a textual representation of the path, which can be used as PATH environment variable definition. A textual representation of the path. Defines a set of path elements to add to the current path. The to add. Defines a path element to add to the current path. The to add. Returns all path elements defined by this path object. A list of path elements. Splits a PATH (with ; or : as separators) into its parts, while resolving references to environment variables. The to be used to resolve relative paths. The path to translate. A PATH split up its parts, with references to environment variables resolved and duplicate entries removed. Contains HTTP proxy settings used to process requests to Internet resources. Initializes a new instance of the class. Gets a instance representing the current . A instance representing the current , or if this proxy should not be used to connect to the external resource. The name of the proxy host. The port number on to use. Specifies whether to bypass the proxy server for local addresses. The default is . The credentials to submit to the proxy server for authentication. Indicates if the proxy should be used to connect to the external resource. If then the proxy will be used; otherwise, not. The default is . Indicates if the proxy should not be used to connect to the external resource. If then the proxy will be used; otherwise, not. The default is . Represents an element of which the XML is processed by its parent task or type. Gets the XML that this element represents. Gets a value indicating whether the element is performing additional processing using the that was use to initialize the element. , as the XML that represents this build element is processed by the containing task or type. ReplaceTokens filter token. Token to be replaced. New value of token. Indicates if the token should be used to replace values. If then the token will be used; otherwise, not. The default is . Indicates if the token should not be used to replace values. If then the token will be used; otherwise, not. The default is . Represents an XML namespace. The prefix to associate with the namespace. The associated XML namespace URI. Indicates if the namespace should be added to the . If then the namespace will be added; otherwise, skipped. The default is . Indicates if the namespace should not be added to the . list. If then the parameter will be added; otherwise, skipped. The default is . Contains a collection of elements. Initializes a new instance of the class. Initializes a new instance of the class with the specified instance. Initializes a new instance of the class with the specified array of instances. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new element was inserted. Adds the elements of a array to the end of the collection. The array of elements to be added to the end of the collection. Adds the elements of a to the end of the collection. The to be added to the end of the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Determines whether a with the specified value is in the collection. The argument value to locate in the collection. if a with value is found in the collection; otherwise, . Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. The zero-based index in at which copying begins. Retrieves the index of a specified object in the collection. The object for which the index is returned. The index of the specified . If the is not currently a member of the collection, it returns -1. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Returns an enumerator that can iterate through the collection. A for the entire collection. Removes a member from the collection. The to remove from the collection. Gets or sets the element at the specified index. The zero-based index of the element to get or set. Gets the with the specified prefix. The prefix of the to get. Enumerates the elements of a . Initializes a new instance of the class with the specified . The collection that should be enumerated. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Gets the current element in the collection. The current element in the collection. Represents an XSLT extension object. The object should have a default parameterless constructor and the return value should be one of the four basic XPath data types of number, string, Boolean or node set. Initializes a new instance of the class. The namespace URI to associate with the extension object. The namespace URI to associate with the extension object, or if not set. The full type name of the XSLT extension object. The assembly which contains the XSLT extension object. Indicates if the extension object should be added to the XSLT argument list. If then the extension object will be added; otherwise, skipped. The default is . Indicates if the extension object should not be added to the XSLT argument list. If then the extension object will be added; otherwise, skipped. The default is . Contains a collection of elements. Initializes a new instance of the class. Initializes a new instance of the class with the specified instance. Initializes a new instance of the class with the specified array of instances. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new element was inserted. Adds the elements of a array to the end of the collection. The array of elements to be added to the end of the collection. Adds the elements of a to the end of the collection. The to be added to the end of the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Determines whether a with the specified value is in the collection. The argument value to locate in the collection. if a with value is found in the collection; otherwise, . Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. The zero-based index in at which copying begins. Retrieves the index of a specified object in the collection. The object for which the index is returned. The index of the specified . If the is not currently a member of the collection, it returns -1. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Returns an enumerator that can iterate through the collection. A for the entire collection. Removes a member from the collection. The to remove from the collection. Gets or sets the element at the specified index. The zero-based index of the element to get or set. Gets the with the specified name. The name of the to get. Enumerates the elements of a . Initializes a new instance of the class with the specified . The collection that should be enumerated. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Gets the current element in the collection. The current element in the collection. Represents an XSLT parameter. Initializes a new instance of the class. The name of the XSLT parameter. The name of the XSLT parameter, or if not set. The namespace URI to associate with the parameter. The namespace URI to associate with the parameter, or if not set. The value of the XSLT parameter. The value of the XSLT parameter, or if not set. Indicates if the parameter should be added to the XSLT argument list. If then the parameter will be added; otherwise, skipped. The default is . Indicates if the parameter should not be added to the XSLT argument list. If then the parameter will be added; otherwise, skipped. The default is . Contains a collection of elements. Initializes a new instance of the class. Initializes a new instance of the class with the specified instance. Initializes a new instance of the class with the specified array of instances. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new element was inserted. Adds the elements of a array to the end of the collection. The array of elements to be added to the end of the collection. Adds the elements of a to the end of the collection. The to be added to the end of the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Determines whether a with the specified value is in the collection. The argument value to locate in the collection. if a with value is found in the collection; otherwise, . Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. The zero-based index in at which copying begins. Retrieves the index of a specified object in the collection. The object for which the index is returned. The index of the specified . If the is not currently a member of the collection, it returns -1. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Returns an enumerator that can iterate through the collection. A for the entire collection. Removes a member from the collection. The to remove from the collection. Gets or sets the element at the specified index. The zero-based index of the element to get or set. Gets the with the specified name. The name of the to get. Enumerates the elements of a . Initializes a new instance of the class with the specified . The collection that should be enumerated. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Gets the current element in the collection. The current element in the collection. Resolves assemblies by caching assemblies that were loaded. Initializes an instanse of the class. Initializes an instanse of the class in the context of the given . Installs the assembly resolver by hooking up to the event. Uninstalls the assembly resolver. Resolves an assembly not found by the system using the assembly cache. The source of the event. A that contains the event data. The loaded assembly, or if not found. Occurs when an assembly is loaded. The loaded assembly is added to the assembly cache. The source of the event. An that contains the event data. Logs a message with the given priority. The message priority at which the specified message is to be logged. The message to log, containing zero or more format items. An array containing zero or more objects to format. The actual logging is delegated to the in which the is executing Holds the loaded assemblies. Holds the in which the is executing. The in which the is executing or if the is not executing in the context of a . Represents a valid command-line argument. Sets the value of the argument on the specified object. The object on which the value of the argument should be set. The argument is required and no value was specified. The matching property is collection-based, but is not initialized and cannot be written to. -or- The matching property is collection-based, but has no strongly-typed Add method. -or- The matching property is collection-based, but the signature of the Add method is not supported. Assigns the specified value to the argument. The value that should be assigned to the argument. Duplicate argument. -or- Invalid value. Indicates whether the specified is a . if can be assigned to ; otherwise, . Indicates whether the specified is collection-based. if can be assigned to and is not backed by a that can be assigned to ; otherwise, . Indicates whether the specified is an array. if is an array; otherwise, . Gets the property that backs the argument. The property that backs the arguments. Gets the underlying of the argument. The underlying of the argument. If the of the argument is a collection type, this property will returns the underlying type of that collection. Gets the long name of the argument. The long name of the argument. Gets the short name of the argument. The short name of the argument. Gets the description of the argument. The description of the argument. Gets a value indicating whether the argument is required. if the argument is required; otherwise, . Gets a value indicating whether a mathing command-line argument was already found. if a matching command-line argument was already found; otherwise, . Gets a value indicating whether the argument can be specified multiple times. if the argument may be specified multiple times; otherwise, . Gets a value indicating whether the argument can only be specified once with a certain value. if the argument should always have a unique value; otherwise, . Gets the of the property to which the argument is applied. The of the property to which the argument is applied. Gets a value indicating whether the argument is collection-based. if the argument is backed by a that can be assigned to and is not backed by a that can be assigned to ; otherwise, . Gets a value indicating whether the argument is a set of name/value pairs. if the argument is backed by a that can be assigned to ; otherwise, . Gets a value indicating whether the argument is array-based. if the argument is backed by an array; otherwise, . Gets a value indicating whether the argument is the default argument. if the argument is the default argument; otherwise, . Gets a value indicating whether the argument cannot be combined with other arguments. if the argument cannot be combined with other arguments; otherwise, . Allows control of command line parsing. Initializes a new instance of the class with the specified argument type. Specifies the checking to be done on the argument. Gets or sets the checking to be done on the argument. The checking that should be done on the argument. Gets or sets the long name of the argument. The long name of the argument. Gets or sets the short name of the argument. The short name of the argument. Gets or sets the description of the argument. The description of the argument. Contains a strongly typed collection of objects. Initializes a new instance of the class. Initializes a new instance of the class with the specified instance. Initializes a new instance of the class with the specified array of instances. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new element was inserted. Adds the elements of a array to the end of the collection. The array of elements to be added to the end of the collection. Adds the elements of a to the end of the collection. The to be added to the end of the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. The zero-based index in at which copying begins. Retrieves the index of a specified object in the collection. The object for which the index is returned. The index of the specified . If the is not currently a member of the collection, it returns -1. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Returns an enumerator that can iterate through the collection. A for the entire collection. Removes a member from the collection. The to remove from the collection. Gets or sets the element at the specified index. The zero-based index of the element to get or set. Gets the with the specified name. The name of the to get. Enumerates the elements of a . Initializes a new instance of the class with the specified . The collection that should be enumerated. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Gets the current element in the collection. The current element in the collection. The exception that is thrown when one of the command-line arguments provided is not valid. Initializes a new instance of the class. Initializes a new instance of the class with a descriptive message. A descriptive message to include with the exception. Initializes a new instance of the class with a descriptive message and an inner exception. A descriptive message to include with the exception. A nested exception that is the cause of the current exception. Initializes a new instance of the class with serialized data. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Used to control parsing of command-line arguments. Indicates that this field is required. An error will be displayed if it is not present when parsing arguments. Only valid in conjunction with Multiple. Duplicate values will result in an error. Inidicates that the argument may be specified more than once. Only valid if the argument is a collection Inidicates that if this argument is specified, no other arguments may be specified. The default type for non-collection arguments. The argument is not required, but an error will be reported if it is specified more than once. The default type for collection arguments. The argument is permitted to occur multiple times, but duplicate values will cause an error to be reported. Commandline parser. Initializes a new instance of the class using possible arguments deducted from the specific . The from which the possible command-line arguments should be retrieved. A value indicating whether or not a response file is able to be used. is a null reference. Parses an argument list. The arguments to parse. The destination object on which properties will be set corresponding to the specified arguments. is a null reference. The of does not match the argument specification that was used to initialize the parser. Splits a string and removes any empty strings from the result. Same functionality as the public string[] Split(char[] separator, StringSplitOptions options) method in .Net 2.0. Replace with that call when 2.0 is standard. the array of strings Read a response file and parse the arguments as usual. Parse the argument list using the Returns the that's applied on the specified property. The property of which applied should be returned. The that's applied to the , or a null reference if none was applied. Gets a logo banner using version and copyright attributes defined on the or the . A logo banner. Gets the usage instructions. The usage instructions. Gets a value indicating whether no arguments were specified on the command line. Marks a command-line option as being the default option. When the name of a command-line argument is not specified, this option will be assumed. Initializes a new instance of the class with the specified argument type. Specifies the checking to be done on the argument. Provides modified version for Copy and Move from the File class that allow for filter chain processing. Copies a file filtering its content through the filter chain. The file to copy The file to copy to Chain of filters to apply when copying, or is no filters should be applied. The encoding used to read the soure file. The encoding used to write the destination file. Moves a file filtering its content through the filter chain. The file to move The file to move move to Chain of filters to apply when moving, or is no filters should be applied. The encoding used to read the soure file. The encoding used to write the destination file. Returns a uniquely named empty temporary directory on disk. A representing the temporary directory. Combines two path strings. The first path. The second path. A string containing the combined paths. If one of the specified paths is a zero-length string, this method returns the other path. If contains an absolute path, this method returns . On *nix, processing is delegated to . On Windows, this method normalized the paths to avoid running into the 260 character limit of a path and converts forward slashes in both and to the platform's directory separator character. Returns Absolute Path (Fix for 260 Char Limit of Path.GetFullPath(...)) The file or directory for which to obtain absolute path information. Path Resolved path is a zero-length string, contains only white space or contains one or more invalid characters as defined by . is . Returns the home directory of the current user. The home directory of the current user. Helper class for determining whether assemblies are located in the Global Assembly Cache. Initializes a new instance of the class in the context of the given . Determines whether an assembly is installed in the Global Assembly Cache given its file name or path. The name or path of the file that contains the manifest of the assembly. if is installed in the Global Assembly Cache; otherwise, . To determine whether the specified assembly is installed in the Global Assembly Cache, the assembly is loaded into a separate . If the family of the current runtime framework does not match the family of the current target framework, this method will return for all assemblies as there's no way to determine whether a given assembly is in the Global Assembly Cache for another framework family than the family of the current runtime framework. Holds the in which assemblies will be loaded to determine whether they are in the Global Assembly Cache. Holds the context of the . Holds a list of assembly files for which already has been determined whether they are located in the Global Assembly Cache. The key of the is the full path to the assembly file and the value is a indicating whether the assembly is located in the Global Assembly Cache. Holds a value indicating whether the object has been disposed. Gets the context of the . The context of the . Obtains a lifetime service object to control the lifetime policy for this instance. An object of type used to control the lifetime policy for this instance. This is the current lifetime service object for this instance if one exists; otherwise, a new lifetime service object initialized with a lease that will never time out. Determines whether an assembly is installed in the Global Assembly Cache given its file name or path. The name or path of the file that contains the manifest of the assembly. if is installed in the Global Assembly Cache; otherwise, . Provides a set of helper methods related to reflection. Initializes a new instance of the class. Uses a private access modifier to prevent instantiation of this class. Loads the type specified in the type string with assembly qualified name. The assembly qualified name of the type to load. Flag set to to throw an exception if the type cannot be loaded. is and an error is encountered while loading the , or is not an assembly qualified name. If the cannot be instantiated from the assembly qualified type name, then we'll try to instantiate the type using its simple type name from an already loaded assembly with an assembly name mathing the assembly in the assembly qualified type name. The type loaded or if it could not be loaded. Provides resource support to NAnt assemblies. This class cannot be inherited from. Prevents the class from being instantiated explicitly. Registers the assembly to be used as the fallback if resources aren't found in the local satellite assembly. A that represents the assembly to register. The following example shows how to register a shared satellite assembly. Returns the value of the specified string resource. A that contains the name of the resource to get. A that contains the value of the resource localized for the current culture. The returned resource is localized for the cultural settings of the current . The GetString method is thread-safe. The following example demonstrates the GetString method using the cultural settings of the current . Returns the value of the specified string resource localized for the specified culture. A that contains the value of the resource localized for the specified culture. The GetString method is thread-safe. The following example demonstrates the GetString method using a specific culture. Returns the value of the specified string resource localized for the specified culture for the specified assembly. A that contains the name of the resource to get. A that represents the culture for which the resource is localized. A A that contains the value of the resource localized for the specified culture. The GetString method is thread-safe. The following example demonstrates the GetString method using specific culture and assembly. Registers the specified assembly. A that represents the assembly to register. Determines the manifest resource name of the resource holding the localized strings. The name of the assembly. The manifest resource name of the resource holding the localized strings for the specified assembly. The manifest resource name of the resource holding the localized strings should match the name of the assembly, minus Tasks suffix. Groups a set of useful manipulation and validation methods. Initializes a new instance of the class. Prevents instantiation of the class. Determines whether the last character of the given matches the specified character. The string. The character. if the last character of matches ; otherwise, . is . Indicates whether or not the specified is or an string. The value to check. if is or an empty string (""); otherwise, . Converts an empty string ("") to . The value to convert. if is an empty string ("") or ; otherwise, . Converts to an empty string. The value to convert. An empty string if is ; otherwise, . Concatenates a specified separator between each element of a specified , yielding a single concatenated string. A . A . A consisting of the elements of interspersed with the separator string. For example if is ", " and the elements of are "apple", "orange", "grape", and "pear", returns "apple, orange, grape, pear". If is , an empty string () is used instead. Creates a shallow copy of the specified . The that should be copied. A shallow copy of the specified . Thrown whenever an error occurs during the build. The location of the exception in the build document (xml file). Initializes a new instance of the class. Initializes a new instance of the class with a descriptive message. A descriptive message to include with the exception. Initializes a new instance of the class with the specified descriptive message and inner exception. A descriptive message to include with the exception. A nested exception that is the cause of the current exception. Initializes a new instance of the class with a descriptive message and the location in the build file that caused the exception. A descriptive message to include with the exception. The location in the build file where the exception occured. Initializes a new instance of the class with a descriptive message, the location in the build file and an instance of the exception that is the cause of the current exception. A descriptive message to include with the exception. The location in the build file where the exception occured. A nested exception that is the cause of the current exception. Initializes a new instance of the class with serialized data. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Serializes this object into the provided. The to populate with data. The destination for this serialization. Creates and returns a string representation of the current exception. A string representation of the current exception. Gets the raw message as specified when the exception was constructed. The raw message as specified when the exception was constructed. Gets the location in the build file of the element from which the exception originated. The location in the build file of the element from which the exception originated. Gets a message that describes the current exception. The error message that explains the reason for the exception. Adds location information to the message, if available. Represents the set of command-line options supported by NAnt. Gets or sets the target framework to use (overrides NAnt.exe.config settings) The framework that should be used. For a list of possible frameworks, see NAnt.exe.config, possible values include "net-1.0", "net-1.1", etc. Gets or sets the target framework to use (overrides NAnt.exe.config settings) The framework that should be used. For a list of possible frameworks, see NAnt.exe.config, possible values include "net-1.0", "net-1.1", etc. Gets or sets the buildfile that should be executed. The buildfile that should be executed. Can be both a file or an URI. Gets or sets a value indicating whether more information should be displayed during the build process. if more information should be displayed; otherwise, . The default is . Gets or sets a value indicating whether debug information should be displayed during the build process. if debug information should be displayed; otherwise, . The default is . Gets or sets a value indicating whether only error and debug debug messages should be displayed during the build process. if only error or warning messages should be displayed; otherwise, . The default is . Gets or sets a value indicating whether to produce emacs (and other editor) friendly output. if output is to be unadorned so that emacs and other editors can parse files names, etc. The default is . Gets a value indicating whether parent directories should be searched for a buildfile. if parent directories should be searched for a build file; otherwise, . The default is . Gets or sets the indentation level of the build output. The indentation level of the build output. The default is 0. Gets or sets the list of properties that should be set. The list of properties that should be set. Gets or sets the of logger to add to the list of listeners. The of logger to add to the list of listeners. The should derive from . Gets or sets the name of the file to log output to. The name of the file to log output to. Gets a collection containing fully qualified type names of classes implementating that should be added to the project as listeners. A collection of fully qualified type names that should be added as listeners to the . Gets a collection of assemblies to load extensions from. A collection of assemblies to load extensions from. Gets or sets a value indicating whether help should be printed. if help should be printed; otherwise, . The default is . Gets or sets a value indicating whether the logo banner should be printed. if the logo banner should be printed; otherwise, . The default is . Gets or sets a value indicating whether the NAnt help should be printed. if NAnt help should be printed; otherwise, . The default is . Gets a collection containing the targets that should be executed. A collection that contains the targets that should be executed. Custom configuration section handler for the element. This just passed things through. Return the node read from the config file. Main entry point to NAnt that is called by the ConsoleStub. Starts NAnt. This is the Main entry point. Command Line args, or whatever you want to pass it. They will treated as Command Line args. The exit code. Prints the projecthelp to the console. The build file to show help for. is loaded and transformed with ProjectHelp.xslt, which is an embedded resource. Gets the file name for the build file in the specified directory. The directory to look for a build file. When in doubt use Environment.CurrentDirectory for directory. Look for a build file with this pattern or name. If null look for a file that matches the default build pattern (*.build). Whether or not to search the parent directories for a build file. The path to the build file or null if no build file could be found. Loads the extension assemblies in the current and scans them for extensions. The extension assemblies to load. The which will be used to output messages to the build log. Dynamically constructs an instance of the class specified. At this point, only looks in the assembly where is defined. The fully qualified name of the logger that should be instantiated. Type could not be loaded. does not implement . Dynamically constructs an instance of the class specified. At this point, only looks in the assembly where is defined. The fully qualified name of the listener that should be instantiated. Type could not be loaded. does not implement . Add the listeners specified in the command line arguments, along with the default listener, to the specified project. The command-line options. The to add listeners to. Spits out generic help info to the console. Creates a new instance of the class for the specified class in the specified. The containing the . The class representing the . Gets the name of the class that can be created using this . The name of the class that can be created using this . Gets the from which the data type will be created. The containing the data type. Gets the name of the data type which the can create. The name of the data type which the can create. Contains a strongly typed collection of objects. Initializes a new instance of the class. Initializes a new instance of the class with the specified instance. Initializes a new instance of the class with the specified array of instances. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new element was inserted. Adds the elements of a array to the end of the collection. The array of elements to be added to the end of the collection. Adds the elements of a to the end of the collection. The to be added to the end of the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Determines whether a for the specified task is in the collection. The name of task for which the should be located in the collection. if a for the specified task is found in the collection; otherwise, . Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. The zero-based index in at which copying begins. Retrieves the index of a specified object in the collection. The object for which the index is returned. The index of the specified . If the is not currently a member of the collection, it returns -1. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Returns an enumerator that can iterate through the collection. A for the entire collection. Removes a member from the collection. The to remove from the collection. Gets or sets the element at the specified index. The zero-based index of the element to get or set. Gets the for the specified task. The name of task for which the should be located in the collection. Enumerates the elements of a . Initializes a new instance of the class with the specified . The collection that should be enumerated. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Gets the current element in the collection. The current element in the collection. Initializes a new instance of the class. Initializes a new instance of the class with the specified capacity. Inherits Properties from an existing property dictionary Instance DataType list to inherit Used for searching filesystem based on given include/exclude rules. Simple client code for testing the class. while (true) { DirectoryScanner scanner = new DirectoryScanner(); Console.Write("Scan Basedirectory : "); string s = Console.ReadLine(); if (s.Length == 0) break; scanner.BaseDirectory = s; while(true) { Console.Write("Include pattern : "); s = Console.ReadLine(); if (s.Length == 0) break; scanner.Includes.Add(s); } while(true) { Console.Write("Exclude pattern : "); s = Console.ReadLine(); if (s.Length == 0) break; scanner.Excludes.Add(s); } foreach (string name in scanner.FileNames) Console.WriteLine("file:" + name); foreach (string name in scanner.DirectoryNames) Console.WriteLine("dir :" + name); Console.WriteLine(""); } Creates a shallow copy of the . A shallow copy of the . Uses and search criteria (relative to or absolute), to search for filesystem objects. Parses specified NAnt search patterns for search directories and corresponding regex patterns. In. NAnt patterns. Absolute or relative paths. Out. Regex patterns. Absolute canonical paths. Out. Non-regex files. Absolute canonical paths. In. Whether to allow a pattern to add search directories. Given a NAnt search pattern returns a search directory and an regex search pattern. Whether this pattern is an include or exclude pattern NAnt searh pattern (relative to the Basedirectory OR absolute, relative paths refering to parent directories ( ../ ) also supported) Out. Absolute canonical path to the directory to be searched Out. Whether the pattern is potentially recursive or not Out. Whether this is a regex pattern or not Out. Regex search pattern (absolute canonical path) Searches a directory recursively for files and directories matching the search criteria. Directory in which to search (absolute canonical path) Whether to scan recursively or not Converts search pattern to a regular expression pattern. Search pattern relative to the search directory. Regular expresssion Gets the collection of include patterns. Gets the collection of exclude patterns. The base directory to scan. The default is the current directory. Gets the list of files that match the given patterns. Gets the list of directories that match the given patterns. Gets the list of directories that were scanned for files. Creates a shallow copy of the . A shallow copy of the . Creates a string representing a list of the strings in the collection. A string that represents the contents. Creates a shallow copy of the . A shallow copy of the . Determines whether the specified string is in the . The string to locate in the . The value can be . if value is found in the ; otherwise, . String comparisons within the are only case-sensitive if the filesystem on which is located, is case-sensitive. Searches for the specified string and returns the zero-based index of the first occurrence within the . The string to locate. The value can be . The zero-based index of the first occurrence of in the , if found; otherwise, -1. String comparisons within the are only case-sensitive if the filesystem on which is located, is case-sensitive. Determines whether the filesystem on which the specified path is located is case-sensitive. The path of which should be determined whether its on a case-sensitive filesystem. if is located on a case-sensitive filesystem; otherwise, . Gets the value of the specified property. The name of the property to get the value of. The value of the specified property. Splits an input string into a sequence of tokens used during parsing. Available tokens Encalsulates information about installed frameworks incuding version information and directory locations for finding tools. Initializes a new instance of the class with a name, description, version, runtime engine, directory information and properties. The name of the framework. The family of the framework. The description of the framework. The version number of the framework. The Common Language Runtime version of the framework. The directory of the framework. The directory containing the SDK tools for the framework, if available. The directory containing the system assemblies for the framework. The name of the runtime engine, if required. The used to initialized the framework. Gets the name of the framework. The name of the framework. Gets the family of the framework. The family of the framework. Gets the description of the framework. The description of the framework. Gets the version of the framework. The version of the framework. Gets the Common Language Runtime of the framework. The Common Language Runtime of the framework. Gets the Visual Studio version that corresponds with this framework. The Visual Studio version that corresponds with this framework. There is no version of Visual Studio .NET that corresponds with this framework. Gets the base directory of the framework tools for the framework. The base directory of the framework tools for the framework. Gets the path to the runtime engine for this framework. The path to the runtime engine for the framework or if no runtime engine is configured for the framework. Gets the directory where the system assemblies for the framework are located. The directory where the system assemblies for the framework are located. Gets the directory containing the SDK tools for the framework. The directory containing the SDK tools for the framework or a null refererence if the sdk directory Gets the used to initialize this framework. The used to initialize this framework. Gets or sets the collection of environment variables that should be passed to external programs that are launched in the runtime engine of the current framework. The collection of environment variables that should be passed to external programs that are launched in the runtime engine of the current framework. Gets the set of assemblies and directories that should scanned for NAnt tasks, types or functions. The set of assemblies and directories that should be scanned for NAnt tasks, types or functions. Initializes a new instance of the class. Initializes a new instance of the class with the specified capacity. Stores the file name, line number and column number to record a position in a text file. Creates a location consisting of a file name, line number and column number. can be a local URI resource, e.g., file:///C:/WINDOWS/setuplog.txt. Creates a location consisting of a file name. can be a local URI resource, e.g., file:///C:/WINDOWS/setuplog.txt. Creates an "unknown" location. Private Init function. Returns the file name, line number and a trailing space. An error message can be appended easily. For unknown locations, returns an empty string. Gets a string containing the file name for the location. The file name includes both the file path and the extension. Gets the line number for the location. Lines start at 1. Will be zero if not specified. Gets the column number for the location. Columns start a 1. Will be zero if not specified. Maps XML nodes to the text positions from their original source. Initializes a new instance of the class. Determines if a file has been loaded by the current project. The file to check. if the specified file has already been loaded by the current project; otherwise, . Adds an to the map. An can only be added to the map once. Returns the in the XML file for the given node. The must be from an that has been added to the map. Represents a position in the build file. Initializes a new instance of the with the speified line and column. The line coordinate of the position. The column coordinate of the position. The line coordinate of the position. The column coordinate of the position. Defines the set of levels recognised by the NAnt logging system. Designates fine-grained informational events that are most useful to debug a build process. Designates events that offer a more detailed view of the build process. Designates informational events that are useful for getting a high-level view of the build process. Designates potentionally harmful events. Designates error events. Can be used to suppress all messages. No events should be logged with this . Class representing an event occurring during a build. An event is built by specifying either a project, a task or a target. A level event will only have a reference. A level event will have and references. A level event will have , and references. Initializes a new instance of the class. Initializes a new instance of the class for a level event. The that emitted the event. Initializes a new instance of the class for a level event. The that emitted the event. Initializes a new instance of the class for a level event. The that emitted the event. Gets or sets the message associated with this event. The message associated with this event. Gets or sets the priority level associated with this event. The priority level associated with this event. Gets or sets the associated with this event. The associated with this event. Gets the that fired this event. The that fired this event. Gets the that fired this event. The that fired this event, or a null reference if this is a level event. Gets the that fired this event. The that fired this event, or if this is a or level event. Represents the method that handles the build events. The source of the event. A that contains the event data. Instances of classes that implement this interface can register to be notified when things happen during a build. Signals that a build has started. The source of the event. A object that contains the event data. This event is fired before any targets have started. Signals that the last target has finished. The source of the event. A object that contains the event data. This event will still be fired if an error occurred during the build. Signals that a target has started. The source of the event. A object that contains the event data. Signals that a target has finished. The source of the event. A object that contains the event data. This event will still be fired if an error occurred during the build. Signals that a task has started. The source of the event. A object that contains the event data. Signals that a task has finished. The source of the event. A object that contains the event data. This event will still be fired if an error occurred during the build. Signals that a message has been logged. The source of the event. A object that contains the event data. Interface used by NAnt to log the build output. Depending on the supplied command-line arguments, NAnt will set the to or a with a file as backend store. Flushes buffered build events or messages to the underlying storage. Gets or sets the highest level of message this logger should respond to. The highest level of message this logger should respond to. Only messages with a message level higher than or equal to the given level should actually be written to the log. Gets or sets a value indicating whether to produce emacs (and other editor) friendly output. if output is to be unadorned so that emacs and other editors can parse files names, etc. Gets or sets the to which the logger is to send its output. Initializes a new instance of the class. Flushes buffered build events or messages to the underlying storage. Signals that a build has started. The source of the event. A object that contains the event data. This event is fired before any targets have started. Signals that the last target has finished. The source of the event. A object that contains the event data. This event will still be fired if an error occurred during the build. Signals that a target has started. The source of the event. A object that contains the event data. Signals that a task has finished. The source of the event. A object that contains the event data. This event will still be fired if an error occurred during the build. Signals that a task has started. The source of the event. A object that contains the event data. Signals that a task has finished. The source of the event. A object that contains the event data. This event will still be fired if an error occurred during the build. Signals that a message has been logged. The source of the event. A object that contains the event data. Only messages with a priority higher or equal to the threshold of the logger will actually be output in the build log. Empty implementation which allows derived classes to receive the output that is generated in this logger. The message being logged. Outputs an indented message to the build log if its priority is greather than or equal to the of the logger. The priority of the message to output. The message to output. The number of characters that the message should be indented. Outputs an indented message to the build log if its priority is greather than or equal to the of the logger. The event to output. Outputs an indented message to the build log if its priority is greather than or equal to the of the logger. The event to output. TODO Holds a stack of reports for all running builds. Gets or sets the highest level of message this logger should respond to. The highest level of message this logger should respond to. Only messages with a message level higher than or equal to the given level should be written to the log. Gets or sets a value indicating whether to produce emacs (and other editor) friendly output. if output is to be unadorned so that emacs and other editors can parse files names, etc. The default is . Gets or sets the to which the logger is to send its output. The to which the logger sends its output. Used to store information about a build, to allow better reporting to the user. Errors encountered so far. Warnings encountered so far. The start time of the build process. Buffers log messages from DefaultLogger, and sends an e-mail with the results. The following properties are used to send the mail : Property Description MailLogger.mailhost Mail server to use. [default: localhost] MailLogger.from The address of the e-mail sender. MailLogger.failure.notify Send build failure e-mails ? [default: true] MailLogger.success.notify Send build success e-mails ? [default: true] MailLogger.failure.to The address to send build failure messages to. MailLogger.success.to The address to send build success messages to. MailLogger.failure.subject The subject of build failure messages. [default: "Build Failure"] MailLogger.success.subject The subject of build success messages. [default: "Build Success"] MailLogger.success.attachments The ID of a fileset holdng set of files to attach when the build is successful. MailLogger.failure.attachments The ID of a fileset holdng set of files to attach when the build fails. MailLogger.body.encoding The encoding type of the body of the e-mail message. [default: system's ANSI code page] MailLogger.smtp.username The name of the user to login to the SMTP server. MailLogger.smtp.password The password of the specified user. MailLogger.smtp.enablessl Specifies whether to use SSL to encrypt the connection. [default: false] MailLogger.smtp.port The SMTP server port to connect to. [default: 25] Initializes a new instance of the class. Signals that a build has started. The source of the event. A object that contains the event data. This event is fired before any targets have started. Signals that the last target has finished, and send an e-mail with the build results. The source of the event. A object that contains the event data. Receives and buffers log messages. The message being logged. Gets the value of the specified property. Properties to obtain value from. Suffix of property name. "MailLogger" will be prepended internally. Value returned if property is not present in . Value indicating whether the property should exist, or have a default value set. The value of the specified property; or the default value if the property is not present in . is , and the specified property is not present and no default value has been given. Buffer in which the message is constructed prior to sending. Holds the stack of currently executing projects. Contains a strongly typed collection of objects. Initializes a new instance of the class. Initializes a new instance of the class with the specified instance. Initializes a new instance of the class with the specified array of instances. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new element was inserted. Adds the elements of a array to the end of the collection. The array of elements to be added to the end of the collection. Adds the elements of a to the end of the collection. The to be added to the end of the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. The zero-based index in at which copying begins. Retrieves the index of a specified object in the collection. The object for which the index is returned. The index of the specified . If the is not currently a member of the collection, it returns -1. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Returns an enumerator that can iterate through the collection. A for the entire collection. Removes a member from the collection. The to remove from the collection. Gets or sets the element at the specified index. The zero-based index of the element to get or set. Enumerates the elements of a . Initializes a new instance of the class with the specified . The collection that should be enumerated. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Gets the current element in the collection. The current element in the collection. Implements a for writing information to the NAnt logging infrastructure. Initializes a new instance of the class for the specified with the specified output level and format provider. Determines the indentation level. The with which messages will be output to the build log. An object that controls formatting. Writes a character array to the buffer. The character array to write to the text stream. Writes a string to the buffer. Writes an empty string to the logging infrastructure. Writes a string to the logging infrastructure. The string to write. If is a null reference, only the line termination characters are written. Writes out a formatted string using the same semantics as . The formatting string. The object array to write into format string. Causes any buffered data to be written to the logging infrastructure. Closes the current writer and releases any system resources associated with the writer. Obtains a lifetime service object to control the lifetime policy for this instance. An object of type used to control the lifetime policy for this instance. This is the current lifetime service object for this instance if one exists; otherwise, a new lifetime service object initialized with a lease that will never time out. Gets the in which the output is written. The always writes output in UTF8 encoding. Gets the with which messages will be output to the build log. Used to search for files on the PATH. The local directory is not searched (since this would already be covered by normal use of the includes element). Also, advanced pattern matching isn't supported: you need to know the exact name of the file. Creates a shallow copy of the . A shallow copy of the . Creates a shallow copy of the . A shallow copy of the . Adds a file to the list of files to be scanned for. The filename or search pattern to add to the list. Scans all direcetories in the PATH environment variable for files. List of matching files found in the PATH. Scans all directories in the given environment variable for files. The environment variable of which the directories should be scanned. List of matching files found in the directory of the given environment variable. Creates a shallow copy of the specified . The that should be copied. A shallow copy of the specified . Central representation of a NAnt project. The method will initialize the project with the build file specified in the constructor and execute the default target. If no target is given, the default target will be executed if specified in the project. Constant for the "visiting" state, used when traversing a DFS of target dependencies. Constant for the "visited" state, used when traversing a DFS of target dependencies. Holds the logger for this class. Holds the default threshold for build loggers. Initializes a new class with the given document, message threshold and indentation level. Any valid build format will do. The message threshold. The project indentation level. Initializes a new class with the given document, message threshold and indentation level, and using the specified to load internal configuration settings. Any valid build format will do. The message threshold. The project indentation level. The NAnt should use to initialize configuration settings. This constructor is useful for developers using NAnt as a class library. Initializes a new class with the given source, message threshold and indentation level. The full path to the build file. This can be of any form that accepts. The message threshold. The project indentation level. If the source is a uri of form 'file:///path' then use the path part. Initializes a new class with the given source, message threshold and indentation level, and using the specified to load internal configuration settings. The full path to the build file. This can be of any form that accepts. The message threshold. The project indentation level. The NAnt should use to initialize configuration settings. is . If the source is a uri of form 'file:///path' then use the path part. Initializes a as subproject of the specified . The full path to the build file. This can be of any form that accepts. The parent . Optimized for framework initialization projects, by skipping automatic discovery of extension assemblies and framework configuration. Initializes a with set to , and set to 0. An containing the build script. Optimized for framework initialization projects, by skipping automatic discovery of extension assemblies and framework configuration. Dispatches a event to the build listeners for this . The source of the event. A that contains the event data. Dispatches a event to the build listeners for this . The source of the event. A that contains the event data. Dispatches a event to the build listeners for this . The source of the event. A that contains the event data. Dispatches a event to the build listeners for this . The source of the event. A that contains the event data. Dispatches a event to the build listeners for this . The source of the event. A that contains the event data. Dispatches the event to the build listeners for this . The source of the event. A that contains the event data. Dispatches a event to the build listeners for this . A that contains the event data. Writes a level message to the build log with the given . The to log at. The message to log. Writes a level formatted message to the build log with the given . The to log at. The message to log, containing zero or more format items. An array containing zero or more objects to format. Writes a task level message to the build log with the given . The from which the message originated. The to log at. The message to log. Writes a level message to the build log with the given . The from which the message orignated. The level to log at. The message to log. Executes the default target. No top level error handling is done. Any will be passed onto the caller. Executes a specific target, and its dependencies. The name of the target to execute. Global tasks are not executed. Executes a specific target. The name of the target to execute. Whether dependencies should be forced to execute Global tasks are not executed. Executes the default target and wraps in error handling and time stamping. if the build was successful; otherwise, . Creates a new from the given . The definition. The new instance. Creates a new from the given within a . The definition. The owner . The new instance. Expands a from known properties. The with replacement tokens. The location in the build file. Used to throw more accurate exceptions. The expanded and replaced . Combines the specified path with the of the to form a full path to file or directory. The relative or absolute path. A rooted path, or the of the if the parameter is a null reference. Creates the default and attaches it to the . Increases the of the . Decreases the of the . Detaches the currently attached instances from the . Attaches the specified build listeners to the . The instances to attach to the . The currently attached instances will be detached before the new instances are attached. Inits stuff: TypeFactory: Calls Initialize and AddProject Log.IndentSize set to 12 Project properties are initialized ("nant.* stuff set") NAnt Props: nant.filename nant.version nant.location nant.project.name nant.project.buildfile (if doc has baseuri) nant.project.basedir nant.project.default = defaultTarget nant.tasks.[name] = true nant.tasks.[name].location = AssemblyFileName An representing the project definition. The project message threshold. The project indentation level. Optimization flags. is . This method is only meant to be used by the class and . Creates a new based on the project definition. The full path to the build file. This can be of any form that accepts. An based on the specified project definition. Configures the platform properties for the current platform. NAnt does not support the current platform. Updates dependent properties when the is set. Topologically sorts a set of targets. The name of the root target. The sort is created in such a way that the sequence of targets up to the root target is the minimum possible such sequence. Must not be . A collection of instances. A collection of instances in sorted order. There is a cyclic dependecy among the targets, or a named target does not exist. Performs a single step in a recursive depth-first-search traversal of the target dependency tree. The current target is first set to the "visiting" state, and pushed onto the "visiting" stack. An exception is then thrown if any child of the current node is in the visiting state, as that implies a circular dependency. The exception contains details of the cycle, using elements of the "visiting" stack. If any child has not already been "visited", this method is called recursively on it. The current target is then added to the ordered list of targets. Note that this is performed after the children have been visited in order to get the correct order. The current target is set to the "visited" state. By the time this method returns, the ordered list contains the sequence of targets up to and including the current target. The current target to inspect. Must not be . A collection of instances. A mapping from targets to states The states in question are "VISITING" and "VISITED". Must not be . A stack of targets which are currently being visited. Must not be . The list to add target names to. This will end up containing the complete list of depenencies in dependency order. Must not be . A non-existent target is specified -or- A circular dependency is detected. Builds an appropriate exception detailing a specified circular dependency. The dependency to stop at. Must not be . A stack of dependencies. Must not be . A detailing the specified circular dependency. Gets or sets the indendation level of the build output. The indentation level of the build output. To change the , the and methods should be used. Gets or sets the indentation size of the build output. The indendation size of the build output. Gets or sets the default threshold level for build loggers. The default threshold level for build loggers. Gets the name of the . The name of the or an empty if no name is specified. Gets or sets the base directory used for relative references. The base directory used for relative references. The directory is not rooted. The gets and sets the built-in property named "nant.project.basedir". Gets the . The . The defines the current namespace scope and provides methods for looking up namespace information. Gets the form of the current project definition. The form of the current project definition. Gets a collection of available .NET frameworks. A collection of available .NET frameworks. Gets the framework in which NAnt is currently running. The framework in which NAnt is currently running. Gets or sets the framework to use for compilation. The framework to use for compilation. We will use compiler tools and system assemblies for this framework in framework-related tasks. Gets the name of the platform on which NAnt is currently running. The name of the platform on which NAnt is currently running. Possible values are: win32 unix NAnt does not support the current platform. Gets the current target. The current target, or if no target is executing. Gets the path to the build file. The path to the build file, or if the build document is not file backed. Gets the active definition. The active definition. Gets the NAnt should use to initialize configuration settings. The NAnt should use to initialize configuration settings. Gets the name of the target that will be executed when no other build targets are specified. The name of the target that will be executed when no other build targets are specified, or if no default target is specified in the build file. Gets a value indicating whether tasks should output more build log messages. if tasks should output more build log message; otherwise, . The list of targets to build. Targets are built in the order they appear in the collection. If the collection is empty the default target will be built. Gets the properties defined in this project. The properties defined in this project. This is the collection of properties that are defined by the system and property task statements. These properties can be used in expansion. Gets the framework-neutral properties defined in the NAnt configuration file. The framework-neutral properties defined in the NAnt configuration file. This is the collection of read-only properties that are defined in the NAnt configuration file. These properties can only be used for expansion in framework-specific and framework-neutral configuration settings. These properties are not available for expansion in the build file. Gets the instances defined in this project. The instances defined in this project. This is the collection of instances that are defined by (eg fileset) declarations. Gets the targets defined in this project. The targets defined in this project. Gets the build listeners for this project. The build listeners for this project. Allow the project construction to be optimized. Use this with care! Do not perform any optimizations. The project base directory must not be automatically scanned for extension assemblies. Do not scan the project configuration for frameworks, and do not configure the runtime and target framework. Holds a value indicating whether a scan for tasks, types and functions has already been performed for the current runtime framework. Initializes a new instance of the class for the given . The that should be configured. Loads and processes settings from the specified of the configuration file. Processes the framework nodes of the given platform node. An representing the platform on which NAnt is running. Reads the list of global properties specified in the NAnt configuration file. An representing global properties. Processes the framework environment variables. An representing framework environment variables. The to obtain framework-specific information from. Gets the value of the specified attribute from the specified node. The node of which the attribute value should be retrieved. The attribute of which the value should be returned. The value of the attribute with the specified name or if the attribute does not exist or has no value. Gets the underlying instance. The underlying instance. Gets the . The . The defines the current namespace scope and provides methods for looking up namespace information. Constant for the "visiting" state, used when traversing a DFS of property references. Constant for the "visited" state, used when travesing a DFS of property references. Initializes a new instance of the class holding properties for the given instance. The project for which the dictionary will hold properties. Performs additional custom processes before inserting a new element into the instance. The key of the element to insert. The value of the element to insert. Performs additional custom processes before removing an element from the instance. The key of the element to remove. The value of the element to remove. Performs additional custom processes when validating the element with the specified key and value. The key of the element to validate. The value of the element to validate. Adds a property that cannot be changed. The name of the property. The value to assign to the property. Properties added with this method can never be changed. Note that they are removed if the method is called. Marks a property as a property of which the value is expanded at execution time. The name of the property to mark as dynamic. Adds a property to the collection. The name of the property. The value to assign to the property. Determines whether the specified property is listed as read-only. The name of the property to check. if the property is listed as read-only; otherwise, . Determines whether the specified property is listed as dynamic. The name of the property to check. if the property is listed as dynamic; otherwise, . Inherits properties from an existing property dictionary Instance. Property list to inherit. The list of properties to exclude during inheritance. Expands a from known properties. The replacement tokens. The to pass through for any exceptions. The expanded and replaced string. Determines whether a property already exists. The name of the property to check. if the specified property already exists; otherwise, . Removes the property with the specified name. The name of the property to remove. Expands a from known properties. The replacement tokens. The to pass through for any exceptions. A mapping from properties to states. The states in question are "VISITING" and "VISITED". Must not be . A stack of properties which are currently being visited. Must not be . The expanded and replaced string. Evaluates the given expression string and returns the result Checks whether the specified property is deprecated. The property to check. Builds an appropriate exception detailing a specified circular reference. The property reference to stop at. Must not be . A stack of property references. Must not be . A detailing the specified circular dependency. Maintains a list of the property names that are readonly. Maintains a list of the property names of which the value is expanded on usage, not at initalization. The project for which the dictionary holds properties. Indexer property. Gets the project for which the dictionary holds properties. The project for which the dictionary holds properties. Initializes a new instance of the class. Creates a shallow copy of the . A shallow copy of the . Creates a shallow copy of the . A shallow copy of the . Executes dependent targets first, then the target. This indicates whether the target has already executed. The name of the target. Hides to have return the name of target, not the name of XML element - which would always be target. Note: Properties are not allowed in the name. If then the target will be executed; otherwise, skipped. The default is . Gets a value indicating whether the target should be executed. if the target should be executed; otherwise, . Opposite of . If then the target will be executed; otherwise, skipped. The default is . Gets a value indicating whether the target should NOT be executed. if the target should NOT be executed; otherwise, . The description of the target. Space separated list of targets that this target depends on. A collection of target names that must be executed before this target. Finds a target by name. The name of the target to find. The with the specified name, or if no exists with the given name. Gets the names of the targets in the combined into one list separated by the given . A that contains a list of the names of the targets in the , separated by the specified . Gets the names of the targets in the combined into one comma-separated list. A that contains a comma-separated list of the names of the targets in the . Creates a new instance of the class for the specified class in the specified. The containing the . The class representing the . Gets the name of the class that can be created using this . The name of the class that can be created using this . Gets the from which the task will be created. The containing the task. Gets the name of the task which the can create. The name of the task which the can create. Contains a strongly typed collection of objects. Initializes a new instance of the class. Initializes a new instance of the class with the specified instance. Initializes a new instance of the class with the specified array of instances. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new element was inserted. Adds the elements of a array to the end of the collection. The array of elements to be added to the end of the collection. Adds the elements of a to the end of the collection. The to be added to the end of the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Determines whether a for the specified task is in the collection. The name of task for which the should be located in the collection. if a for the specified task is found in the collection; otherwise, . Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. The zero-based index in at which copying begins. Retrieves the index of a specified object in the collection. The object for which the index is returned. The index of the specified . If the is not currently a member of the collection, it returns -1. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Returns an enumerator that can iterate through the collection. A for the entire collection. Removes a member from the collection. The to remove from the collection. Gets or sets the element at the specified index. The zero-based index of the element to get or set. Gets the for the specified task. The name of task for which the should be located in the collection. Enumerates the elements of a . Initializes a new instance of the class with the specified . The collection that should be enumerated. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Gets the current element in the collection. The current element in the collection. Comprises all of the loaded, and available, tasks. Use these static methods to register, initialize and create a task. Scans the given assembly for tasks, types, functions and filters. The assembly to scan for tasks, types, functions and filters. The which will be used to output messages to the build log. Scans the given assembly for tasks, types, functions and filters. The assembly to scan for tasks, types, functions and filters. The which will be used to output messages to the build log. if contains at least one "extension"; otherwise, . Scans the path for any task assemblies and adds them. The directory to scan in. The which will be used to output messages to the build log. indicating whether scanning of the directory should halt on first error. Adds any task assemblies in the project base directory and its tasks subdirectory. The project to work from. Registers the project with , and optionally scan the for extension assemblies. The project to work from. Specified whether to scan the for extension assemblies. Looks up a function by name. The name of the function to lookup, including namespace prefix. The in which the function is invoked. A representing the function, or if a function with the given name does not exist. Creates a new instance for the given XML and . The XML to initialize the task with. The that the belongs to. The new instance. Scans a given for tasks. The to scan. The which will be used to output messages to the build log. if represents a ; otherwise, . Scans a given for data type. The to scan. The which will be used to output messages to the build log. if represents a data type; otherwise, . Scans a given for functions. The to scan. The which will be used to output messages to the build log. if represents a valid set of funtions; otherwise, . Scans a given for filters. The to scan. The which will be used to output messages to the build log. if represents a ; otherwise, . Gets the list of loaded instances. List of loaded instances. Gets the list of loaded instances. List of loaded instances. Gets the list of loaded instances. List of loaded instances. Initializes a new instance of the class. Initializes a new instance of the class with a descriptive message. A descriptive message to include with the exception. Initializes a new instance of the class with the specified descriptive message and inner exception. A descriptive message to include with the exception. A nested exception that is the cause of the current exception. Initializes a new instance of the class with a descriptive message and the location in the build file that caused the exception. A descriptive message to include with the exception. The location in the build file where the exception occured. Initializes a new instance of the class with a descriptive message, the location in the build file and an instance of the exception that is the cause of the current exception. A descriptive message to include with the exception. The location in the build file where the exception occured. A nested exception that is the cause of the current exception. Initializes a new instance of the class with serialized data. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Initializes a new instance of the class. Initializes a new instance of the class with a descriptive message. A descriptive message to include with the exception. Initializes a new instance of the class with the specified descriptive message and inner exception. A descriptive message to include with the exception. A nested exception that is the cause of the current exception. Initializes a new instance of the class with the specified . of the invalid volume. Initializes a new instance of the class with serialized data. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Represents the different types of drives that may exist in a system. Represents the different supporting flags that may be set on a file system. Presents information about a volume. Initializes a new instance of the class. Uses a private access modifier to prevent instantiation of this class. Determines whether the file system is case sensitive. Performs a P/Invoke to the Win32 API GetVolumeInformation. if the specified volume is case-sensitive; otherwise, . Used to wrap log messages in xml <message/> elements. Holds the stack of currently executing projects. Initializes a new instance of the class. Initializes a new instance of the class with serialized data. The that holds the serialized object data. The that contains contextual information about the source or destination. Populates with the data needed to serialize the instance. The to populate with data. The destination for this serialization. Returns the contents of log captured. Signals that a build has started. The source of the event. A object that contains the event data. This event is fired before any targets have started. Signals that the last target has finished. The source of the event. A object that contains the event data. This event will still be fired if an error occurred during the build. Signals that a target has started. The source of the event. A object that contains the event data. Signals that a target has finished. The source of the event. A object that contains the event data. This event will still be fired if an error occurred during the build. Signals that a task has started. The source of the event. A object that contains the event data. Signals that a task has finished. The source of the event. A object that contains the event data. This event will still be fired if an error occurred during the build. Signals that a message has been logged. The source of the event. A object that contains the event data. Only messages with a priority higher or equal to the threshold of the logger will actually be output in the build log. Flushes buffered build events or messages to the underlying storage. Gets or sets the highest level of message this logger should respond to. The highest level of message this logger should respond to. Only messages with a message level higher than or equal to the given level should be written to the log. Gets or sets a value indicating whether to produce emacs (and other editor) friendly output. as it has no meaning in XML format. Gets or sets the to which the logger is to send its output.