NAnt.DotNetTasks Generates an AssemblyInfo file using the attributes given. Create a C# AssemblyInfo file containing the specified assembly-level attributes. ]]> Create a C# AssemblyInfo file containing an attribute with multiple named properties by setting the attribute on the element to . ]]> Generates an AssemblyInfo file. Determines whether the specified AssemblyInfo file in the given needs to be persisted. holding the newly generated AssemblyInfo source. if the generated AssemblyInfo source needs to be persisted; otherwise, . Name of the AssemblyInfo file to generate. The name of the AssemblyInfo file to generate. The code language in which the AssemblyInfo file should be generated. The assembly-level attributes to generate. The assembly-level attributes to generate. The namespaces to import. The namespaces to import. Assembly files used to locate the types of the specified attributes. Defines the supported code languages for generating an AssemblyInfo file. A value for generating C# code. A value for generating JScript code. A value for generating Visual Basic code. Encapsulates functionality to generate a code file with imports and assembly-level attributes. Initializes a new instance of the for the specified . The for which an instance of the class should be initialized. The for which an instance of the class should be initialized. Generates code for the specified imports. The imports for which code should be generated. The to which the generated code will be written. Generates code for the specified assembly attributes. The assembly attributes for which code should be generated. Imports used to resolve the assembly attribute names to fully qualified type names. Assembly that will be used to resolve the attribute names to instances. The to which the generated code will be written. Gets the in which the AssemblyInfo code will be generated. Gets the that will be used to generate the AssemblyInfo code. Responsible for returning the specified value converted to a accepted by a constructor for a given . 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. Retrieves the specified corresponding with the specified type name from a list of assemblies. The collection of assemblies that the type should tried to be instantiated from. The list of imports that can be used to resolve the typename to a full typename. The typename that should be used to determine the type to which the specified value should be converted. The value that should be converted to a typed value. is and the identified by has no default public constructor. -or- cannot be converted to a value that's suitable for one of the constructors of the identified by . -or- The identified by has no suitable constructor. -or- A identified by could not be located or loaded. Wraps al.exe, the assembly linker for the .NET Framework. All specified sources will be embedded using the /embed flag. Other source types are not supported. Create a library containing all icon files in the current directory. ]]> Generates an assembly manifest. Determines whether the assembly manifest needs compiling or is uptodate. if the assembly manifest needs compiling; otherwise, . Specifies an algorithm (in hexadecimal) to hash all files in a multifile assembly except the file that contains the assembly manifest. The default algorithm is CALG_SHA1. Specifies a string for the Company field in the assembly. A string for the Company field in the assembly. If is an empty string (""), the Win32 Company resource appears as a single space. Specifies a string for the Configuration field in the assembly. A string for the Configuration field in the assembly. If is an empty string (""), the Win32 Configuration resource appears as a single space. Specifies a string for the Copyright field in the assembly. A string for the Copyright field in the assembly. If is an empty string (""), the Win32 Copyright resource appears as a single space. The culture string associated with the output assembly. The string must be in RFC 1766 format, such as "en-US". Corresponds with the /c[ulture]: flag. Specifies whether the assembly should be partially signed. The default is . Specifies a string for the Description field in the assembly. A string for the Description field in the assembly. If is an empty string (""), the Win32 Description resource appears as a single space. Security evidence file to embed. The security evidence file to embed. Corresponds with the /e[vidence] flag. Specifies a string for the File Version field in the assembly. A string for the File Version field in the assembly. Specifies a value (in hexadecimal) for the Flags field in the assembly. A value (in hexadecimal) for the Flags field in the assembly. Specifies a container that holds a key pair. Specifies a file (filename) that contains a key pair or just a public key to sign an assembly. The complete path to the key file. Corresponds with the /keyf[ile]: flag. Specifies the fully-qualified name (class.method) of the method to use as an entry point when converting a module to an executable file. The fully-qualified name (class.method) of the method to use as an entry point when converting a module to an executable file. The name of the output file for the assembly manifest. The complete output path for the assembly manifest. Corresponds with the /out flag. The target type (one of lib, exe, or winexe). Corresponds with the /t[arget]: flag. Specifies a string for the Product field in the assembly. A string for the Product field in the assembly. Specifies a string for the Product Version field in the assembly. A string for the Product Version field in the assembly. The set of resources to embed. The set of compiled resources to embed. Do not yet expose this to build authors. Indicates whether the assembly linker for a given target framework supports the "template" option, which takes an assembly from which to get all options except the culture field. The default is . TODO: remove this once Mono bug #74814 is fixed. Specifies an assembly from which to get all options except the culture field. The complete path to the assembly template. Corresponds with the /template: flag. Specifies a string for the Title field in the assembly. A string for the Title field in the assembly. Specifies a string for the Trademark field in the assembly. A string for the Trademark field in the assembly. Specifies version information for the assembly. The format of the version string is major.minor.build.revision. Icon to associate with the assembly. Inserts a Win32 resource (.res file) in the output file. Gets the command-line arguments for the external program. The command-line arguments for the external program or if the task is not being executed. Provides the abstract base class for compiler tasks. Contains a list of extensions for all file types that should be treated as 'code-behind' when looking for resources. Ultimately this will determine if we use the "namespace+filename" or "namespace+classname" algorithm, since code-behind will use the "namespace+classname" algorithm. Case-insensitive list of valid culture names for this platform. The key of the is the culture name and the value is . Class constructor for . Compiles the sources and resources. Determines the manifest resource name of the given resource file. The containing information that will used to assemble the manifest resource name. The resource file of which the manifest resource name should be determined. The logical location of the resource file. The source file on which the resource file depends. The manifest resource name of the specified resource file. Determines the manifest resource name of the given resource file. The containing information that will used to assemble the manifest resource name. The resource file of which the manifest resource name should be determined. The manifest resource name of the specified resource file. For .resx resources, the name of the dependent is determined by replacing the extension of the file with the extension of the source files for the compiler, and removing the culture name from the file name for localized resources. Extracts the associated namespace/classname linkage found in the given stream. The read-only stream of the source file to search. The namespace/classname of the source file matching the resource. Writes package references to the specified . The to which the package references should be written. Writes list of warnings to (not) treat as errors to the specified . The to which the list of warnings should be written. Writes list of warnings to suppress to the specified . The to which the list of warnings to suppress should be written. Writes conditional compilation constants to the specified . The to which the conditional compilation constants should be written. Writes module references to the specified . The to which the module references should be written. Allows derived classes to provide compiler-specific options. The to which the compiler options should be written. Writes an option using the default output format. The to which the compiler options should be written. The name of the option which should be passed to the compiler. Writes an option and its value using the default output format. The to which the compiler options should be written. The name of the option which should be passed to the compiler. The value of the option which should be passed to the compiler. The combination of and (separated by a colon) is quoted unless is already surrounded by quotes. Determines whether compilation is needed. Finds the correct namespace/classname for a resource file from the given dependent source file. The file from which the resource linkage of the resource file should be determined. The culture of the resource file for which the resource linkage should be determined. The namespace/classname of the source file matching the resource or if the dependent source file does not exist. This behaviour may be overidden by each particular compiler to support the namespace/classname syntax for that language. Link a list of files into a resource assembly. The collection of resources. Resource assembly to generate Culture of the generated assembly. Compiles a set of resx files to a .resources files. The set of resx files to compile. Determines the culture associated with a given resource file by scanning the filename for valid culture names. The resource file path to check for culture info. The file on which the resource file depends. A valid instance if the resource is associated with a specific culture; otherwise, . Generate debug output. The default is . Only used for <jsc> tasks, but retained for backward compatibility (Clover.NET). The output file created by the compiler. Output type. Possible values are exe, winexe, library or module. Define conditional compilation symbol(s). Corresponds to /d[efine]: flag. Icon to associate with the application. Corresponds to /win32icon: flag. Instructs the compiler to treat all warnings as errors. The default is . Corresponds to the /warnaserror[+|-] flag of the compiler. When this property is set to , any messages that would ordinarily be reported as warnings will instead be reported as errors. Controls which warnings should be reported as errors. Specifies a comma-separated list of warnings that should be suppressed by the compiler. Comma-separated list of warnings that should be suppressed by the compiler. Corresponds with the /nowarn flag. Specifies a list of warnings that you want the compiler to suppress. Instructs NAnt to recompile the output file regardless of the file timestamps. When this parameter is to , NAnt will always run the compiler to rebuild the output file, regardless of the file timestamps. Specifies which type contains the Main method that you want to use as the entry point into the program. Corresponds to the /m[ain]: flag of the compiler. Use this property when creating an executable file. If this property is not set, the compiler searches for a valid Main method in all public classes. Specifies the key pair container used to strongname the assembly. Specifies a strong name key file. Additional directories to search in for assembly references. Corresponds with the /lib[path]: flag. Reference metadata from the specified assembly files. Specifies list of packages to reference. Resources to embed. This can be a combination of resx files and file resources. .resx files will be compiled by and then embedded into the resulting executable. The property is used to make up the resource name added to the assembly manifest for non-resx files. For .resx files the namespace from the matching source file is used as prefix. This matches the behaviour of Visual Studio. Multiple resources tags with different namespace prefixes may be specified. Link the specified modules into this assembly. The set of source files for compilation. Indicates whether package references are supported by compiler for a given target framework. The default is . Indicates whether the compiler for a given target framework supports the "warnaserror" option that takes a list of warnings. The default is . Indicates whether the compiler for a given target framework supports a command line option that allows a list of warnings to be suppressed. The default is . Indicates whether the compiler for a given target framework supports the "keycontainer" option. The default is . Indicates whether the compiler for a given target framework supports the "keyfile" option. The default is . Gets the file extension required by the current compiler. The file extension required by the current compiler. Gets the class name regular expression for the language of the current compiler. class name regular expression for the language of the current compiler Gets the namespace regular expression for the language of the current compiler. namespace regular expression for the language of the current compiler Gets the command-line arguments for the external program. The command-line arguments for the external program. Holds class and namespace information for resource (*.resx) linkage. Initializes a new instance of the class. The namespace the resource is under. The class name the resource is associated with. Returns the resource linkage as a string. A string representation of the resource linkage. Gets a value indicating whether the instances contains valid data. if the instance contains valid data; otherwise, . Gets a value indicating whether a namespace name is available for this instance. if a namespace name is available for this instance; otherwise, . Gets a value indicating whether a class name is available for this instance. if a class name is available for this instance; otherwise, . Gets the name of namespace the resource is under. The name of namespace the resource is under. Gets the name of the class (most likely a form) that the resource is associated with. The name of the class the resource is associated with. Gets the culture that the resource is associated with. The culture that the resource is associated with. Compiles C# programs. In order to have generate manifest resource names that match those generated by Microsoft Visual Studio.NET, the value of the attribute of the <> element should match the "Default Namespace" of the C# project, and the value of the attribute should be set to "". Compile a "HelloWorld" application, including embedded resources. ]]> Writes the compiler options to the specified . to which the compiler options should be written. Determines whether compilation is needed. The preferred base address at which to load a DLL. The default base address for a DLL is set by the .NET Framework common language runtime. The preferred base address at which to load a DLL. This address can be specified as a decimal, hexadecimal, or octal number. Specifies the type of debugging information generated by the compiler. The default is . No longer expose this to build authors. Use instead. The name of the XML documentation file to generate. Corresponds with the /doc: flag. Specifies the size of sections in the output file. Valid values are 512, 1024, 2048, 4096, and 8192. The size of sections in the output file. Instructs the compiler not to import mscorlib.dll. The default is . Corresponds with the /nostdlib[+|-] flag. Instructs the compiler not to use implicit references to assemblies. The default is . Corresponds with the /noconfig flag. Specifies whether an integer arithmetic statement that is not in the scope of the checked or unchecked keywords and that results in a value outside the range of the data type should cause a run-time exception. The default is . Corresponds with the /checked[+|-] flag. Instructs the compiler to allow code that uses the unsafe keyword. The default is . Corresponds with the /unsafe[+|-] flag. Causes the compiler to only accept syntax that is included in a given specification. Corresponds with the /langversion flag. Specifies whether the compiler should perform optimizations to the make output files smaller, faster, and more effecient. The default is . if the compiler should perform optimizations; otherwise, . Corresponds with the /optimize[+|-] flag. Specifies which platform version of common language runtime (CLR) can run the output file. The platform version of common language runtime (CLR) that can run the output file. Corresponds with the /platform flag. Specifies the warning level for the compiler to display. Valid values are 0-4. The default is 4. The warning level for the compiler to display. Corresponds with the /warn flag. Specifies the code page to use for all source code files in the compilation. Corresponds with the /codepage flag. Specifies whether the compiler for the active target framework supports generation of XML Documentation file. The default is . Specifies whether the compiler for the active target framework supports limiting the platform on which the compiled code can run. The default is . Specifies whether the compiler for the active target framework supports accepting only a specific language syntax. The default is . Gets the file extension required by the current compiler. For the C# compiler, the file extension is always cs. Gets the class name regular expression for the language of the current compiler. Class name regular expression for the language of the current compiler. Gets the namespace regular expression for the language of the current compiler. Namespace regular expression for the language of the current compiler. Signs delay-signed .NET Assemblies, or re-signs existing assemblies. The delay-signing mechanism takes a fileset (named targets) and either a attribute for a file containing the public and private keys, or to name a key container. Sign partially-signed foo.dll with bar.snk. ]]> Converts a single file or group of files. List of assemblies/executables to sign. Specifies the filesystem path to the signing key. Specifies the key container. Gets the command line arguments for the external program. The command line arguments for the external program. Compiles ILASM programs. Compiles helloworld.il to helloworld.exe. ]]> Compiles the sources. Writes the compiler options. Writes an option using the default output format. The to which the compiler options should be written. A that contains the name of the option which should be passed to the compiler. Writes an option and its value using the default output format. The to which the compiler options should be written. A that contains the name of the option which should be passed to the compiler. A that contains the value of the option which should be passed to the compiler. Determines whether or not compilation is needed. if compilation is needed; otherwise, . Specifies whether or not the compiler should measure and report the compilation times. if the compilation times should be measured and reported; otherwise, . The default is . Corresponds to the /CLOCK flag. Specifies whether or not the compiler should generate debug information. if debug information should be generated; otherwise, . The default is . Corresponds to the /DEBUG flag. Specifies whether or not the compiler should attempt to create a PE file even if compilation errors have been reported. if a PE file has to be created even if compilation errors have been reported; otherwise, . The default is . Corresponds to the /ERROR flag. Instructs NAnt to recompile the output file regardless of the file timestamps. if the output file should be recompiled regardless of its timestamps; otherwise . The default is . Specifies whether or not the compiler should type a formatted listing of the compilation result. if a formatted listing of the compilation result should be typed; otherwise, . The default is . Corresponds to the /LISTING flag. Instructs the compiler to set the FileAlignment value in the PE header. An that represents the FileAlignment value to set in the PE header. The value must be a power of 2, in range from 512 to 65536. Corresponds to the /ALIGNMENT flag. Instructs the compiler to set the ImageBase value in the PE header. A that represents the ImageBase value to set in the PE header. Corresponds to the /BASE flag. Instructs the compiler to set the Flags value in the CLR header. An that represents the Flags value to set in the CLR header. The most frequently value are 1 (pre-IL code) and 2 (mixed code). The third bit indicating that the PE file is strong signed, is ignored. Corresponds to the /FLAGS flag. Instructs the compiler to set the Subsystem value in the PE header. An that represents the Subsystem value to set in the PE header. The most frequently value are 3 (console application) and 2 (GUI application). Corresponds to the /SUBSYSTEM flag. Specifies which output type should be generated. A that contains the target type. Possible values are dll and exe. Corresponds to the /OUTPUT flag. Instructs the compiler to generate a strong signature of the PE file. A that contains the private encryption key. Corresponds to the /KEY=keysource]]> flag. Instructs the compiler to generate a strong signature of the PE file. A that represents the file containing the private encryption key. Corresponds to the /KEY=keyfile]]> flag. Specifies the name of the output file created by the compiler. A that represents the name of the output file. Corresponds to the /OUTPUT flag. Instructs the compiler to link the specified unmanaged resource file into the resulting PE file. A that represents the unmanaged resource file to link. Corresponds to the /RESOURCE flag. Specifies the set of source files to compile. A that represents the set of source files to compile. Gets the command-line arguments for the external program. A that contains the command-line arguments for the external program. Compiles JScript.NET programs. Compile helloworld.js to helloworld.exe. ]]> Writes module references to the specified . The to which the module references should be written. Writes the compiler options to the specified . to which the compiler options should be written. Specifies which platform version of common language runtime (CLR) can run the output file. The platform version of common language runtime (CLR) that can run the output file. Corresponds with the /platform flag. Specifies the warning level for the compiler to display. Valid values are 0-4. The default is 4. The warning level for the compiler to display. Corresponds with the /warn flag. Controls which warnings should be reported as errors. Override to avoid exposing this to build authors, as the JScript.NET compiler does not allow control over which warnings should be reported as errors. Specifies a comma-separated list of warnings that should be suppressed by the compiler. Override to avoid exposing this to build authors, as the JScript.NET compiler does not support package references. Specifies a list of warnings that you want the compiler to suppress. Override to avoid exposing this to build authors, as the JScript.NET compiler does not support suppressing warnings. Specifies the code page to use for all source code files in the compilation. Corresponds with the /codepage flag. Specifies the key pair container used to strongname the assembly. Override to avoid exposing this to build authors, as the JScript.NET does not support this. Specifies a strong name key file. Override to avoid exposing this to build authors, as the JScript.NET does not support this. Indicates whether the compiler for a given target framework supports the "keycontainer" option. The default is . . Override to avoid exposing this to build authors, as the JScript.NET does not support this. Indicates whether the compiler for a given target framework supports the "keyfile" option. The default is . . Override to avoid exposing this to build authors, as the JScript.NET does not support this. Specifies whether the compiler for the active target framework supports limiting the platform on which the compiled code can run. The default is . Link the specified modules into this assembly. Override to avoid exposing this to build authors, as the JScript.NET compiler does not support linking modules. Gets the file extension required by the current compiler. For the JScript.NET compiler, the file extension is always js. Gets the class name regular expression for the language of the current compiler. Class name regular expression for the language of the current compiler. Gets the namespace regular expression for the language of the current compiler. Namespace regular expression for the language of the current compiler. Generates a .licence file from a .licx file. If no output file is specified, the default filename is the name of the target file with the extension .licenses appended. Generate the file component.exe.licenses file from component.licx. ]]> Initializes the class. The used to initialize the task. Updates the of the specified . The of which the should be updated. Generates the license file. Determines whether the .licenses file needs to be recompiled or is uptodate. The .licenses file. if the .licenses file needs compiling; otherwise, . Input file to process. Name of the license file to output. Names of the references to scan for the licensed component. Specifies the executable for which the .licenses file is generated. Specifies the executable for which the .licenses file is generated. Indicates whether assembly references are supported by the current target framework. The default is . Applies only to frameworks having a command line tool for compiling licenses files. Indicates whether the current target framework has a command line tool for compiling licenses files. The default is . Gets the working directory for the application. The working directory for the application. The command-line arguments for the external program. Override to avoid exposing these elements in build file. Gets the command-line arguments for the external program. The command-line arguments for the external program. 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. Responsible for reading the license and writing them to a license file. 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. Creates the whole license file. The instance for which the license file should be created. The .licenses file to create. Determines whether the given object is serializable in binary format. The object to check. if is serializable in binary format; otherwise, . Runs NDoc V1.3.1 to create documentation. See the NDoc home page for more information. By default, only the NDoc MSDN documenter ships as part of the NAnt distribution. To make another NDoc documenter from the NDoc V1.3.1 distribution available to the , copy the documenter assembly (and possible dependencies) to the "lib" directory corresponding with the CLR you're running NAnt on (eg. <nant root>/bin/lib/net/1.1). Document two assemblies using the MSDN documenter. The namespaces are documented in NamespaceSummary.xml. ]]> Content of NamespaceSummary.xml : The Foo.Bar namespace reinvents the wheel. The Foo.Bar.Tests namespace ensures that the Foo.Bar namespace reinvents the wheel correctly. ]]> Initializes the taks and verifies the parameters. containing the XML fragment used to define this task instance. Generates an NDoc project and builds the documentation. Represents the method that will be called to update the overall percent complete value and the current step name. The source of the event. A that contains the event data. Represents the method that will be called to update the current step's precent complete value. The source of the event. A that contains the event data. Returns the documenter for the given project. Documenter is not found. is . Performs macro expansion for the given nodes. for which expansion should be performed. The set of assemblies to document. The set of namespace summary files. Specifies the formats in which the documentation should be generated. Collection of additional directories to search for referenced assemblies. Installs or removes .NET Services. This tasks provides the same functionality as the regsvcs tool provided in the .NET SDK. It performs the following actions: Loads and registers an assembly. Generates, registers, and installs a type library into a specified COM+ application. Configures services that are added programmatically to your class. Refer to the .NET Services Installation Tool (Regsvcs.exe) for more information. Adds all public classes contained in myTest.dll to a COM+ application and produces the myTest.tlb type library. If the application already exists, it is overwritten. ]]> Adds all public classes contained in myTest.dll to myTargetApp and produces the myTest.tlb type library. If the application already exists, it is overwritten. ]]> Adds all public classes contained in myTest.dll to a COM+ application and produces the myTest.tlb type library. A new application is always created. ]]> Uninstalls the COM+ application contained in myTest.dll. ]]> Performs the specified action. Defines the action to take with the assembly. The default is . The source assembly file. The assembly must be signed with a strong name. Specifies the type library file to install. Uses an existing type library. The default is . Do not reconfigure an existing target application. The default is . Configures components only; ignores methods and interfaces. The default is . Expect an existing application. The default is . Specifies the name of the COM+ application to either find or create. Specifies the name or id of the COM+ application to either find or create. Gets the command-line arguments for the external program. The command-line arguments for the external program. Defines the possible actions for a .NET Service. Finds or creates the target application. Creates the target application. Uninstalls the target application. Converts files from one resource format to another. If no is specified, the resource file will be created next to the input file. Convert a resource file from the .resx to the .resources format. ]]> Convert a set of .resx files to the .resources format. ]]> Updates the of the specified . The of which the should be updated. Converts a single file or group of files. Cleans up generated files. Determines whether the specified input file needs to be compiled. The input file. The output file. if the input file need to be compiled; otherwise . Determines the full path and extension for the output file. The output file for which the full path and extension should be determined. The full path (with extensions) for the specified file. Determines whether the specified resource file references third party assemblies by checking whether a <data> element exists with a "type" attribute that does not start with "System.". The resource file to check. if the resource file references third party assemblies, or an error occurred; otherwise, . This check will only be accurate for 1.0 resource file, but the 2.0 resx files can only be compiled with a resgen tool that supported assembly references, so this method will not be used anyway. Returns a list of external file references for the specified file. The resx file for which a list of external file references should be returned. A list of external file references for the specified file, or if does not exist or does not support external file references. Input file to process. The full path to the input file. The resource file to output. The target type. The default is resources. The directory to which outputs will be stored. Use each source file's directory as the current directory for resolving relative file paths. The default is . Only supported when targeting .NET 2.0 (or higher). Takes a list of .resx or .txt files to convert to .resources files. Reference metadata from the specified assembly files. Indicates whether assembly references are supported by the resgen tool for the current target framework. The default is . Indicates whether external file references are supported by the resgen tool for the current target framework. The default is . For internal use only ! Gets the working directory for the application. The working directory for the application. Gets the command line arguments for the external program. The command line arguments for the external program. 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. For internal use only ! Initializes a new instance of the class for a given input and output file. The resource to compile. The compiled resource. Gets the resource file to compile. The resource file to compile. Gets the compiled resource file. The compiled resource file. Executes the code contained within the task. This code can include custom extension function definitions. Once the script task has executed those custom functions will be available for use in the buildfile. The must contain a single code element, which in turn contains the script code. A static entry point named ScriptMain is required if no custom functions have been defined. It must have a single parameter. The following namespaces are loaded by default: System System.Collections System.Collections.Specialized System.IO System.Text System.Text.RegularExpressions NAnt.Core Run C# code that writes a message to the build log. <script language="C#"> <code> <![CDATA[ public static void ScriptMain(Project project) { project.Log(Level.Info, "Hello World from a script task using C#"); } ]]> </code> </script> Define a custom function and call it using C#. <script language="C#" prefix="test" > <code> <![CDATA[ [Function("test-func")] public static string Testfunc( ) { return "some result !!!!!!!!"; } ]]> </code> </script> <echo message='${test::test-func()}'/> Use a custom namespace in C# to create a database <script language="C#" > <references> <include name="System.Data.dll" /> </references> <imports> <import namespace="System.Data.SqlClient" /> </imports> <code> <![CDATA[ public static void ScriptMain(Project project) { string dbUserName = "nant"; string dbPassword = "nant"; string dbServer = "(local)"; string dbDatabaseName = "NAntSample"; string connectionString = String.Format("Server={0};uid={1};pwd={2};", dbServer, dbUserName, dbPassword); SqlConnection connection = new SqlConnection(connectionString); string createDbQuery = "CREATE DATABASE " + dbDatabaseName; SqlCommand createDatabaseCommand = new SqlCommand(createDbQuery); createDatabaseCommand.Connection = connection; connection.Open(); try { createDatabaseCommand.ExecuteNonQuery(); project.Log(Level.Info, "Database added successfully: " + dbDatabaseName); } catch (Exception e) { project.Log(Level.Error, e.ToString()); } finally { connection.Close(); } } ]]> </code> </script> Run Visual Basic.NET code that writes a message to the build log. <script language="VB"> <code> <![CDATA[ Public Shared Sub ScriptMain(project As Project) project.Log(Level.Info, "Hello World from a script task using Visual Basic.NET") End Sub ]]> </code> </script> Define a custom task and call it using C#. <script language="C#" prefix="test" > <code> <![CDATA[ [TaskName("usertask")] public class TestTask : Task { #region Private Instance Fields private string _message; #endregion Private Instance Fields #region Public Instance Properties [TaskAttribute("message", Required=true)] public string FileName { get { return _message; } set { _message = value; } } #endregion Public Instance Properties #region Override implementation of Task protected override void ExecuteTask() { Log(Level.Info, _message.ToUpper()); } #endregion Override implementation of Task } ]]> </code> </script> <usertask message='Hello from UserTask'/> Define a custom function and call it using Boo. <script language="Boo.CodeDom.BooCodeProvider, Boo.CodeDom, Version=1.0.0.0, Culture=neutral, PublicKeyToken=32c39770e9a21a67" failonerror="true"> <code> <![CDATA[ [Function("test-func")] def MyFunc(): return "Hello from Boo !!!!!!" ]]> </code> </script> <echo message='${script::test-func()}'/> Initializes the task using the specified xml node. Executes the script block. The language of the script block. Possible values are "VB", "vb", "VISUALBASIC", "C#", "c#", "CSHARP". "JS", "js", "JSCRIPT" "VJS", "vjs", "JSHARP" or a fully-qualified name for a class implementing . Any required references. The name of the main class containing the static ScriptMain entry point. The namespace prefix for any custom functions defined in the script. If ommitted the prefix will default to 'script' The namespaces to import. The code to execute. Compiles Visual Basic.NET programs. In order to have generate manifest resource names that match those generated by Microsoft Visual Studio.NET, the value of the attribute of the <> element should match the "Root namespace" of the VB.NET project, and the value of the attribute should be set to "". Example build file using this task. ]]> Finds the correct namespace/classname for a resource file from the given dependent source file, and ensure the is prefixed. The file from which the resource linkage of the resource file should be determined. The culture of the resource file for which the resource linkage should be determined. The namespace/classname of the source file matching the resource or if the dependent source file does not exist. Writes conditional compilation constants to the specified . The to which the conditional compilation constants should be written. Writes the compiler options to the specified . to which the compiler options should be written. Determines whether compilation is needed. The preferred base address at which to load a DLL. The default base address for a DLL is set by the .NET Framework common language runtime. The preferred base address at which to load a DLL. This address must be specified as a hexadecimal number. Specifies the type of debugging information generated by the compiler. The default is . No longer expose this to build authors. Use instead. The name of the XML documentation file to generate. Only supported when targeting .NET 2.0 (or higher). Corresponds with the /doc: flag. Specifies whether the /imports option gets passed to the compiler. The value of this attribute is a string that contains one or more namespaces separated by commas. See the Microsoft.NET Framework SDK documentation for details. Example of an imports attribute The namespaces to import. Instructs the compiler not to reference standard libraries (system.dll and VBC.RSP). The default is . Only supported when targeting .NET 2.0 (or higher). Corresponds with the /nostdlib flag. Specifies whether /optioncompare option gets passed to the compiler. text, binary, or an empty string. If the value is or an empty string, the option will not be passed to the compiler. See the Microsoft.NET Framework SDK documentation for details. Specifies whether the /optionexplicit option gets passed to the compiler. The default is . if the option should be passed to the compiler; otherwise, . See the Microsoft.NET Framework SDK documentation for details. Specifies whether the /optimize option gets passed to the compiler. The default is . if the option should be passed to the compiler; otherwise, . See the Microsoft.NET Framework SDK documentation for details. Specifies whether the /optionstrict option gets passed to the compiler. The default is . if the option should be passed to the compiler; otherwise, . See the Microsoft.NET Framework SDK documentation for details. Specifies which platform version of common language runtime (CLR) can run the output file. The platform version of common language runtime (CLR) that can run the output file. Corresponds with the /platform flag. Specifies whether the /removeintchecks option gets passed to the compiler. The default is . if the option should be passed to the compiler; otherwise, . See the Microsoft.NET Framework SDK documentation for details. Specifies whether the /rootnamespace option gets passed to the compiler. The value of this attribute is a string that contains the root namespace of the project. See the Microsoft.NET Framework SDK documentation for details. Specifies whether the compiler for the active target framework supports generation of XML Documentation file. The default is . Specifies whether the compiler for the active target framework supports NOT referencing standard libraries (system.dll and VBC.RSP). The default is . Specifies whether the compiler for the active target framework supports limiting the platform on which the compiled code can run. The default is . Gets the file extension required by the current compiler. For the VB.NET compiler, the file extension is always vb. Gets the class name regular expression for the language of the current compiler. Class name regular expression for the language of the current compiler. Gets the namespace regular expression for the language of the current compiler. Namespace regular expression for the language of the current compiler. Compiles Visual J# programs using vjc, Microsoft's J# compiler. In order to have generate manifest resource names that match those generated by Microsoft Visual Studio.NET, the value of the attribute of the <> element should match the "Default Package" of the J#.NET project, and the value of the attribute should be set to "". Compile a "HelloWorld" application, including embedded resources. ]]> Writes module references to the specified . The to which the module references should be written. Writes the compiler options to the specified . to which the compiler options should be written. The preferred base address at which to load a DLL. The default base address for a DLL is set by the .NET Framework common language runtime. The preferred base address at which to load a DLL. This address can be specified as a decimal, hexadecimal, or octal number. Specifies the type of debugging information generated by the compiler. The default is . No longer expose this to build authors. Use instead. Specifies whether package-scoped members are accessible outside of the assembly. In other words, package scope is treated as assembly scope when emitting metadata. The default is . if the option should be passed to the compiler; otherwise, . Corresponds to the /securescoping flag. See the Visual J# Reference for details. ]]> Specifies whether to disable language extensions. The value of this property must be either all, net, or an empty string. Corresponds to the /x flag. See the Visual J# Reference for details. To disable only the .NET Framework extensions: ]]> To disable the .NET Framework extensions and the VJ++ 6.0 extensions: ]]> Specifies the location of assemblies referenced by way of the /reference flag. Corresponds to the /libpath:dir[;dir2] flag. See the Visual J# Reference for details. Associate Java-language/COM package names. The value of this propery. must be package=namespace, @filename, or an empty string. Corresponds to the /jcpa:package=namespace and /jcpa:@filename flags. See the Visual J# Reference for details. Map package 'x' to namespace 'y': ]]> Specifies the code page to use for all source code files in the compilation. Corresponds with the /codepage flag. See the Visual J# Reference for details. Specifies the warning level for the compiler to display. Valid values are 0-4. The default is 4. The warning level for the compiler to display. Corresponds with the /warn option. Controls which warnings should be reported as errors. Override to avoid exposing this to build authors, as the Visual J# compiler does not allow control over which warnings should be reported as errors. Reference packages Override to avoid exposing this to build authors, as the Visual J# compiler does not support package references. Link the specified modules into this assembly. Override to avoid exposing this to build authors, as the Visual J# compiler does not support linking modules. Gets the file extension required by the current compiler. For the J# compiler, the file extension is always jsl. Gets the class name regular expression for the language of the current compiler. Class name regular expression for the language of the current compiler. Gets the namespace regular expression for the language of the current compiler. Namespace regular expression for the language of the current compiler. Override to avoid exposing the configuration setting for this task as Visual J# will never support package references. , as the Visual J# compiler will never support package references. Represents an assembly-level attribute. Initializes a new instance of the class. Typename of the assembly-level attribute. Value of the attribute. If then the value of the attribute will be set as is, without actually looking for a matching constructor or named properties. The default is . if the value of the attribute should be set as is; otherwise, . Indicates if the attribute should be generated. if the attribute should be generated; otherwise, . Indicates if the attribute should be not generated. if the attribute should be not generated; otherwise, . 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 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. A specialized used for setting the lib directories. The primary reason for this class is to allow the to always be the same value as the parent Initializes a new instance of the class. override this. We will always use the base directory of the parent. overriding without the TaskAttribute attribute prevents it being set in the source xml Specialized class for managing assembly files. If an include pattern does not contain any wildcard characters then the assembly will be searched for in following locations (in the order listed): The base directory of the fileset. The directories specified using the nested <lib> element. The assembly directory of the current target framework. Define a reference with name "sys.assemblies", holding a set of system assemblies. ]]> Use the predefined set of assemblies to compile a C# assembly. ]]> Compile a C# assembly using assembly references that are searched for in the "Third Party Assemblies" and "Company Assemblies" directories. ]]> Initializes a new instance of the class. copy constructor for FileSet. Required in order to assign references of FileSet type where AssemblyFileSets are used Do a normal scan and then resolve assemblies. Resolves references to system assemblies and assemblies that can be resolved using directories specified in . Additional directories to search in for assembly references. loosely Corresponds with the /lib[path]: flag of the various compiler tasks. Represents a compiler warning. A warning number, or comma-separated list of warnings, that you want the compiler to suppress or report. If then the element will be processed; otherwise, skipped. The default is . If then the element will be skipped; otherwise, processed. 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. Specifies the type of debugging information generated by the compiler. For backward compatibility, the following string values can also be used in build files: Value Corresponding field "true" "false" When set to then the following conditional compilation symbols will also be defined: DEBUG TRACE Create no debug information. Enable attaching a debugger to the running program. Enable attaching a debugger to the running program. Only display assembler when the running program is attached to the debugger. Specialized that also supports case-insensitive conversion of "true" to and "false" to . Initializes a new instance of the class. Converts the given object to the type of this converter, using the specified context and culture information. An that provides a format context. A object. If a is passed, the current culture is assumed. The to convert. An that represents the converted value. Represents an embedded resource. Do not yet expose this to build authors. Initializes a new instance of the with the specified file name and manifest resource name. The path of the compiled resource. The manifest resource name of the embedded resource. Gets the physical location of the resource to embed. The physical location of the resource to embed. Gets the manifest resource name to use when embedding the resource. The manifest resource name to use when embedding the resource. Contains a collection of items. Do not yet expose this to build authors. Base class for collections that needs to be globally referencable. Initializes a new instance of the class. Copies the items of the collection to an , starting at a particular index. The one-dimensional that is the destination of the items copied from the collection. The must have zero-based indexing. The zero-based index in at which copying begins. Returns an enumerator that can iterate through a collection. An that can be used to iterate through the collection. Removes an item at a specific index. The zero-based index of the item to remove. Removes all items from the collection. Used by methods that take instances as argument to verify whether the instance is valid for the collection class. The instance to verify. Checks whether the specified index is within the range of this collection. The index to check. Gets a value indicating whether access to the collection is synchronized (thread-safe). . Gets the number of items in the collection. The number of items in the collection. Gets an object that can be used to synchronize access to the collection. An object that can be used to synchronize access to the collection. Gets a value indicating whether the collection has a fixed size. . Gets a value indicating whether the collection has a fixed size. . Gets the list of elements contained in the instance. An containing the elements of the collection. Gets the of the items in this collection. The of the items in this collection. Returns an enumerator that can iterate through the collection. A for the entire collection. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Removes the specified from the collection. The to remove from the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Gets the location of a in the collection. The object to locate. The zero-based location of the in the collection. If the is not currently a member of the collection, -1 is returned. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new item was inserted. Adds the items of a to the end of the collection. The to be added to the end of the collection. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new item was inserted. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Removes the specified from the collection. The to remove from the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Gets the location of a in the collection. The object to locate. The zero-based location of the in the collection. If the is not currently a member of the collection, -1 is returned. Gets or sets the item at the specified index. The zero-based index of the item to get or set. Gets the with the specified manifest resource name. The manifest resource name of the to get. Gets the of the items in this collection. The of the items in this collection. Gets or sets the item at the specified index. The zero-based index of the item to get or set. Enumerates the items of a . Initializes a new instance of the class with the specified . The collection that should be enumerated. Advances the enumerator to the next item of the collection. if the enumerator was successfully advanced to the next item; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first item in the collection. Gets the current item in the collection. The current item in the collection. Gets the current item in the collection. The current item in the collection. Represents a namespace to import. Initializes a new instance of the class. Initializes a new instance of the class for the specified namespace. The namespace. is . The name of the namespace to import. The name of the namespace to import. The name of the namespace to import. The name of the namespace to import. Indicates if the import should be generated. if the import should be generated; otherwise, . Indicates if the import should be not generated. if the import should be not generated; otherwise, . Contains a collection of items. Define a reference with name "system.imports". ]]> Use the predefined set of imports to compile a VB.NET assembly. ]]> Returns an enumerator that can iterate through the collection. A for the entire collection. Returns a comma-delimited list of namespace imports. A comma-delimited list of namespace imports, or an empty if there are no namespace imports. Each namespace import is quoted individually. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Removes the specified from the collection. The to remove from the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Gets the location of a in the collection. The object to locate. The zero-based location of the in the collection. If the is not currently a member of the collection, -1 is returned. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new item was inserted. Adds the items of a to the end of the collection. The to be added to the end of the collection. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new item was inserted. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Removes the specified from the collection. The to remove from the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Gets the location of a in the collection. The object to locate. The zero-based location of the in the collection. If the is not currently a member of the collection, -1 is returned. Gets or sets the item at the specified index. The zero-based index of the item to get or set. Gets the with the specified namespace. The namespace of the to get. Gets the of the items in this collection. The of the items in this collection. Gets or sets the item at the specified index. The zero-based index of the item to get or set. Enumerates the items of a . Initializes a new instance of the class with the specified . The collection that should be enumerated. Advances the enumerator to the next item of the collection. if the enumerator was successfully advanced to the next item; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first item in the collection. Gets the current item in the collection. The current item in the collection. Gets the current item in the collection. The current item in the collection. Represents a package. Name of the package to reference. Multiple package can be specified with a single element as a semi-colon separated list of package names. Indicates if the package should be passed to the task. If then the package will be passed; otherwise, skipped. The default is . Indicates if the package should not be passed to the task. If then the package will be passed; otherwise, skipped. The default is . 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. Specialized class for managing resource files. Initializes a new instance of the class. copy constructor for FileSet. Required in order to assign references of FileSet type where ResourceFileSet are used Creates a shallow copy of the . A shallow copy of the . Gets the manifest resource name for the specified resource file. The physical path of the resource file. The manifest resource name to be sent to the compiler. Gets the manifest resource name for the file using both its physical and logical path. The physical path of the resource file. The logical location of the resource file. The manifest resource name to be sent to the compiler. We use the relative path of the logical path, but the filename and and the extension of the physical path to match VS.NET Indicates the prefix to prepend to the actual resource. This is usually the default namspace of the assembly. Indicates that prefixes should be dynamically generated by taking the path of the resource relative to the basedir and appending it to the specified prefix. Gets a containing all matching resx files. A containing all matching resx files. Gets a containing all matching non-resx files. A containing all matching non-resx files. 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. Controls the behaviour of a compiler with regards to the reporting of warnings. Instruct a compiler to report warning 0519 as an error. ]]> Instruct a compiler not to report warning 0519 as an error, if the release property is . ]]> Specifies a list of warnings that the compiler should treat as errors. This overrides the attribute. Only supported when targeting .NET 2.0 or higher. Specifies a list of warnings that the compiler should NOT treat as errors. This is only useful if is . Only supported when targeting .NET 2.0 or higher.