An MSBuild Project
Optional semi-colon separated list of one or more targets that will be built if no targets are otherwise specified
Optional semi-colon separated list of targets that should always be built before any other targets
Optional string describing the toolset version this project should normally be built with
Groups tasks into a section of the build process
Name of the target
Optional semi-colon separated list of targets that should be run before this target
Optional semi-colon separated list of files that form inputs into this target. Their timestamps will be compared with the timestamps of files in Outputs to determine whether the Target is up to date
Optional semi-colon separated list of files that form outputs into this target. Their timestamps will be compared with the timestamps of files in Inputs to determine whether the Target is up to date
Optional expression evaluated to determine whether the Target and the targets it depends on should be run
Optional expression evaluated to determine whether duplicate items in the Target's Returns should be removed before returning them. The default is not to eliminate duplicates.
Optional expression evaluated to determine which items generated by the target should be returned by the target. If there are no Returns attributes on Targets in the file, the Outputs attributes are used instead for this purpose.
Optional semi-colon separated list of targets that this target should run before.
Optional semi-colon separated list of targets that this target should run after.
Optional expression. Used to identify or order system and user elements
Groups property definitions
Optional expression evaluated to determine whether the PropertyGroup should be used
Optional expression. Used to identify or order system and user elements
Groups import definitions
Optional expression evaluated to determine whether the ImportGroup should be used
Optional expression. Used to identify or order system and user elements
Groups item list definitions
Optional expression evaluated to determine whether the ItemGroup should be used
Optional expression. Used to identify or order system and user elements
Groups item metadata definitions
Optional expression evaluated to determine whether the ItemDefinitionGroup should be used
Optional expression. Used to identify or order system and user elements
Groups When and Otherwise elements
Optional expression. Used to identify or order system and user elements
Groups PropertyGroup and/or ItemGroup elements
Optional expression evaluated to determine whether the child PropertyGroups and/or ItemGroups should be used
Groups PropertyGroup and/or ItemGroup elements that are used if no Conditions on sibling When elements evaluate to true
Specifies targets to execute in the event of a recoverable error
Optional expression evaluated to determine whether the targets should be executed
Semi-colon separated list of targets to execute
Optional expression. Used to identify or order system and user elements
Defines the assembly containing a task's implementation, or contains the implementation itself.
Optional expression evaluated to determine whether the declaration should be evaluated
Optional name of assembly containing the task. Either AssemblyName or AssemblyFile must be used
Optional path to assembly containing the task. Either AssemblyName or AssemblyFile must be used
Name of task class in the assembly
Name of the task factory class in the assembly
Defines the architecture of the task host that this task should be run in. Currently supported values: x86, x64, CurrentArchitecture, and * (any). If Architecture is not specified, either the task will be run within the MSBuild process, or the task host will be launched using the architecture of the parent MSBuild process
Defines the .NET runtime version of the task host that this task should be run in. Currently supported values: CLR2, CLR4, CurrentRuntime, and * (any). If Runtime is not specified, either the task will be run within the MSBuild process, or the task host will be launched using the runtime of the parent MSBuild process
Groups parameters that are part of an inline task definition.
Contains the inline task implementation. Content is opaque to MSBuild.
Whether the body should have properties expanded before use. Defaults to false.
Declares that the contents of another project file should be inserted at this location
Optional expression evaluated to determine whether the import should occur
Project file to import
Optional expression. Used to identify or order system and user elements
Optional section used by MSBuild hosts, that may contain arbitrary XML content that is ignored by MSBuild itself
Optional expression evaluated to determine whether the items should be evaluated
Semi-colon separated list of files (wildcards are allowed) or other item names to include in this item list
Semi-colon separated list of files (wildcards are allowed) or other item names to exclude from the Include list
Semi-colon separated list of files (wildcards are allowed) or other item names to remove from the existing list contents
Optional expression. Used to identify or order system and user elements
Optional expression evaluated to determine whether the property should be evaluated
Optional expression. Used to identify or order system and user elements
Optional expression evaluated to determine whether the property should be evaluated
Optional expression. Used to identify or order system and user elements
Optional element specifying a specific task output to be gathered
Task parameter to gather. Matches the name of a .NET Property on the task class that has an [Output] attribute
Optional name of an item list to put the gathered outputs into. Either ItemName or PropertyName must be specified
Optional name of a property to put the gathered output into. Either PropertyName or ItemName must be specified
Optional expression evaluated to determine whether the output should be gathered
Optional expression evaluated to determine whether the task should be executed
Optional boolean indicating whether a recoverable task error should be ignored. Default false
Defines the bitness of the task if it must be run specifically in a 32bit or 64bit process. If not specified, it will run with the bitness of the build process. If there are multiple tasks defined in UsingTask with the same name but with different Architecture attribute values, the value of the Architecture attribute specified here will be used to match and select the correct task
Defines the .NET runtime of the task. This must be specified if the task must run on a specific version of the .NET runtime. If not specified, the task will run on the runtime being used by the build process. If there are multiple tasks defined in UsingTask with the same name but with different Runtime attribute values, the value of the Runtime attribute specified here will be used to match and select the correct task