Microsoft.Build
The location of an XML node in a file.
Any editing of the project XML through the MSBuild API's will invalidate locations in that XML until the XML is reloaded.
Initializes a new instance of the class.
The column number where this element exists in its file.
The first column is numbered 1.
Zero indicates "unknown location".
Returns .
Override Equals so that identical fields imply equal objects.
The element location to compare to this element location.
if the objects are equal; otherwise, .
The file from which this particular element originated. It may differ from the ProjectFile if, for instance, it was part of an import or originated in a targets file.
If not known, returns empty string.
Returns .
Gets reasonable hash code.
Returns .
The line number where this element exists in its file.
The first line is numbered 1.
Zero indicates "unknown location".
Returns .
The location in a form suitable for replacement into a message.
Example: "c:\dir\proj.csproj (12,34)" Calling this creates and formats a new string.
Only in rare cases should the location go within the message itself.
Returns .
Location of element.
Returns .
Represents the Choose Element (MSBuild) in an MSBuild project.
Gets a nonexistent condition, which is implicitly true.
Always returns .
This does not allow conditions, so it should not be called.
Returns .
Gets any Otherwise Element (MSBuild) child.
Any Otherwise child, or if no Otherwise child exists.
Gets all the When Element (MSBuild) children.
All the When children. There is always at least one When child.
Abstract base class for MSBuild construction object model elements.
All parent elements of this element, going up to the ProjectRootElement.
None if this is a ProjectRootElement.
None if this has not been attached to a parent yet.
An enumerator over all parent elements. There are no parents elements if the project element is a ProjectRootElement or if this is not yet attached to a parent element.
Gets or sets the Condition value.
It will return empty string IFF a condition attribute is legal but it's not present or has no value.
It will return null IFF a Condition attribute is illegal on that element.
Removes the attribute if the value to set is empty.
It is possible for derived classes to throw an if setting the condition is not applicable for those elements.
The Condition attribute value, or an empty string if the attribute is not present.
Location of the "Condition" attribute on this element, if any.
If there is no such attribute, returns null.
Returns .
ProjectRootElement (possibly imported) that contains this Xml.
Cannot be null.
The project root container that contains this project.
Gets or sets the Label value.
Returns empty string if it is not present.
Removes the attribute if the value to set is empty.
The label, or an empty string if no label is present.
Location of the "Label" attribute on this element, if any.
If there is no such attribute, returns null;
Returns .
Location of the corresponding Xml element.
May not be correct if file is not saved, or file has been edited since it was last saved.
In the case of an unsaved edit, the location only contains the path to the file that the element originates from.
Returns .
Next sibling element.
May be null.
The next sibling of this project element, or if no next sibling exists.
Null if this is a ProjectRootElement.
Null if this has not been attached to a parent yet.
The project element container that contains this project.
Previous sibling element.
May be null.
The previous sibling of this project element, or if no previous sibling exists.
Provides an abstract container class for project elements.
Gets a recursive depth-first enumerator over all child elements.
A recursive depth-first enumerator over all child elements.
Appends the element as the last child of this project container.
The project element to be appended.
Gets all child elements.
All child elements.
Gets all child elements, starting from the last child.
All child elements, starting from the last child.
Gets the number of child elements.
The number of child elements.
Gets the first child element.
The first child element, or if no child element exists.
Inserts the element after the element.
The project element to be inserted.
The project element to be inserted after.
Inserts the element before the element.
The project element to be inserted.
The project element to be inserted before.
Gets the last child element.
The last child element, or if no child element exists.
Prepends the element as the first child of this project container.
The project element to be prepended.
Removes all the children, if any, from this project container.
Removes a element from this project container.
The project element to be removed.
Represents the ProjectExtensions Element (MSBuild) in an MSBuild project. Project extensions can contain arbitrary XML content.
Gets a nonexistent condition, which is implicitly true.
Always returns .
This does not allow conditions, so it should not be called.
Returns .
Gets or sets the arbitrary XML content of this project extension.
The arbitrary XML content of this project extension.
Gets or sets the content of the first sub-element with the given parameter.
The name of the sub-element.
The contents of the element.
Represents an Import Element (MSBuild) in an MSBuild project.
Gets or sets the Project attribute.
The value of the Project attribute.
Location of the project attribute
Returns .
Represents the ImportGroup element in an MSBuild project.
Adds a new import after the last import in this import group.
The project to import.
The new import.
Gets all properties in this project import.
All properties in this project import.
Represents an ItemDefinition element in an MSBuild project.
Adds metadata to this item definition. Appends the metadata to any existing metadata.
Name of the metadata.
Metadata to be added.
The modified metadata.
Gets the item definition element name.
The item definition element name.
Gets all child metadata definitions.
All child metadata definitions.
Represents an ItemDefinitionGroup Element (MSBuild) in an MSBuild project.
Adds a new item definition after the last child in this item definition group.
Element name of item to be added.
The new item definition.
Gets all child item definitions.
All child item definitions.
Represents an Item Element (MSBuild) in an MSBuild project.
Adds metadata to this item. Appends the metadata to any existing metadata.
Name of metadata.
Metadata to be added.
The modified metadata.
Gets or sets the Exclude attribute value.
The Exclude attribute value, or an empty string if the Exclude attribute is not present.
Gets the location of the exclude attribute.
The location of the exclude attribute.
Gets a value that indicates whether this item has any child metadata elements.
if this item has child metadata elements; otherwise, .
Gets or sets the Include attribute value.
The Include attribute value, or an empty string if the Include attribute is not present.
Gets the location of the include attribute.
The include location.
Gets the item element's type.
The item element's type.
Gets or sets the KeepDuplicates value.
The value of KeepDuplicates, or an empty string if it is not present.
Gets or sets the Location of the KeepDuplicates attribute.
The location of the KeepDuplicates attribute.
Gets or sets the KeepMetadata attribute value.
The value of the KeepMetadata attribute, or an empty string if it is not present.
Gets or sets the location of the KeepMetadata attribute.
The location of KeepMetadata.
Gets all child metadata.
All child metadata.
Gets or sets the Remove attribute value.
The Remove attribute value, or an empty string if the Remove attribute is not present.
Gets the location of the remove attribute
The remove attribute's location.
Gets or sets the RemoveMetadata attribute.
The RemoveMetadata value, or an empty string if it is not present.
Gets or sets the location of the RemoveMetadata attribute.
The RemoveMetadata attribute's location.
Represents an ItemGroup Element (MSBuild) in an MSBuild project.
Adds a new item to the item group. Items are ordered first by item element name, and then by the Include attribute.
Item element name of the item to be added.
Include attribute of the item to be added.
The new item element.
Adds a new item with metadata to the item group. Items are ordered first by item element name, and then by the Include attribute.
Item element name of the item to be added.
Include attribute of the item to be added.
Metadata to be added.
The new item element.
Gets all child items.
All child items.
Represents a Metadata element in an MSBuild project.
Gets the metadata name.
The metadata name.
Gets or sets the unevaluated metadata value.
The unevaluated metadata value, or an empty string if the value is uninitialized.
Represents an OnError Element (MSBuild) in an MSBuild project.
Gets or sets the value of the ExecuteTargets attribute.
The value of the ExecuteTargets attribute.
Location of the "ExecuteTargets" attribute on this element, if any.
If there is no such attribute, returns null;
Returns .
Represents an Otherwise Element (MSBuild) in an MSBuild project.
Gets all child Choose elements.
All child Choose elements.
Gets a nonexistent condition, which is implicitly true.
Always returns .
This does not allow conditions, so it should not be called.
Returns .
Gets all child item groups.
All child item groups.
Gets all child property groups.
All child property groups.
Represents an Output Element (MSBuild) in an MSBuild project.
Determines whether this output element represents an output item, as opposed to an output property.
if this output element represents an output item; otherwise, .
Determines whether this output element represents an output property, as opposed to an output item.
if this output element represents an output property; otherwise, .
Gets or sets the ItemType attribute value.
The ItemType attribute value, or an empty string if the attribute is not present.
Location of the item type attribute, if any
Returns .
Gets or sets the PropertyName attribute value.
The PropertyName attribute value, or an empty string if the attribute is not present.
Location of the property name attribute, if any
Returns .
Gets or sets the TaskParameter attributevalue.
The TaskParameter attribute value, or an empty string if the attribute is not present.
Location of the task parameter attribute
Returns .
Represents a Property element in an MSBuild project.
Gets the property name.
The property name.
Gets or sets the unevaluated property value.
The unevaluated property value, or an empty string if the value is uninitialized.
Represents a PropertyGroup element in an MSBuild project.
Appends a new property to the property group.
The property name.
The property value.
The new property.
Gets all child properties.
All child properties.
Gets all child properties, starting with the last child.
All child properties, starting with the last child.
Updates the value of the given property in the property group.
The name of the property to be updated.
The new property value.
The updated property.
Represents an MSBuild project, a targets file, or any other file that conforms to MSBuild project file schema. This class and its related classes allow a complete MSBuild project or targets file to be read and written.
Adds a project import to this project.
The project to be imported.
The added project import.
Creates an import group at the end of this project.
The import group created at the end of this project.
Adds an item to this project.
The item type of the item to be added.
The Include value of the item to be added.
The added item.
Adds an item with metadata to this project.
The item type of the item to be added.
The Include value of the item to be added.
The metadata to be added.
The added item.
Adds an item definition to this project.
The item type of the item definition to be added.
The added item definition.
Adds an item definition group to this project.
The added item definition group.
Creates and adds an item group to this project.
The added item group.
Updates or adds a property to this project.
The name of the property to be updated or added.
The value of the property to be updated or added.
The updated or added property.
Adds a new property group to this project.
The added property group.
Adds a target to the project.
The name of the target to be added.
The added target.
Adds a UsingTask Element (MSBuild) to the project.
The task name.
The file path to the assembly.
The name of the assembly to load.
The added UsingTask element.
Gets all child Choose Element (MSBuild) in this project.
All child Choose elements.
Always returns because the Condition attribute is nonexistent for this element, and a nonexistent condition is implicitly .
Always returns .
Do not use. The Condition attribute is nonexistent for .
Always returns .
Creates and initializes an in-memory, empty ProjectRootElement instance and adds it to the global project collection.
The new project root.
Creates and initializes an in-memory, empty ProjectRootElement instance and adds it to the specified project collection.
The project collection to be added to.
The new project root.
Creates and initializes an in-memory, empty ProjectRootElement instance and adds it to the global project collection. The new project root is initialized from data found at the specified file path.
The file path to the data used for initialization.
The new project root.
Creates and initializes an in-memory, empty ProjectRootElement instance and adds it to the specified project collection. The new project root is initialized from data found at the specified file path.
The file path to the data used for initialization.
The project collection to be added to.
The new project root.
Creates and initializes an in-memory, empty ProjectRootElement instance and adds it to the global project collection. The new project root is initialized from data read from the specified XmlReader.
The XML reader used for initialization.
The new project root.
Creates and initializes an in-memory, empty ProjectRootElement instance and adds it to the specified project collection. The new project root is initialized from data read from the specified XmlReader.
The XML reader used for initialization.
The project collection to be added to.
The new project root.
Creates a Choose Element (MSBuild).
A object.
Creates an Import Element (MSBuild).
The project to be imported.
The created Import element.
Creates an import group.
The import group.
Creates an item definition.
The item type of the item definition.
The item definition.
Creates an item definition group.
The item definition group.
Creates an item.
The item type of the item.
The item.
Creates an item with the specifed Include value.
The item type of the item.
The Include value of the item.
The item.
Creates an item group.
The item group.
Creates a metadata node with the specified name.
The name of the metadata.
The metadata node.
Creates a metadata node with the specified name and value.
The name of the metadata.
The value of the metadata.
The metadata element.
Creates an OnError Element (MSBuild).
The targets to execute if a task fails.
The OnError element.
Creates an Otherwise Element (MSBuild). Caller must add it to the location of choice in the project.
The Otherwise element.
Creates an Output Element (MSBuild).
The name of the task's output parameter.
The item that receives the task's output parameter value.
The property that receives the task's output parameter value.
The Output element.
Creates a ProjectExtensions Element (MSBuild).
The ProjectExtensions element.
Creates a property.
The name of the property.
The property.
Creates a property group.
The property group.
Creates a target.
The name of the target.
The target.
Creates a task.
The name of the task.
The task.
Creates a task to be referenced by a UsingTask Element (MSBuild).
The string to evaluate.
The body to add.
The task.
Adds a UsingTask Element (MSBuild) to the project.
The task name.
The file path to the assembly.
The name of the assembly to load.
The UsingTask element.
Adds a UsingTask Element (MSBuild) to the project.
The task name.
The file path to the assembly.
The name of the assembly to load.
Optional runtime specifier.
Optional architecture specifier.
The UsingTask element.
Creates a parameter for use in a UsingTask Element (MSBuild) parameter group.
The name of the UsingTask element.
Stores outputs from the task in the project file.
A user-defined task parameter that contains the parameter value as its value.
The type of the parameter.
The parameter.
Creates a parameter group for a UsingTask Element (MSBuild).
The parameter group.
Creates a When Element (MSBuild) with a specified Condition attribute.
The value of the Condition attribute.
The When element.
Gets or sets the value of the DefaultTargets attribute.
The value of the DefaultTargets attribute, or an empty string if the DefaultTargets attribute is not present.
Location of the DefaultTargets attribute on this element, if any.
The DefaultTargets attribute location, or if there is no DefaultTargets attribute.
Gets the directory path to the project file.
The directory path, which is never . If the project is not loaded from disk, returns the current directory at the time the project was loaded.
Gets the character encoding that the project file is to be saved in.
The character encoding that the project file is to be saved in.
Gets the full path to the project file.
The full path to the project file, or if the project is not loaded from disk.
Determines whether the project has been modified since it was last loaded or saved.
if the project has been modified; otherwise, .
Gets all the child import groups in this project.
All the child import groups in this project.
Gets all the child import groups in this project, starting with the last group.
All the child import groups in this project, starting with the last group.
Gets all the child import elements in this project.
All the child import elements in this project.
Gets or sets the value of the InitialTargets attribute.
The InitialTargets attribute value, or an empty string if the InitialTargets attribute is not present.
Location of the InitialTargets attribute on this element, if any.
The location of the InitialTargets attribute, or if there is no InitialTargets attribute.
Gets all the child item definition groups in this project.
All the child item definition groups in this project.
Gets all the child item definition groups in this project, starting with the last group.
All the child item definition groups in this project, starting with the last group.
Gets all child item definitions in all item definition groups anywhere in this project.
Gets all child item definitions in all item definition groups anywhere in this project.
Gets all the child item groups in this project.
All the child item groups in this project.
Gets all the child item groups present in this project, starting with the last group.
All the child item groups present in this project, starting with the last group.
Gets all child items in this project.
All child items in this project, even if they are contained by Choose elements.
Gets the last-write-time of the project file.
The last-write-time of the project file.
Initializes a project root in the global project collection by loading data from the specified file path.
The file path to the data.
The initialized project root.
Initializes a project root in the specified project collection by loading data from the specified file path.
The file path to the data.
The project collection containing the project to be initialized.
The initialized project root.
Gets the location of the originating file itself, not any specific content within it. If the file has not been given a name, this is an empty location. This is a legitimate case of having no location.
The location of the originating file, or an empty location if the file has not been given a name.
Gets all the child properties in this project.
All child properties in this project, even if they are contained by Choose elements.
Gets all the child property groups in this project.
All the child property groups in this project.
Gets all the child property groups present in this project, starting with the last group.
All the child property groups present in this project, starting with the last group.
Gets the XML content that represents this project.
The XML content that represents this project as a string.
Saves the project, if modified, to the file system.
Saves the project to the specified text writer, whether modified or not.
The text writer to write the project to.
Saves the project, if modified or if the file path to storage has changed.
The file path to the project in storage.
Saves the project, if modified or if the file path to storage has changed. Uses the specified character encoding.
The file path to the project in storage.
The character encoding used to save the project.
Saves the project, if modified, using the specified character encoding.
The character encoding used to save the project.
Gets all the child targets in this project.
All the child targets in this project.
Gets the time that this project was last modified.
The time that this project was last modified.
Gets or sets the value of the ToolsVersion attribute.
The ToolsVersion attribute value, or an empty string if the ToolsVersion attribute is not present.
Gets the location of the ToolsVersion attribute on this element, if any.
The location of the ToolsVersion attribute, or if there is no ToolsVersion attribute.
Gets or sets the value of the TreatAsLocalProperty attribute.
The TreatAsLocalProperty attribute value, or an empty string if the TreatAsLocalProperty attribute is not present.
Gets the location of the TreatAsLocalProperty attribute on this element, if any.
The TreatAsLocalProperty attribute location, or if there is no TreatAsLocalProperty attribute.
Gets the project root in the global project collection that was loaded into memory from the specified file path.
The path of the ProjectRootElement, cannot be .
The project root, or if no project was loaded into memory from the specified file path.
Gets the project root in the specified project collection that was loaded into memory from the specified file path.
The path of the ProjectRootElement, cannot be .
The project collection to search for the project root.
The project root, or if no project was loaded into memory from the specified file path.
Gets all child UsingTask Element (MSBuild) in this project.
All child UsingTask elements in this project.
Gets the version number of this object.
The version number of this object.
Represents a Target element in an MSBuild project.
Adds an item group after the last child.
The added item group.
Adds a property group after the last child.
The added property group.
Adds a task to this target after any existing task.
The name of the task to add.
The added task.
Gets or sets the AfterTargets attribute value.
The AfterTargets attribute value, or an empty string if the attribute is not present.
Gets the location of the AfterTargets attribute.
The location of the AfterTargets attribute.
Gets or sets the BeforeTargets attribute value.
The BeforeTargets attribute value, or an empty string if the attribute is not present.
Gets the location of the BeforeTargets attribute.
The location of the BeforeTargets attribute.
Gets or sets the DependsOnTargets attribute value. Returns empty string if it is not present. Removes the attribute if the value to set is empty.
The DependsOnTargets attribute value, or an empty string if the attribute is not present.
Gets the location of the DependsOnTargets attribute.
The location of the DependsOnTargets attribute.
Gets or sets the Inputs attribute value. Returns empty string if it is not present. Removes the attribute if the value to set is empty.
The Inputs attribute value, or an empty string if the attribute is not present.
Gets the location of the Inputs attribute.
The location of the Inputs attribute.
Gets all child item groups
All child item groups.
Gets or sets the TrimDuplicateOutputs attribute value.
The TrimDuplicateOutputs attribute value, or an empty string if the attribute is not present.
Gets the location of the TrimDuplicateOutputs attribute.
The location of the TrimDuplicateOutputs attribute.
Gets or sets the name of this target.
The name of this target.
Gets the location of the Name attribute.
The location of the Name attribute.
Gets all child OnError elements.
All child OnError elements.
Gets or sets the Outputs attribute value. Returns an empty string if it is not present. Removes the attribute if the value to set is empty.
The Outputs attribute value, or an empty string if the attribute is not present.
Gets the location of the Outputs attribute.
The location of the Outputs attribute.
Gets all child property groups.
All child property groups.
Gets or sets the Returns attribute value.
The Returns attribute value, or if the attribute is not present
Gets the location of the Returns attribute.
The location of the Returns attribute.
Gets all child tasks.
All child tasks.
Represents a Task Element (MSBuild) in an MSBuild project.
Adds an Output item after the last child.
The name of the task which outputs to the item.
The item type of the new item whose value is set to the output of the task.
The added Output item.
Adds a conditioned Output item to this task after the last child.
The name of the parameter.
The item type of the item.
The condition of the parameter.
The added conditioned Output item.
Adds an Output property to this task after the last child.
The name of the parameter.
The name of the property.
The added Output property.
Adds a conditioned Output property to this task after the last child.
The name of the parameter.
The name of the property.
The condition of the property.
The added conditioned Output property.
Gets or sets the ContinueOnError attribute value.
The ContinueOnError attribute value, or an empty string if the attribute is not present.
Gets the location of the "ContinueOnError" attribute on this element, if any. If there is no such attribute, returns .
The location of the "ContinueOnError" attribute on this element, or if there is no "ContinueOnError" attribute.
Gets the value of the parameter with the specified name.
The name of the parameter.
The value of the parameter with the specified name, or an empty string if no parameter by that name exists in the task.
Gets or sets the architecture value for the task. Returns an empty string if it is not present. Removes the attribute if the value is set to empty.
The architecture value for the task, or empty string if architecture value is not present.
Gets the location of the "MSBuildArchitecture" attribute on this element, if any. If there is no such attribute, returns .
The location of the "MSBuildArchitecture" attribute on this element, or if there is no "MSBuildArchitecture" attribute.
Gets or sets the runtime value for the task.
Returns empty string if it is not present.
Removes the attribute if the value to set is empty.
Returns .
Gets the location of the "MSBuildRuntime" attribute on this element, if any. If there is no such attribute, returns .
The location of the "MSBuildRuntime" attribute on this element, or if there is no "MSBuildRuntime" attribute.
Gets the name of this task.
The name of this task.
Gets all Output Element (MSBuild) children.
All Output element children.
Enumerable over the locations of parameters on the task.
Condition and ContinueOnError, which have their own properties, are not included in this collection.
If parameters differ only by case only the last one will be returned.
Hosts can still remove the other parameters by using RemoveAllParameters().
Returns .
Gets all unevaluated parameters of this task.
All unevaluated parameters of this task.
Removes all parameters from the task. Does not remove any ContinueOnError and/or Condition attributes.
Removes any parameter on this task with the specified name. If no parameter by that name exists in the task, does nothing.
The name of the parameter to remove.
Updates or adds a parameter on this task
The name of the parameter to update or add.
The value of the parameter.
Represents the body of an inline task.
Always returns because the Condition attribute is nonexistent for this element and a nonexistent condition is implicitly true.
Always returns .
Do not use. The Condition attribute is nonexistent for . Get throws an internal error.
Throws an internal error and returns .
Gets the value of the Evaluate attribute.
The value of the Evaluate attribute, which is either "true" or "false". Returns "true" if the attribute is not present.
Location of the Evaluate attribute on this element, if any.
Returns Evaluate attribute location. If there is no such attribute, returns the location of the element, instead of the location of the default attribute.
Gets or sets the unevaluated value of the contents of the inline task.
The unevaluated inner XML content of the inline task, or an empty string if no inline task body is present.
Represents a UsingTask Element (MSBuild) in an MSBuild project. The UsingTask element is used both for inline tasks and precompiled tasks.
Adds a new ParameterGroup element to this inline task.
The new parameter group.
Adds a new TaskBody element to this inline task.
A flag which, if true, expands the item and property values in the task body. This flag is true by default.
The body of the task as a string.
The new task body.
Gets or sets the Architecture attribute of this inline task.
The value of the Architecture attribute, or an empty string if the attribute is not present.
Gets the location of the Architecture attribute on this element, if any.
The Architecture attribute location, or if there is no Architecture attribute.
Gets the value of the AssemblyFile attribute, which selects the name of the assembly to load.
The value of the AssemblyFile attribute, or an empty string if the attribute is not present.
Gets the location of the AssemblyFile attribute on this element, if any.
The AssemblyFile attribute location, or if there is no AssemblyFile attribute.
Gets or sets the value of the AssemblyName attribute.
The value of the AssemblyName attribute, or an empty string if the attribute is not present.
Gets the location of the AssemblyName attribute on this element, if any.
The AssemblyName attribute location, or if there is no AssemblyName attribute.
Gets any ParameterGroup element for this inline task.
The parameter group, or if no parameter group exists.
Gets or sets the Runtime attribute of this inline task.
The value of the Runtime attribute, or an empty string if the attribute is not present.
Gets the location of the Runtime attribute on this element, if any.
The Runtime attribute location, or if there is no Runtime attribute.
Gets the inner XML content of this inline task.
The inner XML content of the inline task, or if no body exists.
Gets or sets the value of the TaskFactory attribute of this inline task.
The value of the TaskFactory attribute, or an empty string if the attribute is not present.
Gets the location of the TaskFactory attribute on this element, if any.
The value of the TaskFactory attribute, or an empty string if the attribute is not present.
Gets or sets the value of the TaskName attribute.
The value of the TaskName attribute, or an empty string if the attribute is not present.
Gets the location of the TaskName attribute on this element, if any.
The value of the TaskName attribute, or an empty string if the attribute is not present.
Represents a parameter of an inline task.
Gets a nonexistent condition, which is implicitly true.
Always returns .
Do not use. The Condition attribute is nonexistent for this element. Get throws an internal error.
Throws an internal error and returns .
Gets or sets the name of the parameter of this inline task.
The name of the parameter.
Gets or sets the optional Output attribute of this inline task.
The value of the Output attribute, or an empty string if the attribute is not present.
Location of the Output attribute on this element, if any.
Returns Output attribute location. If there is no such attribute, returns the location of the element, instead of the location of the default attribute.
Gets or sets the Type attribute of this inline task.
The value of the Type attribute, or an empty string if the attribute is not present.
Location of the ParameterType attribute on this element, if any.
Returns ParameterType attribute location. If there is no such attribute, returns the location of the element, instead of the location of the default attribute.
Gets or sets the Required attribute
The value of the Required attribute, or an empty string if the attribute is not present.
Location of the Required attribute on this element, if any.
Returns Required attribute location. If there is no such attribute, returns the location of the element, instead of the location of the default attribute.
Represents a When Element (MSBuild) in an MSBuild project.
Gets all child Choose Element (MSBuild).
All child Choose elements.
Gets all child item groups.
All child item groups.
Gets all child property groups.
All child property groups.
Represents the ParameterGroup of an inline task.
Adds a parameter to this parameter group.
The name of the parameter to be added.
The new parameter.
Adds a parameter to this parameter group, using the given name, type, and attributes.
The name of the parameter to be added.
The value of the Output attribute.
The value of the Required attribute.
The type of the parameter.
The new parameter.
Gets a nonexistent condition, which is implicitly true.
Always returns .
This does not allow conditions, so it should not be called.
Always returns .
Gets all parameters of this parameter group.
All parameters of this parameter group.
Manager for supporting debugging a state machine.
Executes the islands on a dedicated worker thread. The worker thread's physical callstack then maps to the interpreter's virtual callstack.
Private entry point called from islands. Must be public so that the islands can invoke it. Called on debugger worker thread.
The thread calling the entry point.
Releases all resources used by the current instance of the class.
Represents a project with design time semantics. This class can load project files, edit items and properties and build projects.
Constructs an empty project using the global project collection global properties and default tools version.
Constructs an empty project and evaluates it using the given project root and the global project collection global properties and default tools version.
ProjectRootElement to use for evaluation.
Constructs an empty project and evaluates it using the given project root and with the given global properties and given tools version.
The project root to use for evaluation.
Global properties to evaluate with. May be null in which case the containing project collection's global properties will be used.
Tools version to evaluate with. May be null.
Constructs a project and evaluates it using the given project root and with the given global properties and given tools version.
The project root to use for evaluation.
Global properties to evaluate with. May be null in which case the containing project collection's global properties will be used.
Tools version to evaluate with. May be null.
The project collection the project is added to.
Constructs a project and evaluates it using the given project root and with the given global properties, given tools version, and given load settings.
The project root to use for evaluation.
Global properties to evaluate with. May be null in which case the containing project collection's global properties will be used.
Tools version to evaluate with. May be null.
The project collection the project is added to. May not be null.
The load settings to use for evaluation.
Constructs a project and evaluates it using the given project root and with the given global properties, tools and sub-toolset versions, project collection, and load settings.
The project root to use for evaluation.
Global properties to evaluate with. May be null in which case the containing project collection's global properties will be used.
Tools version to evaluate with. May be null.
Sub toolset version to evaluate with. May be null.
The project collection the project is added to. May not be null.
The load settings to use for evaluation.
Constructs an empty project using the given project collection global properties and default tools version.
The project collection that the new project is added to.
Constructs an empty project, to be evaluated with the given project collection and with the given global properties and given tools version.
Global properties to evaluate with. May be null in which case the containing project collection's global properties will be used.
The tools version used to evaluate the project. May be null.
The project collection the new project will be added to.
Constructs a project and evaluates it from the given source project file and with the global project collection global properties and default tools version.
The source project file to be evaluated.
If the evaluation fails.
Constructs a project and evaluates it from the given source project file and with the given global properties and given tools version.
The path to the source project file to be evaluated.
Global properties to evaluate with. May be null in which case the containing project collection's global properties will be used.
Tools version to evaluate with. May be null.
Constructs a project and evaluates it from the given source project file and with the given global properties and given tools version.
The path to the source project file to be evaluated.
The global properties. May be null.
The tools version. May be null.
The project collection the project is added to. May not be null.
Constructs a project and evaluates it from the given source project file and with the given global properties, given tools version, and given load settings.
The path to the source project file to be evaluated.
Global properties to evaluate with. May be null in which case the containing project collection's global properties will be used.
The tools version. May be null.
The project collection the project is added to. May not be null.
The load settings to use for evaluation.
Constructs a project and evaluates it from the given source project file and with the given global properties, tools and sub-toolset versions, project collection, and load settings.
The path to the source project file to be evaluated.
Global properties to evaluate with. May be null in which case the containing project collection's global properties will be used.
The tools version. May be null.
The sub toolset version. May be null.
The project collection the project is added to. May not be null.
The load settings to use for evaluation.
Constructs a project and evaluates the source code from the given XML reader. The source code is evaluated with the global project collection global properties and default tools version.
Xml reader to read project source code from.
Constructs a project and evaluates the source code from the given XML reader. The source code is evaluated with the given global properties and given tools version.
Xml reader to read project source code from.
Global properties to evaluate with. May be null in which case the containing project collection's global properties will be used.
Tools version to evaluate with. May be null.
Constructs a project and evaluates the source code from the given XML reader. The source code is evaluated with the given global properties and given tools version.
Xml reader to read project source code from.
Global properties to evaluate with. May be null in which case the containing project collection's global properties will be used.
Tools version to evaluate with. May be null.
The project collection the project is added to. May not be null.
Constructs a project and evaluates the source code from the given XML reader. The source code is evaluated with the given global properties and given tools version.
Xml reader from which to read project source code.
Global properties to evaluate with. May be null in which case the containing project collection's global properties will be used.
Tools version to evaluate with. May be null.
The project collection the project is added to. May not be null.
The load settings to use for evaluation.
Constructs a project and evaluates the source code from the given XML reader. The source code is evaluated with the given global properties, tools and sub-toolset versions, project collection, and load settings.
Xml reader to read project source code from.
Global properties to evaluate with. May be null in which case the containing project collection's global properties will be used.
Tools version to evaluate with. May be null.
Sub Toolset version to evaluate with. May be null.
The project collection the project is added to. May not be null.
The load settings to use for evaluation.
Adds an item with no metadata to the project.
The item type of the added item.
Include attribute of the item to be added.
The added item.
Adds an item with the given metadata to the project.
The item type of the added item.
Include attribute of the item to be added.
The metadata of the added item.
The added item.
Adds an item with no metadata to the project. Makes no effort to see if an existing wildcard would already match the new item, unless it is the first item in an item group. Makes no effort to locate the new item near similar items.
The item type to be added.
The unevaluated Include attribute to be added to the item.
A list of the project items added.
Adds an item with metadata to the project. Metadata may be null, indicating no metadata. Makes no effort to see if an existing wildcard would already match the new item, unless it is the first item in an item group. Makes no effort to locate the new item near similar items.
The item type to be added.
The unevaluated Include attribute to be added to the item.
The metadata to be added.
A list of the project items added.
Gets all item definition metadata encountered during evaluation.
All item definition metadata encountered during evaluation. This does not include any elements whose conditions did not evaluate to true, nor any item definition metadata added since the last evaluation.
Gets an enumerator over all items encountered during evaluation. These are read during the third evaluation pass.
An enumerator over all items encountered during evaluation. These are read during the third evaluation pass.
Gets all properties encountered during evaluation.
All properties encountered during evaluation. This does not include any properties whose conditions did not evaluate to true, nor any properties added since the last evaluation.
Builds this project, using the default targets.
on success; otherwise, .
Builds this project, using the default targets and the given logger.
The logger to be used during the build.
on success; otherwise, .
Builds this project, using the default targets and the given loggers.
An enumerator over all loggers to be used during the build.
on success; otherwise, .
Builds this project, using the default targets and the given loggers and remote loggers.
The loggers to be used during the build.
The remote loggers to be used during the build.
on success; otherwise, .
Builds this project, building the given target.
The target to be built.
on success; otherwise, .
Builds this project, building the given target and using the given loggers.
The target to be built.
The loggers to be used during the build.
on success; otherwise, .
Builds this project, building the given target and using the given loggers and remote loggers.
The target to be built.
The loggers to be used during the build.
The remote loggers to be used during the build.
on success; otherwise, .
Builds this project, building the given targets.
An array of targets to be built.
on success; otherwise, .
Builds this project, building the given targets and using the given loggers.
The targets to be built.
The loggers to be used during the build.
on success; otherwise, .
Builds this project, building the given targets and using the given loggers and remote loggers.
The targets to be built.
The loggers to be used during the build.
The remote loggers to be used during the build.
on success; otherwise, .
Gets a collection of possible property values for properties used to evaluate conditions found on properties, property groups, imports, and whens.
A collection of possible property values for properties used to evaluate conditions found on properties, property groups, imports, and whens. The collection is in canonical form. The name of the entry is the name of the property to be evaluated, and the value is a list of possible property values.
Creates a project instance based on this project, but completely disconnected from it.
The project instance.
Creates a project instance based on this project, but completely disconnected from it.
Determines whether created project instance is immutable and whether it contains a look up table to improve performance.
The project instance.
Gets the root directory for this project.
The root directory for this project. The root directory is never null; in-memory projects use the current directory at the time of project load.
Gets or sets a value that indicates whether is temporarily disabled. This allows, for example, a global property to be set without the project getting marked dirty for reevaluation as a consequence.
to indicate is temporarily disabled; otherwise, .
Gets a number that is incremented every time that project is re-evaluated.
The incremented value.
Evaluates the given string by expanding items and properties. The string is evaluated as if it were found at the very end of the project file.
The string to be evaluated.
The evaluated string.
Gets or sets the full path to the project source file.
The full path to the project source file, or an empty string if the project was not loaded from disk.
Gets evaluated, escaped value of the Include attribute of the provided items.
The item to be evaluated and escaped.
The evaluated, escaped value of the Include attribute of the provided items.
Gets the evaluated, escaped value of the Include attribute of the provided item definition.
The item definition to be evaluated and escaped.
The value of the Include attribute.
Gets all the items in the project of the given item type. If there are none, returns an empty list. Use AddItem or RemoveItem to modify items in this project.
The item type to be retrieved.
All the items in the project of the given item type, or an empty list if there are no items with the given item name.
Gets all items that have the given evaluated Include attribute.
The evaluated Include attribute.
All items that have the given evaluated Include attribute.
Gets all the items in the project of the given type, whether or not their Condition attribute evaluates to true. This is a read-only list: use AddItem or RemoveItem to modify items in this project.
The item type to be retrieved.
All the items in the project of the given type, whether or not their Condition attribute evaluates to true.
Gets an enumerator over all the elements in the "logical project". The logical project is defined as the unevaluated project obtained from the single MSBuild file that is the result of inlining the text of all imports of the original MSBuild project manifest file.
An enumerator over all the elements in the "logical project".
Gets the escaped value of the metadatum with the provided name on the provided item.
The item whose metadata is to be escaped.
The name of the metadata to be escaped.
The escaped value of the metadatum with the provided name on the provided item.
Gets the escaped value of the metadatum with the provided name on the provided item definition.
The item definition whose metadata is to be escaped.
The name of the metadata to be escaped.
The escaped value of the metadatum with the provided name on the provided item definition.
Gets the escaped value of the provided metadatum.
The metadatum to be escaped.
The escaped value of the provided metadatum.
Gets any property in the project that has the specified name.
The name of the property to retrieve.
Any property in the project that has the specified name, or if no property of that name exists.
Gets the value of the given property in this project.
The name of the property whose value is retrieved.
The value of the given property in this project, or an empty string if no property of that name exists. Escape sequences are converted before returning the string.
Gets the escaped value of the provided property.
The property to be escaped.
The escaped value of the provided property.
Gets a dictionary of the global properties used for the evaluation of this project.
A dictionary of the global properties used for the evaluation of this project.
Gets a list of all the files that contributed to the evaluation of this project.
A list of all the files that contributed to the evaluation of this project.
The name of each item is the Import element that caused the file to be imported. The value of each item is the project root of the imported project. Import elements whose Condition attribute evaluated to false are not included.
Gets a list of duplicate imports if an import was imported multiple times. However, only the first import was used in evaluation.
A list of duplicate imports.
Gets or sets a property that selects whether the targets and tasks of this project can be built.
if the targets and tasks of this project can be built; otherwise, .
Gets a value that indicates whether this project has been modified so that it must be reevaluated.
if this project has been modified so that it must be reevaluated; otherwise, .
Gets a dictionary of item definitions in this project, keyed by item type.
A dictionary of item definitions in this project, keyed by item type.
Gets an enumerator over all items in this project, ordered within groups of item types.
An enumerator over all items in this project, ordered within groups of item types.
Gets an enumerator over all items in this project, ordered within groups of item types.
An enumerator over all items in this project, ordered within groups of item types, including items whose conditions evaluate to false, or are contained within item groups whose condition evaluates to .
Gets an enumerator over all item types in this project.
An enumerator over all item types in this project. This is an ordered collection.
Marks this project as modified.
Gets the project collection which contains this project.
The project collection that contains this project, which is never .
The location of the originating file itself, not any specific content within it. If the file has not been given a name, this is an empty location. This is a legitimate case of having no location.
The originating file location, or an empty location if the file has not been given a name.
Gets an enumerator over all properties in this project. This is an unordered collection.
An enumerator over all properties in this project. Since properties are evaluated as they appear, this is an unordered collection.
Reevaluates the project to incorporate any changes.
Removes a global property and marks the project as modified.
The name of the global property to be removed.
if the value of the global property was set.
Removes an item from the project. The item to be removed must be present in the project, and must not originate from an imported file.
The item to be removed.
if the item is present in this evaluated project; otherwise, . Normally this method returns true, since if the requested item is not present, the method throws an exception. If the item is present only in the ItemsIgnoringCondition collection, however, the method returns false.
Removes all the given items from the project, unless they originate from an imported project.
The items to be removed.
Removes an property from the project. The property to be removed must be present in the project, and must not originate from an imported file.
The property to remove.
if the property is present in this evaluated project; otherwise, .
Saves the project to the file system, if modified, using the default character encoding.
Saves the project to the provided text writer, whether or not the project has been modified. Uses the character encoding of the text writer and marks the project as unmodified.
The text writer to save the project to.
Saves the project to the file system, if modified or if the path to the project source code changes, using the default character encoding.
The path to the project source code.
Saves the project to the file system, if modified or if the path to the project source code changes, using the given character encoding.
The path to the project source code.
The character encoding used to save the project.
Saves the project to the file system, if modified, using the given character encoding.
The character encoding used to save the project.
Saves a "logical" or "preprocessed" project file, that includes all the imported files as if they formed a single file.
The writer that saves the project file.
Sets a global property after the project has been evaluated. If the value changes, the project is marked to require reevaluation.
The name of the global property to set.
The new value of the global property.
if the value changes; otherwise, .
Sets or adds a property with the given name and value to the project. Overwrites the value of a property with the same name if it did not originate in an imported file.
The name of the property to set.
The new unevaluated value of the property.
The property.
Gets or sets a value that indicates whether ReevaluateIfNecessary is temporarily disabled. This is useful when the host expects to make a number of reads and writes to the project, and wants to temporarily sacrifice correctness for performance.
A flag that determines whether ReevaluateIfNecessary is temporarily disabled.
Gets the value of the SubToolsetVersion attribute, if any. This value was combined with the value of the ToolsVersion attribute to determine the toolset properties for this project.
The SubToolsetVersion attribute value, or an empty string if the attribute is not present.
Gets a dictionary of all targets in this project, keyed by target name.
A read-only dictionary of all targets in this project, keyed by target name. Overridden targets are not included in this collection.
Gets the tools version that this project was evaluated with, if any.
The tools version that this project was evaluated with, if any.
Gets the root project associated with this project. Can never be .
The root project associated with this project, which can never be .
Event arguments for the event.
Gets the project that was marked dirty.
The project that was marked dirty. Never .
Encapsulates a set of related projects, their toolsets, a default set of global properties, and the loggers that should be used to build them. A global version of this class acts as the default project collection.
Creates a project collection with no global properties or loggers. The project collection toolset is initialized from the configuration file and registry.
Creates a project collection with no global properties or loggers. The project collection toolset is initialized from toolsets in the given locations.
The locations from which to load toolsets.
Instantiates a project collection with specified global properties, no loggers, and that reads toolset information from the configuration file and registry.
The default global properties to use. May be null.
Instantiates a project collection with specified global properties and loggers and using the specified toolset locations.
The default global properties to use. May be null.
The loggers to register. May be null.
The locations from which to load toolsets.
Creates a project collection with specified global properties, loggers, node count, and onlyLogCriticalEvents value. The project collection toolset is initialized from toolsets in the given locations.
The default global properties to use. May be null.
The loggers to register. May be null and specified to any build instead.
Any remote loggers to register. May be null and specified to any build instead.
The locations from which to load toolsets.
The maximum number of nodes to use for building.
If set to true, only critical events will be logged.
Adds a new toolset to the project collection. Replaces any existing toolset with the same tools version.
The toolset to be added.
Determines whether a toolset is defined for the given tools version.
The tools version to search for.
if there is a toolset defined for the given tools version; otherwise, .
Gets the number of projects currently loaded into this collection.
The number of projects currently loaded into this collection.
Gets the default tools version of this project collection.
The default tools version of this project collection, which is always defined.
Gets or sets a flag that determines whether is temporarily disabled on projects in this collection. This allows, for example, a global properties to be set without projects getting marked dirty for reevaluation as a consequence.
Returns a flag that determines whether is temporarily disabled.
Releases both managed and unmanaged resources. Called when a host no longer needs the project collection.
Releases both managed and unmanaged resources. Called when a host no longer needs the project collection. Shuts down any logging services that the project collection owns and releases the logger thread.
If true, releases both managed and unmanaged resources; otherwise releases only unmanaged resources.
Converts special characters in a string to MSBuild escape format.
The string to be converted.
The converted string.
Gets any global property on the project collection that has the specified name.
The name of the property to be retrieved.
Any global property on the project collection that has the specified name; otherwise returns null.
Gets all projects whose project path matches the given path.
The path to a project file to be matched.
All projects whose project path matches the given path.
Gets the toolset with the specified tools version.
The tools version to match.
The toolset with the specified tools version, or if no toolset matching this tools version exists.
Gets the global project collection object.
The global project collection object. This is a singleton project collection with no global properties or loggers. Toolset information is obtained from the configuration file and registry.
Gets the read-only default global properties for all projects in this collection.
The read-only default global properties for all projects in this collection.
Gets or sets an object that provides host services to tasks during builds of projects contained in the project collection.
The host services object.
Gets or sets a value that indicates whether the targets and tasks of projects in the project collection can be built.
if the targets and tasks of projects in this project collection can be built; otherwise, .
Gets all the projects currently loaded into this collection.
All the projects currently loaded into this collection.
Evaluates a project from the source code in the given project file. The source code is evaluated with the global properties and tools version of this project collection.
The project file to evaluate.
If an existing project in the collection has already been evaluated from the given project file, the existing project is returned. Otherwise, a new project is created, evaluated, added to the project collection, and returned.
Evaluates a project from the source code read from the given project file. The source code is evaluated with the given global properties and tools version.
The project file to be evaluated.
The global properties to use. May be null, in which case the containing project collection's global properties will be used.
The tools version. May be null.
If an existing project in the collection has already been evaluated from the given project file, and with the given global properties and tools version, then the existing project is returned. Otherwise, a new project is created, evaluated, added to the project collection, and returned.
Evaluates a project from the source code read from the given project file. The source code is evaluated with the global properties of this project collection and the given tools version.
The project file to evaluate.
The tools version to use. May be null.
If an existing project in the collection has already been evaluated from the given project file, and with the given tools version, then the existing project is returned. Otherwise, a new project is created, evaluated, added to the project collection, and returned.
Evaluates a project from the source code read from the given XML reader. The source code is evaluated with the global properties and tools version of this project collection.
Xml reader to read project source code from.
The new project.
Evaluates a project from the source code read from the given XML reader. The source code is evaluated with the given global properties and tools version.
Xml reader to read project from
The global properties to use. May be null in which case the containing project collection's global properties will be used.
The tools version. May be null.
The new project.
Evaluates a project from the source code read from the given XML reader. The source code is evaluated with the global properties of this project collection and the given tools version.
Xml reader to read project source code from.
The tools version to use. May be null.
The new project.
Gets all loggers that projects in this collection can use for their builds.
All loggers that projects in this collection can use for their builds.
Gets or sets a value that indicates whether only critical events such as warnings and errors are logged.
if only critical events such as warnings and errors are logged; otherwise, .
Event that is fired when a project is added to the ProjectRootElementCache of this project collection.
Handler to receive which project got added to the project collection.
The source of the event.
The event data.
Provides information about what project just got added to the project collection.
The root element which was added to the project collection.
The root element which was added to the project collection.
Root element which was added to the project collection.
Returns .
Raised when a contained by this instance is directly changed.
Raised when state is changed on this instance.
Raised when a contained by this instance is changed.
Adds the given remote loggers to the collection of remote loggers used for builds of projects in this collection.
The remote loggers to add. May be null.
Adds the given logger to the collection of loggers used for builds of projects in this collection.
The logger to add.
Adds the given loggers to the collection of loggers used for builds of projects in this collection.
The loggers to be added. May be null.
Removes all toolsets from the project collection.
Removes a global property from the set of default global properties.
The name of the default global property to remove.
if the global property is present before removal; otherwise, .
Removes a toolset from the project collection.
The toolset to be removed.
if the toolset is present before removal; otherwise, .
Sets the value of a property in the default set of global properties.
The name of the default global property to be added or set.
The new value of the default global property.
Gets or sets a value the indicates whether ReevaluateIfNecessary is temporarily disabled on projects in this collection. This is useful when the host expects to make a number of reads and writes to projects, and wants to temporarily sacrifice correctness for performance.
A flag that determines whether ReevaluateIfNecessary is temporarily disabled.
Gets the locations used to find the toolsets.
The locations used to find the toolsets.
Gets the toolsets available to this project collection.
The toolsets available to this project collection.
Attempts to remove a project from the collection.
The root element of the project to unload.
if the project was unloaded; otherwise, .
Converts escaped characters in a string to MSBuild characters with special meaning.
The string to be converted.
The converted string.
Removes all projects in this project collection.
Removes a project root element from the project root cache.
The project root element to unload.
Thrown if the project root element to unload is still in use by a loaded project or its imports.
Removes the given project from the project collection.
The project to remove.
Removes all loggers from the collection of loggers used by project builds in this collection.
Gets the file version of the assembly file that contains the MSBuild engine.
The file version of the assembly file that contains the MSBuild engine.
Event arguments for the event.
Gets the type of the change made to the .
Returns .
Properties or other mutable state associated with a project collection.
The property changed.
The property changed.
The global properties changed.
The property changed.
The property changed.
The loggers changed.
The property changed.
The property changed.
The toolsets changed.
Represents an evaluated design-time project item.
Gets an enumerator over all item metadata.
An enumerator over all item metadata, which can never be .
Gets the count of metadata for this item.
The count of metadata for this item.
Gets the evaluated value of the Include attribute.
The evaluated value of the Include attribute.
Gets the evaluated value of the given metadata for this item.
The name of the metadata whose value is retrieved.
The evaluated value of the given metadata for this item, or if no metadata exists with the given name.
Gets the evaluated value of the given metadata for this item, including metadata originating from an item definition.
The name of the metadata whose value is retrieved.
The evaluated value of the given metadata for this item, including metadata originating from an item definition, or an empty string if no metadata exists with the given name.
Determines whether metadata with the given name is defined on this item.
The name of the metadata to be searched for.
if metadata with the given name is defined on this item; otherwise, .
Determines if this item originates from an imported file.
if this item originates from an imported file; otherwise, .
Gets or sets the type of this item.
The item type.
Gets all the metadata for this item, including metadata originating from item definitions.
All the metadata for this item, including metadata originating from item definitions.
Gets the count of metadata for this item, including any metadata originating from item definitions, and any built-in metadata.
The count of metadata for this item, including any metadata originating from item definitions, and any built-in metadata.
Gets the project that contains this project item.
The project that contains this project item.
Removes any metadata with the given name.
The name of the metadata to remove.
if metadata with the given name exists before removal; otherwise, .
Renames the item to the given name.
The new name of the item.
Adds metadata with the given name and unevaluated value to the item.
The name of the metadata to add.
The unevaluated value of the metadata to add.
The new metadata. If metadata with the given name already exists, returns this metadata.
Gets or sets the unevaluated value of the Include attribute.
The unevaluated value of the Include attribute.
Gets the item element that is associated with this item.
The item element that is associated with this item, which can never be .
Represents an evaluated item definition for a particular item-type.
Gets any metadata in the item definition with the given name.
The name of the metadata to retrieve.
Any metadata in the item definition with the given name, or if no metadata exists with that name.
Gets the value of any metadata in the item that has the specified name.
The name of the item whose metadata value is to be retrieved.
The value of any metadata in the item that has the specified name; otherwise returns null.
Gets the item type of this item definition.
The item type of this item definition.
Gets an enumerator over all metadata for the item definition.
An enumerator over all metadata for the item definition.
Gets the count of the metadata on the item definition.
The count of the metadata on the item definition.
Gets the project that contains this item definition.
The project that contains this item definition, which is never .
Sets the value of the given metadata in the item definition.
The name of the metadata to set.
The new unevaluated value of the metadata.
The metadata with the given name.
Flags for controlling the project load.
Normal load. This is the default.
Ignore nonexistent targets files when evaluating the project.
Indicates that imports including duplicate, but not circular, imports on the ImportsIncludingDuplicates property should be recorded
Indicates that an exception will be thrown if any circular imports are detected
Represents evaluated design-time metadata.
Location of the Condition attribute.
Returns Condition attribute location.
Gets the evaluated metadata value.
The evaluated metadata value, which is never .
Determines if the metadata originated from an imported file.
if the metadata originated from an imported file; otherwise, .
Gets the item type of the containing item definition or item.
The item type of the containing item definition or item.
Location of the element.
The element location.
Gets the name of the metadata.
The name of the metadata.
Gets the last metadata (from an item definition or item) that was overridden by this metadata during evaluation.
The last metadata (from an item definition or item) whose value was overridden by this metadata during evaluation, or if the metadata has not been overridden.
Gets the project that contains this metadata.
The project that contains this metadata, which is never .
Compares this project metadata with the given project metadata for equality.
The project metadata to be compared to.
if the project metadata are equal; otherwise, .
Gets or sets the unevaluated metadata value.
The unevaluated metadata value.
Gets the associated project metadata element.
The associated project metadata element, which can never be .
Represents an evaluated design-time property.
Gets the evaluated property value.
The evaluated property value, which is never .
Determines whether the property originated from the environment variables.
if the property originated from an environment variable; otherwise, .
Determines whether the property is a global property.
if the property is a global property; otherwise, .
Determines whether the property originates from an imported file.
if the property originates from an imported file and not from an environment variable, a global property, or a reserved property; otherwise, .
Determines whether the property is a reserved property, for example 'MSBuildProjectFile'.
if the property is a reserved property; otherwise, .
Gets the name of the property.
The name of the property.
Gets the last property that was overridden by this property during evaluation.
The last property whose value was overridden by this property during evaluation, or if the property has not been overridden.
Gets the project that contains this property.
The project that contains this property, which is never .
Compares this project property with the given project property for equality.
The project property to be compared to
if the project properties are equal; otherwise, .
Gets or sets the unevaluated property value.
The unevaluated property value.
Gets the associated property element. Backing XML property. Null only if this is a global, environment, or built-in property.
The associated property element, or if this is a global or reserved property, or originates from an environment variable.
Event arguments for the event.
Gets the project root element which was just changed.
The project root element which was just changed. Never .
Gets the reason for the change.
The reason for the change. May be .
Encapsulates an import relationship in an evaluated project between a ProjectImportElement and the ProjectRootElement of the imported project.
Gets one of the imported projects.
The imported project.
Gets the element doing the import.
The element doing the import.
Gets a flag which determines if the importing element is itself imported.
Returns if the element is imported, otherwise.
Represents an aggregation of a set of properties that correspond to a particular sub toolset.
Gets the properties that correspond to this particular sub toolset.
The properties that correspond to this particular sub toolset.
Gets the Visual Studio version that corresponds to this sub toolset.
The string containing the Visual Studio version for this sub toolset.
Represent an aggregation of a tools version (eg. "2.0"), tools path, and optional set of associated properties.
Creates a toolset with the given tools version and tools path. Global, reserved, and environment properties are taken from the given project collection.
Name of the toolset
Path to this toolset's tasks and targets
The project collection from which to obtain the properties.
The path to search for msbuild overridetasks files.
Creates a toolset with the given tools version and tools path. Global, reserved, and environment properties are taken from the given project collection.
Name of the toolset.
Path to this toolset's tasks and targets.
Properties that should be associated with the Toolset.
May be null, in which case an empty property group will be used.
The project collection from which to obtain the properties.
The set of sub toolsets to add to this toolset.
The path to search for msbuild overridetasks files. The set of sub-toolsets to add to this toolset
Creates a toolset with the given tools version, tools path, and build properties. Global, reserved, and environment properties are taken from the given project collection.
Name of the toolset
Path to this toolset's tasks and targets
Properties that should be associated with the Toolset.
May be null, in which case an empty property group will be used.
The project collection from which to obtain the properties.
The path to search for msbuild overridetasks files.
Gets the default sub toolset version for this toolset.
The default sub toolset version.
Creates the sub toolset version to be used with this toolset.
The sub toolset version to be used with this toolset.
Creates the sub toolset version to be used with this toolset.
Set of global properties to use to create the sub toolset version. May be null.
The solution version to use to create the sub toolset version.
The sub toolset version.
Gets property specified by the given property name and sub toolset version.
The name of the property.
The sub toolset version of the sub toolset. May be .
The property specified, or if not found.
Gets the optional properties associated with the toolset.
The optional properties associated with the toolset.
Gets the set of sub toolsets associated with this toolset.
The set of sub toolsets.
Gets a path to the tasks and targets of this toolset.
A path to the tasks and targets of this toolset.
Gets the name of this toolset.
The name of this toolset.
Flags for controlling the toolset initialization.
Read toolset information from the exe configuration file.
Do not read toolset information from any external location.
Read toolset information from the registry (HKLM\Software\Microsoft\MSBuild\ToolsVersions).
An exception representing the case where the build was aborted by request, as opposed to being unceremoniously shut down due to another kind of error exception.
Creates a BuildAborted exception.
Protected constructor used for (de)serialization.
The error information.
The error context.
Creates a BuildAborted exception.
The error message.
Constructs a BuildAbortedException with an additional message attached and an inner exception.
The error message.
The inner exception.
Gets the error code (if any) associated with the exception message.
The error code as a string, or a null string if no error code exists.
ISerializable method which must be overridden because Exception implements this interface.
The error information.
The error context.
This exception is used to wrap an unhandled exception from a logger. This exception aborts the build, and it can only be thrown by the MSBuild engine.
Default constructor.
Operation is invalid.
Creates an instance of this exception using the specified error message.
The error message.
Operation is invalid.
Creates an instance of this exception using the specified error message and inner exception.
The error message.
The inner exception.
Operation is invalid.
Gets the details of the build event (if any) that was being logged.
The build event args, or null.
Gets the error code associated with this exception's message (not the inner exception).
The error code string.
ISerializable method which we must override since Exception implements this interface If we ever add new members to this class, we'll need to update this.
The error information.
The error context.
Gets the F1-help keyword associated with this error, for the host IDE.
The keyword string.
True if the exception occured during logger initialization
This exception is thrown whenever there is a problem with the user's XML project file. The problem might be semantic or syntactical. The latter would be of a type typically caught by XSD validation (if it was performed by the project writer).
Default constructor.
Creates an instance of this exception using the specified error message.
The error message.
Creates an instance of this exception using the specified error message and inner exception.
The error message.
The inner exception.
Creates an instance of this exception using rich error information.
The invalid project file (can be empty string).
The invalid line number in the project (set to zero if not available).
The invalid column number in the project (set to zero if not available).
The end of a range of invalid lines in the project (set to zero if not available).
The end of a range of invalid columns in the project (set to zero if not available).
Error message for exception.
Error sub-category that describes the error (can be null).
The error code (can be null).
The F1-help keyword for the host IDE (can be null).
Gets the exception message not including the project file.
The error message string only.
Gets the invalid column number (if any) in the project.
The invalid column number, or zero.
Gets the last column number (if any) of a range of invalid columns in the project.
The last invalid column number, or zero.
Gets the last line number (if any) of a range of invalid lines in the project.
The last invalid line number, or zero.
Gets the error code (if any) associated with the exception message.
Error code string, or null.
Gets the error sub-category (if any) that describes the type of this error.
The sub-category string, or null.
ISerializable method which we must override since Exception implements this interface If we ever add new members to this class, we'll need to update this.
The error information.
The error context.
Gets a flag that determines whether the exception has already been logged. Allows the exception to be logged at the most appropriate location, but continue to be propagated.
Returns a flag that determines whether the exception has already been logged.
Gets the F1-help keyword (if any) associated with this error, for the host IDE.
The keyword string, or null.
Gets the invalid line number (if any) in the project.
The invalid line number, or zero.
Gets the exception message including the affected project file (if any).
The complete message string.
Gets the file (if any) associated with this exception. This may be an imported file.
Project filename/path string, or null.
Exception subclass that ToolsetReaders should throw.
Basic constructor.
Basic constructor.
The error information.
The error context.
Basic constructor.
The error message.
Basic constructor.
The error message.
The inner exception.
Constructor that takes an MSBuild error code
The error message.
The error code.
Constructor that takes an MSBuild error code
The error message.
The error code.
The inner exception.
The MSBuild error code corresponding with this exception, or null if none was specified.
ISerializable method which we must override since Exception implements this interface If we ever add new members to this class, we'll need to update this.
The error information.
The error context.
This class is the public entry point for executing builds.
Gets a new build manager without specifying a name.
Creates a new unnamed build manager.
The host for the build manager.
Prepares the BuildManager to receive build requests.
The build parameters. May be null.
Thrown if a build is already in progress.
Submits a lone build request and blocks until results are available.
Build parameters.
Build request data.
The build result.
Thrown if a build is already in progress.
Submits a build request and blocks until the results are available.
Build request.
The build result.
Thrown if StartBuild has not been called or if EndBuild has been called.
Cancels all outstanding submissions asynchronously.
Gets the singleton instance of the Build Manager.
The singleton instance of the Build Manager.
Dispose of the build manager.
Signals that no more build requests are expected (or allowed) and that the BuildManager may clean up.
Thrown if there is no build in progress.
Finalize the building manager.
Gets a matching ProjectInstance from the BuildManager cache of previously built projects.
The project for which an instance should be retrieved.
A matching ProjectInstance from the BuildManager cache of previously built projects. If none exist, a new project instance will be created from the specified project.
Submits a build request to the current build but does not start it immediately. Allows the user to perform asynchronous execution or access the submission ID prior to executing the request.
Build request data.
The submission that will be built.
Thrown if StartBuild has not been called or if EndBuild has been called.
Clears out all of the build manager cached information.
This class represents all of the settings which must be specified to start a build.
Creates build parameters.
Creates build parameters and initializes them from a project collection.
The ProjectCollection from which the BuildParameters should populate itself.
Gets the environment variables which were set when this build was created.
Returns environment variables set when build was created.
Gets or sets the desired thread priority for building.
Returns the thread priority for building
Creates a clone of this build parameters object.
Returns a clone of this build parameters object.
Gets or sets the name of the culture to use during the build.
Returns the culture.
Gets or sets the default tools version for the build.
Returns the tools version.
Gets or sets a switch that specifies whether the build should emit a detailed summary at the end of the log.
Returns the value of a switch that specifies whether the build should emit a detailed summary at the end of the log
Gets or sets the flag determining whether to use the in process node.
Returns the flag.
Gets or sets a flag determining whether out-of-process nodes should persist after the build and wait for further builds.
Returns the flag.
Gets an immutable collection of environment properties.
Returns an immutable collection of environment properties.
Gets or sets the collection of forwarding logger descriptions.
Returns the collection of forwarding logger descriptions.
Gets a given toolset.
The toolset to retrieve.
Returns the toolset.
Gets or sets an immutable collection of global properties.
Returns an immutable collection of global properties.
Gets or sets a service that allows the host to provide additional control over the build process.
Returns the host service.
Gets or sets a switch that enables or disables legacy threading semantics.
Returns a switch that enables or disables legacy threading semantics; true if enabled, false otherwise.
Gets or sets the collection of loggers to use during the build.
Returns the collection of loggers to use during the build.
Gets or sets the flag determining whether the build logs the input parameters.
Returns the flag.
Gets or sets the flag determining whether the build logs the task parameters.
Returns the flag.
Gets or sets the maximum number of nodes this build may use.
Returns the maximum number of nodes this build may use.
Gets or sets the amount of memory the build should limit itself to using, in megabytes.
Returns the amount of memory the build should limit itself to using, in megabytes.
Gets or sets the location of the build node executable.
Returns the location of the build node executable.
Gets or sets a flag that determines if non-critical logging events should be discarded.
Returns a flag that determines if non-critical logging events should be discarded.
Gets or sets a switch that specifies whether the build should reset the configuration and results caches.
Returns a switch that specifies whether the build should reset the configuration and results caches; true if the caches should be reset, false otherwise.
Gets or sets a switch specifying if the operating environment, such as the current directory and environment, should be saved and restored between project builds and task invocations.
Returns a switch indicating whether the operating environment should be saved and restored between project builds and task invocations; true if the environment should be saved, false otherwise.
Gets or sets the flag determining whether to shut down the in process node when the build finishes. The default is .
Returns the flag.
Gets or sets locations to search for toolsets.
Returns locations to search for toolsets.
Gets all of the toolsets.
Returns all of the toolsets.
Gets or sets the name of the UI culture to use during the build.
Returns the name of the UI culture to use during the build.
Gets or sets a switch that specifies whether synchronous logging is used when there is only a single process.
Returns a switch that specifies whether synchronous logging is used when there is only a single process; if true, use synchronous logging, otherwise use asynchronous logging.
Encapsulates all of the data needed to submit a build request.
Constructs build request data for build requests based on project instances.
The instance to build.
The targets to build.
Constructs build request data for build requests based on project instances.
The instance to build.
The targets to build.
The host services to use, if any. May be null.
Constructs a BuildRequestData for build requests based on project instances.
The instance to build.
The targets to build.
The host services to use, if any. May be null.
The flags to use for the build.
Constructs a BuildRequestData for build requests based on project instances.
The instance to build.
The targets to build.
The host services to use, if any. May be null.
The flags to use for the build.
The list of properties to transfer from the project to any out of process node.
Constructs a BuildRequestData for build requests with a given project path.
The full path to the project file.
The global properties to use during evaluation of the project.
The tools version to use for the build. May be null.
The targets to build.
The host services to use, if any. May be null.
Constructs a BuildRequestData for build requests with a given project path.
The full path to the project file.
The global properties to use during evaluation of the project.
The tools version to use for the build. May be null.
The targets to build.
The host services to use, if any. May be null.
The flags to use for the build.
Gets or sets the tools version to use for the build.
The tools version to use for the build.
Gets or sets additional flags for this build request.
The build request flags.
Gets the global properties to use for this build request.
The global properties to use for this build request.
Gets the host service for this build.
The host service for this build.
Gets of sets the path to the project file for this build.
The path to the project file for this build.
Gets or sets project instance for this build.
The project instance, which may be .
Gets the list of properties to transfer to an out of process node for the build.
The list of properties.
Gets the names of the targets to build.
The names of the targets to build.
Flags providing additional control over the build request.
When this flag is present and the project has previously been built on a node whose affinity is incompatible with the affinity this request requires, this build request ignores the project state (but not the target results) that was previously generated.
No flags.
When this flag is present, issued in response to this request will include .
When this flag is present, the existing ProjectInstance in the build will be replaced by this one.
Represents the current result set for all of the targets that have produced results for a particular configuration.
Creates the build result set.
Adds the results for the specified target to this build result set.
The target whose results are to be added.
The results for the target.
Gets a flag indicating whether a circular dependency was detected.
if a circular dependency was detected; otherwise, .
Gets the configuration ID for this build result set.
The configuration ID for this build result set.
Gets the exception generated for this build result set.
The exception generated for this build result set. Returns false if no exception occurred.
Gets the build request id for this build result set.
The build request id for this build result set.
Determines if there are any results for the given target.
The target whose results are retrieved.
if results exist; otherwise, .
Gets an indexer which can be used to get the build result for the given target.
The indexed target.
The build result for the indexed target.
Merges the given results with this build result set.
The results to merge.
Gets the build request ID of the originating node.
The build request ID of the originating node.
Gets the overall result for this build.
The overall result for this build.
Gets the global build request ID which issued the request leading to this build result set.
The global build request ID which issued the request leading to this build result set.
Gets or sets state after the build.
The object.
Gets an enumerator over all target results in this build result set.
An enumerator over all target results in this build result set.
Gets the build submission which this build result set is associated with.
The build submission which this build result set is associated with.
Enumerated data indicating the build result of a target or a build request.
The target or request failed in some way.
The target or request was a complete success.
Represents a build request that has been submitted to the build manager for processing. The methods of this class may be used to execute synchronous or asynchronous build requests and to provide access to the results upon completion.
Gets or sets the asynchronous context provided to , if any.
The asynchronous context provided to , or if no context is provided.
Gets or sets the build manager this build submission is associated with.
The build manager this build submission is associated with.
Gets or sets the result of the build.
The result of the build.
Starts a build request synchronously and waits until results are available.
The build request.
The request has already been started or is already complete.
Starts a build request asynchronously and within the given context. Immediately returns control to the caller.
The callback method to call when the build submission is complete.
The context in which the build submission occurs.
The request has already been started or is already complete.
Determines whether this build submission is complete.
if this build submission is complete; otherwise, .
Gets or sets an ID uniquely identifying this build submission.
An ID uniquely identifying this build submission.
Gets a object that will be signalled when the build is complete.
Returns null until or returns, then returns the WaitHandle object.
A callback function that receives notification when a build completes.
The submission that initiates the build.
Implementation of a host service that mediates access from the build to the host.
Creates a host service.
Gets the host service for the given task where the task appears within a target and project with the given names.
The name of the project file.
The name of the target.
The task name associated with the host service.
The host service for the given task where the task appears within a target and project with the given names. If no host service exists, returns null.
Gets the node affinity for the given project file.
The project file associated with the node.
The node affinity for the given project file.
Updates the host services table when a project is named or renamed.
The current path to the project file.
The new path to the project file.
Register a host service for the given task/target pair.
The project file containing the task/target pair.
The name of the target.
The name of the task.
The host service.
Sets the node affinity for the given project file.
The project file. If set to String.Empty, all projects will use the given node affinity. If set to null, all node affinities will be cleared.
The node affinity.
Unregister the project's host objects, if any and remove any node affinities associated with it.
The path to the project to unregister.
An interface representing the results for a specific target.
Gets the exception generated when the target was built.
The exception generated when the target was built, or if no exception occurred.
Gets the set of build items output by the target.
The set of build items output by the target.
Gets the result code returned when the target was built.
The result code returned when the target was built.
An enumerated data type that determines where projects are built.
The project may be scheduled anywhere.
The project may only be scheduled on the in-proc node. This happens automatically if there is a host object or if a ProjectInstance was specified. A host may wish to specify it if they know a task depends explicitly on shared static data or other host-provided objects.
The project may only be scheduled on an out-of-proc node. A host may wish to specify this if it is known the project being built could contaminate the host environment (or the host contaminates the environment while a build is proceeding.)
Reasons for a node to shutdown.
The BuildManager sent a command instructing the node to terminate.
The BuildManager sent a command instructing the node to terminate, but to restart for reuse.
The communication link failed.
The NodeEngine caught an exception which requires the Node to shut down.
This class represents an implementation of an out-of-proc build node. This class is deprecated and has no alternative.
Constructor.
Starts up the node and processes messages until the node is requested to shut down.
The exception which caused shutdown, if any.
The reason for shutting down.
Represents a project instance.
Creates a new project instance and initializes it from the given project root, using the default project collection.
The project root element.
Creates a new project instance and initializes it from the given project root, using the given global properties, tools version, and project collection.
The project root element
The global properties to use. May be null.
The tools version. May be null.
Project collection
Creates a new project instance and initializes it from the given project root, using the given global properties, tools version, and project collection
The project root element.
The global properties to use. May be null.
The tools version. May be null.
The sub toolset version. May be null.
Project collection.
Creates a new project instance and initializes it from the given project file, using the default project collection.
The name of the project file.
Creates a new project instance and initializes it from the given project file, using the given global properties, tools version, and the default project collection.
The name of the project file.
The global properties to use.
The tools version.
Creates a new project instance and initializes it from the given project file, using the given global properties, tools version, and project collection.
The name of the project file.
The global properties to use. May be null.
The tools version. May be null.
Project collection
Creates a new project instance and initializes it from the given project file, using the given global properties, tools version, sub toolset version, and project collection.
The name of the project file.
The global properties to use. May be null.
The tools version. May be null.
The sub toolset version. May be null.
Project collection.
Adds an item with no metadata to the project.
The item type of the item to be added.
The evaluated Include attribute of the item.
The new item.
Adds an item with the given metadata to the project.
The item type of the item to be added.
The evaluated Include attribute of the item.
The metadata of the item.
Return the new item.
Builds the default targets of the project with loggers of the project collection.
if the build succeeds; otherwise, .
Builds the default targets of the project with the given loggers.
The loggers to use for the build. May be null.
if the build succeeds; otherwise, .
Builds the default targets of the project with the given loggers and remote loggers.
The loggers to use for the build. May be null.
The remote loggers to use for the build. May be null.
if the build succeeds; otherwise, .
Builds the given target of the project with the given loggers.
The target to build. May be null.
The loggers to use for the build. May be null.
if the build succeeds; otherwise, .
Builds the given target of the project with the given loggers and remote loggers.
The target to build. May be null.
The loggers to use for the build. May be null.
The remote loggers to use for the build. May be null.
if the build succeeds; otherwise, .
Builds the given targets of the project with the given loggers.
The targets to build. May be null.
The loggers to use for the build. May be null.
if the build succeeds; otherwise, .
Build a list of targets with specified loggers. Targets may be null. Loggers may be null.
List of targets to build. May be null.
Enumerated list of loggers to use for building targets.
Outputs of target builds.
on success, false on failure.
Builds the given targets of the project with the given loggers and remote loggers.
The targets to build. May be null.
The loggers to use for the build. May be null.
The remote loggers to use for the build. May be null.
if the build succeeds; otherwise, .
Builds the given targets with the given target outputs and with the given loggers and remote loggers.
The targets to build. May be null.
The loggers to use for the build. May be null.
The remote loggers to use for the build. May be null.
The target outputs.
if the build succeeds; otherwise, .
Creates an independent, deep clone of this project and everything in it. Clone has the same mutability as the original. Useful for compiling a single file or for keeping build results between builds.
Creates an independent, deep clone of this project.
Creates an independent, deep clone of this project and everything in it, with specified mutability. Useful for compiling a single file or for keeping build results between builds.
Flag indicating clone mutability.
An independent, deep clone of this project, with specified mutability.
Gets or sets the list of default targets for this project.
The list of default targets for this project.
Gets the project root directory. Used for evaluation of relative paths and setting the current directory during build. Is never null: projects not loaded from disk use the current directory from the time the build started.
The project root directory, which is never null. Projects not loaded from disk return the current directory at the time the build was started.
Evaluates the provided string as a condition by expanding items and properties, using the current items and properties available, then doing a logical evaluation.
The string to be expanded.
if the string evaluates to true; otherwise, .
Evaluates the provided string by expanding items and properties, using the current items and properties available.
The string to be expanded.
The expanded string value.
Gets the full path to the project file. Used for logging.
The full path to the project file, or if the project was never named.
Gets the evaluated, escaped value of the Include attribute of the provided item definition.
The item definition to be evaluated and escaped.
The evaluated, escaped value of the Include attribute of the provided item definition.
Gets the evaluated, escaped value of the Include attribute of the provided item.
The item to be evaluated and escaped.
The evaluated, escaped value of the Include attribute of the provided item.
Gets all the items in this project of the specified type. This is a read-only list.
The item type of the items to be retrieved.
All the items in this project of the specified type. Returns an empty list if there are none.
Gets all the items in this project of the specified type and evaluated include value. This is a read-only list.
The item type of the items to be retrieved.
The evaluated include value of the items to be retrieved
All the items in this project of the specified type and evaluated include value. Returns an empty collection if there are none.
Gets the escaped value of the metadatum with the provided name of the provided item definition.
The item definition to provide the metadatum value.
The name of the metadatum.
The escaped value of the metadatum with the provided name of the provided item definition.
Gets the escaped value of the metadatum with the provided name on the provided item.
The item to provide the metadatum value.
The name of the metadatum.
The escaped value of the metadatum with the provided name on the provided item.
Gets the escaped value of the provided metadatum.
The metadatum to be escaped.
The escaped value of the provided metadatum.
Gets the property with the given name.
The name of the property to retrieve.
The property with the given name, or if no property exists with that name.
Gets the value of the property with the given name.
The name of the property whose value is to be retrieved.
The value of the property with the given name, or an empty string if no property exists with that name. The value returned has no escaped character sequences.
Gets the escaped value of the provided property.
The property to be escaped.
The escaped value of the provided property.
Gets the dictionary of global properties this project was evaluated with, if any.
The dictionary of global properties this project was evaluated with.
Gets the list of initial targets for the project and all its imports, depth-first. These targets are built before any other targets.
The list of initial targets for the project and all its imports, depth-first.
Gets a value that indicates whether the project instance is immutable. This flag is set permanently when the instance is created.
if the project instance is immutable; otherwise, .
Gets a read-only dictionary of the item definitions in the project, keyed by item type.
A read-only dictionary of the item definitions in the project, keyed by item type.
Gets all items in this project.
All items in this project.
Gets all item types in this project.
All item types in this project.
Gets the location of the originating file itself. Never null.
The location of the originating file. Never returns .
Gets all properties in this project.
All properties in this project.
Removes an item from the project, if present. Returns true if it was present, false otherwise.
The item to be removed.
if the item was present before removal; otherwise, .
Removes a property with the given name. Returns true if the property had a value (possibly empty string), otherwise false.
The name of the property to be removed.
if the property had a value (possibly an empty string) before removal; otherwise, .
Add a property with the specified name and value to the project. Overwrites any property with the same name already in the property collection.
The name of the property to add.
The evaluated value of the property to add.
The new property.
Gets an enumerator over all targets in this project. This collection is read-only.
An enumerator over all targets in this project.
Gets the tools version this project was evaluated with, if any.
The tools version this project was evaluated with, if any.
Creates a ProjectRootElement from the contents of this ProjectInstance.
A ProjectRootElement which represents this instance.
Replaces the project state , and with those from the specified .
The to update from.
Contains settings for controlling project instance creation.
Create immutable instance of project.
Create immutable instance of project with look up table that improves performance.
Create project instance with no options.
Represents an evaluated item definition for a particular item type, divested of all references to project source code.
Gets any metadata in this item definition with the given name.
The name of the metadata to retrieve.
Any metadata in this item definition with the given name, or if no metadata exists with this name.
Gets the item type of this item definition.
The item type of this item definition.
Gets all the metadata for this item definition. This is a read-only collection.
All the metadata for this item definition. If there is no metadata, returns empty collection.
Gets the number of pieces of metadata on this item definition.
The number of pieces of metadata on this item definition.
Gets an enumerator over the metadata names for this item definition. This is a read-only collection.
An enumerator over the metadata names for this item definition.
Wraps an unevaluated itemgroup under a target. Immutable.
Gets or sets the Condition attribute of this project element.
The Condition attribute value, or an empty string if the attribute is not present.
Location of the condition, if any
Returns .
Gets all child items of this item definition.
All child items of this item definition.
Location of the original element
Returns .
Wraps an unevaluated item under an itemgroup in a target. Immutable.
Gets the unevaluated Condition attribute value.
The unevaluated Condition attribute value.
Location of the condition attribute if any
The location of the condition attribute.
Gets the unevaluated Exclude attribute value.
The unevaluated Exclude attribute value.
Location of the exclude attribute, if any
The location of the exclude attribute.
Gets the unevaluated Include attribute value.
The unevaluated Include attribute value.
Location of the include attribute, if any
The location of the include attribute.
Gets the item type, for example "Compile".
The item type, for example "Compile".
Gets the unevaluated KeepDuplicates value.
The KeepDuplicates value.
Gets or sets the location of the KeepDuplicates attribute, if any.
The location of the KeepDuplicates attribute.
Gets the unevaluated KeepMetadata attribute value
The KeepMetadata value.
Gets the location of the KeepMetadata attribute, if any.
The location of KeepMetadata.
Location of the element
The element's location.
Gets an ordered collection of unevaluated metadata on the item.
An ordered collection of unevaluated metadata on the item.
Gets the unevaluated Remove attribute value.
The unevaluated Remove attribute value.
Location of the remove attribute, if any
The location of the remove attribute.
Gets the unevaluated RemoveMetadata value.
The RemoveMetadata value.
Gets the location of the RemoveMetadata attribute, if any.
The RemoveMetadata location.
Wraps an unevaluated metadata under an item in an item group in a target. Immutable.
Gets the unevaluated Condition attribute value.
The unevaluated Condition attribute value.
Location of the condition attribute if any
Returns .
Location of the element
Returns .
Gets the name of this metadata.
The name of this metadata.
Gets the unevaluated value of this metadata.
The unevaluated value of this metadata.
Wraps an evaluated item for build purposes.
Gets the number of pieces of metadata on this item.
The number of pieces of metadata on this item.
Gets the evaluated Include attribute value.
The evaluated Include attribute value, which may be empty string.
Gets the metadata with the given name, including metadata inherited from item definitions.
The name of the metadata.
The metadata with the given name, or if no metadata exists with that name.
Gets the value of the metadata with the given name, including metadata inherited from item definitions.
The name of the metadata.
The value of the metadata with the given name, including metadata inherited from item definitions, or an empty string if no metadata exists with that name.
Determines whether the metadata with the given name is defined on this item (even if its value is empty string).
The name of the metadata.
if the metadata with the given name is defined on this item (even if its value is empty string); otherwise, .
Gets the item type. For example, "Compile".
The item type. For example, "Compile".
Gets an enumerator over the evaluated metadata of the item. This is a read-only collection.
An enumerator over the evaluated metadata of the item.
Gets the number of metadata entries, including metadata inherited from item definitions.
The number of metadata entries, including metadata inherited from item definitions
Gets all metadata names of this item, including metadata inherited from item definitions.
All metadata names of this item, including metadata inherited from item definitions.
ITaskItem implementation. Gets the collection of custom metadata.
The collection of custom metadata.
ITaskItem implementation. Copies the custom metadata entries to another item.
The item to copy the metadata entries to.
ITaskItem implementation. Gets the value of the specified metadata entry.
The name of the metadata entry.
The value of the metadata.
ITaskItem implementation. Gets or sets the item specification.
The item specification.
ITaskItem implementation. Gets the names of the metadata entries associated with the item.
The names of the metadata entries associated with the item.
ITaskItem implementation. Adds or changes a custom metadata entry to the item.
Metadata name to be added or changed.
Metadata value to be added or changed.
ITaskItem2 implementation. Returns a clone of the metadata on this object. Values returned are in their original escaped form.
The cloned metadata, with values' escaping preserved.
ITaskItem2 implementation. Evaluated include value, escaped as necessary. May be empty string. Gets or sets the item include value e.g. for disk-based items this would be the file path.
The item include value.
ITaskItem2 implementation. Allows the values of metadata on the item to be queried.
The metadata to be queried.
The escaped metadata value.
ITaskItem2 implementation. Allows a piece of custom metadata to be set on the item. Assumes that the value passed in is unescaped, and escapes the value as necessary in order to maintain its value.
The metadata name.
The metadata value.
Gets the owning project.
The owning project.
Removes metadata with the given name.
The metadata name.
Adds metadata with the given names and values. Overwrites any metadata with the same name already in the collection.
The metadata to add.
Add metadata with the given name and value. Overwrites any metadata with the same name already in the collection.
The name of the metadata to add.
The evaluated value of the metadata to add.
The new metadata.
Gets a string that represents the current item.
A string that represents the current item.
Wraps an evaluated metadata for build purposes.
Copies the metadata to create a deep clone.
The new metadata.
Gets or sets the evaluated value of the metadata.
The evaluated value of the metadata, which is never .
Gets the name of the metadata.
The name of the metadata.
Compares this project metadata with the given project metadata for equality.
The project metadata to be compared to.
if the project metadata are equal; otherwise, .
Gets a string representation of this metadata.
A string representation of this metadata.
Wraps an OnError Element (MSBuild).
Gets the unevaluated Condition attribute value of this OnError element.
The unevaluated Condition attribute value, or an empty string if the attribute is not present.
Location of the condition, if any
Returns .
Gets the unevaluated ExecuteTargets attribute value of this OnError element.
The unevaluated ExecuteTargets attribute value, which may be an empty string.
Location of the execute targets attribute, if any
Returns .
Location of the element
Returns .
Wraps an unevaluated propertygroup under a target. Immutable.
Gets or sets the Condition attribute of this property group.
The Condition attribute value, or an empty string if the attribute is not present.
Gets the location of the Condition attribute.
Returns location of the Condition attribute.
Gets the location of the element itself.
Returns location of the element.
Gets all child properties in this property group.
All child properties in this property group.
Wraps an unevaluated property of a property group in a target. Immutable.
Gets or sets the unevaluated Condition attribute of this property.
The Condition attribute value, or an empty string if the attribute is not present.
Gets the location of the Condition attribute.
Returns Condition attribute location.
Gets the location of the element itself.
The element location.
Gets the name of this property.
The name of this property.
Gets the unevaluated value of this property.
The unevaluated value of this property.
Wraps an evaluated property for build purposes. Instances of these properties are added and removed via methods on the ProjectInstance object.
Gets or sets the evaluated value of this property.
The evaluated value of this property.
Returns true if this object is immutable; false otherwise.
An immutable object cannot be made mutable.
Returns .
Gets the name of this property.
The name of this property.
Compares this project property with the given project property for equality.
The project property to be compared to.
if the project property are equal; otherwise, .
Gets a string representation for this property.
A string representation for this property.
Wraps a Target Element (MSBuild).
Gets the location of the AfterTargets attribute.
The AfterTargets attribute location.
Gets the location of the BeforeTargets attribute.
The BeforeTargets attribute location.
Gets a list of the children of this target. The build iterates through this to get each task to execute.
A list of the children of this target.
Gets the unevaluated Condition attribute of this target element.
The Condition attribute value, or an empty string if the attribute is not present.
Gets the location of the Condition attribute.
The Condition attribute location.
Gets an unevaluated semicolon-delimited list of targets that this target depends on.
An unevaluated semicolon-delimited list of targets that this target depends on, or an empty string if this target depends on no other targets.
Gets the location of the DependsOnTargets attribute.
The DependsOnTargets attribute location.
Gets the full path to the file from which this target originated.
The full path to the file from which this target originated, or an empty string if this target originated in a project that was not loaded and has never been given a path.
Gets the unevaluated inputs on this target element.
The unevaluated inputs on this target element, or an empty string if this target has no inputs.
Gets the location of the Inputs attribute.
The Inputs attribute location.
Gets an unevaluated condition which is used to delete duplicate outputs from this target.
An unevaluated condition which is used to delete duplicate outputs from this target, or an empty string if there is no condition.
Gets the location of the KeepDuplicateOutputs attribute.
The KeepDuplicateOutputs attribute location.
Gets the location of the element itself.
The element location.
Gets the name of the target.
The name of the target.
Gets a list of the children of this target that refer to OnError targets.
Gets a list of the children of this target that refer to OnError targets.
Gets the unevaluated outputs on this target element May be empty string.
The unevaluated outputs on this target element Returns an empty string if there are no outputs.
Gets the location of the Outputs attribute.
The Outputs attribute location.
Gets the unevaluated return values on the target element as a string.
The unevaluated return values on the target element as a string, or an empty string or null, if no return value is specified.
Gets the location of the Returns attribute.
The Returns attribute location.
Gets all the tasks that are immediate children of this target.
All the tasks that are immediate children of this target.
Abstracts the , and classes. This allows these types to be used in a single collection of target children
Abstract classes cannot be instantiated.
Gets or sets the Condition attribute of this target.
The Condition attribute value, or an empty string if the attribute is not present.
Gets the location of the Condition attribute.
The Condition attribute location.
Gets the full path to the file from which this task originated.
The full path to the file from which this task originated, or an empty string if the task originated in a project that was not loaded and has never been given a path.
Gets the location of the element itself.
The element location.
Wraps a Task Element (MSBuild).
Gets the unevaluated Condition attribute of this task.
The Condition attribute value, or an empty string if the attribute is not present.
Location of the condition, if any
Returns .
Gets the unevaluated ContinueOnError attribute of the task.
The unevaluated ContinueOnError attribute of the task, or an empty string if the attribute is not present.
Location of the ContinueOnError attribute, if any
Returns .
Location of the original element
Returns .
Unevaluated MSBuildArchitecture on the task.
May be empty string.
Returns .
Location of the MSBuildArchitecture attribute, if any
Returns .
Unevaluated MSBuildRuntime on the task.
May be empty string.
Returns .
Location of the MSBuildRuntime attribute, if any
Returns .
Gets the name of the task, possibly qualified, as it appears in the project.
The name of the task, possibly qualified, as it appears in the project.
Gets an ordered set of the output property and item objects of this task.
An ordered set of the output property and item objects of the task.
Gets an unordered set of the task parameter names and unevaluated values of this task.
An unordered set of the task parameter names and unevaluated values of this task.
Abstracts the base class for the TaskOutputItem and TaskOutputProperty classes. This allows them to be used in a single collection.
Abstract classes cannot be instantiated.
Gets the Condition attribute of this task.
The Condition attribute value, or an empty string if the attribute is not present.
The location of the original Condition attribute, if any.
The location of the original Condition attribute, or .
Gets the location of the original element.
The location of the original element.
Gets the location of the TaskParameter attribute.
The TaskParameter location.
Wraps an output item element of a Task Element (MSBuild).
Gets the Condition attribute of this project element.
The Condition attribute value, or an empty string if the attribute is not present.
Gets the location of the Condition attribute.
The Condition attribute location.
Gets the item type that the outputs go into.
The item type that the outputs go into.
Gets the location of the ItemType attribute.
The ItemType attribute location.
Gets the location of the element itself.
The element location.
Gets the property of this class to retrieve the outputs from.
The property of this class to retrieve the outputs from.
Gets the location of the TaskParameter attribute.
The TaskParameter attribute location.
Represents an output property element of a Task Element (MSBuild).
Gets the Condition attribute of the output element.
The Condition attribute of the output element.
Gets the location of the Condition attribute.
The Condition attribute location.
Gets the location of the element itself.
The element location.
Gets the name of the property that receives the output.
The name of the property that receives the output.
Gets the location of the PropertyName attribute.
The PropertyName attribute location.
Gets the property of the task class to retrieve the output from.
The property of the task class to retrieve the output from.
Gets the location of the TaskParameter attribute.
The TaskParameter attribute location.
Represents both the result code for building a single target and the overall build result.
Gets the exception which aborted this target, if any.
The exception which aborted this target, if any.
Gets the items produced by this target.
The items produced by this target.
Gets the result code for building this target.
The result code for building this target.
The result code for a given target.
The target failed to build.
The target was skipped because its condition was not met.
The target successfully built.
Type of delegate used to reset console color.
Type of delegate used to set console color.
Text color.
Represents a logger that forwards events to a central logger (e.g ConsoleLogger) residing on the parent node.
Constructs a logger.
Gets or sets a property that determines how a node logger to forwards messages to the central logger.
A property that determines how a node logger to forwards messages to the central logger.
Forward this event to the central logger.
The event to be forwarded.
Signs up the console logger to log the given build events.
The event source for build events.
Signs up the console logger for all build events.
The event source for build events.
The node count. Not used.
Gets or sets the ID of the node.
The ID of the node.
Gets or sets a switch that determines whether to suppress the output of the errors and warnings summary at the end of a build.
A switch that determines whether to suppress the output of the errors and warnings summary at the end of a build.
Called when the build engine is finished with this logger.
Gets or sets the level of detail to show in the event log.
The level of detail to show in the event log.
Represents the default logger that outputs event data to the console (stdout).
Creates a default logger.
Creates a logger instance with the given verbosity that logs to the default console.
The verbosity level.
Initializes the logger with alternate output handlers.
The verbosity level.
The write handler.
Sets the text color.
Resets the text color.
Applies a parameter to the logger.
The name of the parameter.
The value of the parameter.
Called when the build is finished.
The sender (should be null).
The event arguments.
Called when the build is started.
The sender (should be null).
The event arguments.
Called to log a custom event.
The sender of the event.
The event arguments.
Called to log an error event.
The sender of the event.
The event arguments.
Signs up the console logger for the given build event.
The available events.
Initializes the logger with the given event source and node count.
The event source.
The node count.
Called to log a message event.
The sender of the event.
The event arguments.
Gets or sets a semicolon-delimited list of parameter key-value pairs.
A semicolon-delimited list of parameter key-value pairs.
Called to log a project finished event.
The sender (should be null).
The event arguments.
Called to log a project started event.
The sender (should be null).
The event arguments.
Gets or sets a switch that determines whether to suppress the display of errors and the warnings summary.
Returns a switch that determines whether to suppress the display of errors and the warnings summary.
Called when the build is finished.
Gets or sets a switch that determines whether to suppress the display of project headers.
Returns a switch that determines whether to suppress the display of project headers.
Called to log a target finished event.
The sender (should be null).
The event arguments.
Called to log a target started event.
The sender (should be null).
The event arguments.
Called to log a task finished event.
The sender (should be null).
The event arguments.
Called to log a task started event.
The sender (should be null).
The event arguments.
Gets or sets the level of detail to show in the event log.
The level of detail to show in the event log.
Called to log a warning event.
The sender of the event.
The event arguments.
Provides access to the write handler delegate so that it can be redirected if necessary (e.g. to a file).
The write handler delegate.
This class creates a text file which will contain the build log for a node.
Creates a file logger.
Gets or sets a property that determines how a node logger to forwards messages to the central logger.
A property that determines how a node logger to forwards messages to the central logger.
Initializes the logger with the given event source.
The event source.
Initializes the logger with the given event source and node count.
The event source.
The node count.
Gets or sets the ID of the node.
The ID of the node.
Gets or sets a switch that determines whether to suppress the output of the errors and warnings summary at the end of a build.
A switch that determines whether to suppress the output of the errors and warnings summary at the end of a build.
Called when the build engine is finished with this logger.
Gets or sets the level of detail to show in the event log.
The level of detail to show in the event log.
A specialization of the ConsoleLogger that logs to a file instead of the console.
Creates a file logger.
Signs up the console file logger for the given build events.
The available events.
Initializes a file logger in a multiprocessor environment.
The event source.
The node count.
Called when the build is finished.
Represents a central/forwarding logger pair used in multiprocessor logging.
Creates a forwarding logger.
The central logger.
The description for the forwarding logger.
Gets the central logger.
The central logger.
Gets the forwarding logger description.
The forwarding logger description.
Contains information about a logger as a collection of values that can be used to instantiate the logger and can be serialized to be passed between different processes.
Creates a logger description from the given data.
The class name of the logger.
The assembly name that implements the logger.
The assembly file that implements the logger.
Switch parameters for the logger.
The verbosity level.
Creates an ILogger instance from the data in this description.
An ILogger instance from the data in this description.
Gets the string of logger parameters.
The string of logger parameters, or if there are no parameters.
Returns the verbosity level for this logger.
Delegate used for writing a string to some location like the console window or the IDE build window.
The message to write.