NAnt
Help
Task Reference
<csc> |
v0.85-nightly-2005-11-09 |
[This is preliminary documentation and subject to change.]
Compiles C# programs.
Note: In order to have <csc> task generate manifest resource names that match those generated by Microsoft Visual Studio.NET, the value of the prefix attribute of the <resources> element should match the "Default Namespace" of the C# project, and the value of the dynamicprefix attribute should be set to "true".
| Attribute | Type | Description | Required |
|---|---|---|---|
| baseaddress | string | 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. | False |
| checked | bool | 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 false. |
False |
| codepage | string | Specifies the code page to use for all source code files in the compilation. | False |
| debug | DebugOutput | Specifies the type of debugging information generated by the compiler. The default is None. |
False |
| doc | file | The name of the XML documentation file to generate. | False |
| filealign | int | Specifies the size of sections in the output file. Valid values are 512, 1024, 2048, 4096, and 8192. | False |
| noconfig | bool | Instructs the compiler not to use implicit references to assemblies. The default is false. | False |
| nostdlib | bool | Instructs the compiler not to import mscorlib.dll. The default is false. | False |
| optimize | bool | Specifies whether the compiler should perform optimizations to the make output files smaller, faster, and more effecient. The default is false. | False |
| unsafe | bool | Instructs the compiler to allow code that uses the unsafe keyword. The default is false. |
False |
| warninglevel | string | Specifies the warning level for the compiler to display. Valid values are 0-4. The default is 4. |
False |
| output | file | The output file created by the compiler. | True |
| target | string | Output type. Possible values are exe, winexe, library or module. |
True |
| define | string | Define conditional compilation symbol(s). | False |
| failonerror | bool | Determines if task failure stops the build, or is just reported. The default is true. | False |
| if | bool | If true then the task will be executed; otherwise, skipped. The default is true. | False |
| main | string | Specifies which type contains the Main method that you want to use as the entry point into the program. | False |
| nowarn | string | Deprecated. Specifies a comma-separated list of warnings that should be suppressed by the compiler. | False |
| rebuild | bool | Instructs NAnt to recompile the output file regardless of the file timestamps. | False |
| timeout | int | The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. | False |
| unless | bool | Opposite of if. If false then the task will be executed; otherwise, skipped. The default is false. |
False |
| verbose | bool | Determines whether the task should report detailed build log messages. The default is false. | False |
| warnaserror | bool | Instructs the compiler to treat all warnings as errors. The default is false. | False |
| win32icon | file | Icon to associate with the application. | False |
| Attribute | Type | Description | Required |
|---|---|---|---|
| exename | string | The name of the executable that should be used to launch the external program. | False |
| noconfig | bool | Instructs the compiler not to use implicit references to assemblies. The default is false. | False |
| nostdlib | bool | Instructs the compiler not to import mscorlib.dll. The default is false. | False |
| supportsdocgeneration | bool | Specifies whether the compiler for the active target framework supports generation of XML Documentation file. The default is true. | False |
| supportsnowarnlist | bool | 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 false. | False |
| supportspackagereferences | bool | Indicates whether package references are supported by compiler for a given target framework. The default is false. | False |
| supportswarnaserrorlist | bool | Indicates whether the compiler for a given target framework supports the "warnaserror" option that takes a list of warnings. The default is false. | False |
| useruntimeengine | bool | Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. | False |
Represents a compiler warning.
| Attribute | Type | Description | Required |
|---|---|---|---|
| number | string | A warning number, or comma-separated list of warnings, that you want the compiler to suppress or report. | True |
| if | bool | If true then the element will be processed; otherwise, skipped. The default is true. | False |
| unless | bool | If true then the element will be skipped; otherwise, processed. The default is false. | False |
Represents a package.
| Attribute | Type | Description | Required |
|---|---|---|---|
| name | string | Name of the package to reference. Multiple package can be specified with a single element as a semi-colon separated list of package names. | True |
| if | bool | Indicates if the package should be passed to the task. If true then the package will be passed; otherwise, skipped. The default is true. | False |
| unless | bool | Indicates if the package should not be passed to the task. If false then the package will be passed; otherwise, skipped. The default is false. | False |
Represents a command-line argument.
| Attribute | Type | Description | Required |
|---|---|---|---|
| dir | directory | The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. | False |
| file | file | The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. | False |
| if | bool | Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. | False |
| line | string | List of command-line arguments; will be passed to the executable as is. | False |
| path | <path> | 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. | False |
| unless | bool | Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. | False |
| value | string | A single command-line argument; can contain space characters. | False |
A single command-line argument containing a space character.
<arg value="-l -a" />
Two separate command-line arguments.
<arg line="-l -a" />
A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.
<arg path="/dir;/dir2:\dir3" />
Compile a "HelloWorld" application, including embedded resources.
<csc target="exe" output="HelloWorld.exe" debug="true">
<nowarn>
<!-- do not report warnings for missing XML comments -->
<warning number="0519" />
</nowarn>
<sources>
<include name="**/*.cs" />
</sources>
<resources dynamicprefix="true" prefix="HelloWorld">
<include name="**/*.resx" />
</resources>
<references>
<include name="System.dll" />
<include name="System.Data.dll" />
</references>
</csc>