Error task

Stops a build and logs an error based on an evaluated conditional statement.

Parameters

The following table describes the parameters of the Error task.

Parameter Description
Code Optional String parameter.

The error code to associate with the error.
File Optional String parameter.

The name of the file that contains the error. If no file name is provided, the file containing the Error task will be used.
HelpKeyword Optional String parameter.

The help keyword to associate with the error. For internal use only.
HelpLink Optional String parameter.

A link to more information about the error.
Text Optional String parameter.

The error text that MSBuild logs if the Condition parameter evaluates to true.

Remarks

The Error task allows MSBuild projects to issue error text to loggers and stop build execution.

If the Condition parameter evaluates to true, the build is stopped, and an error is logged. If a Condition parameter does not exist, the error is logged and build execution stops. For more information on logging, see Obtaining build logs.

In addition to the parameters listed above, this task inherits parameters from the TaskExtension class, which itself inherits from the Task class. For a list of these additional parameters and their descriptions, see TaskExtension base class.

HelpKeyword is used by Visual Studio to support the contextual help feature (F1). You can use HelpLink to associate an online help page with an error message.

Example

The following code example verifies that all required properties are set. If they are not set, the project raises an error event, and logs the value of the Text parameter of the Error task.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="ValidateCommandLine">
        <Error
            Text=" The 0 property must be set on the command line."
            Condition="'$(0)' == ''" />
        <Error
            Text="The FREEBUILD property must be set on the command line."
            Condition="'$(FREEBUILD)' == ''" />
    </Target>
    ...
</Project>

See also