ProjectItemElement Class

Definition

ProjectItemElement class represents the Item element in the MSBuild project.

public ref class ProjectItemElement : Microsoft::Build::Construction::ProjectElementContainer
public class ProjectItemElement : Microsoft.Build.Construction.ProjectElementContainer
type ProjectItemElement = class
    inherit ProjectElementContainer
Public Class ProjectItemElement
Inherits ProjectElementContainer
Inheritance

Properties

AllChildren

Get an enumerator over all descendants in a depth-first manner.

(Inherited from ProjectElementContainer)
AllParents

All parent elements of this element, going up to the ProjectRootElement. None if this itself is a ProjectRootElement. None if this itself has not been attached to a parent yet.

(Inherited from ProjectElement)
Children

Get enumerable over all the children

(Inherited from ProjectElementContainer)
ChildrenReversed

Get enumerable over all the children, starting from the last

(Inherited from ProjectElementContainer)
Condition

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 InvalidOperationException if setting the condition is not applicable for those elements.

(Inherited from ProjectElement)
ConditionLocation

Location of the "Condition" attribute on this element, if any. If there is no such attribute, returns null.

(Inherited from ProjectElement)
ContainingProject

ProjectRootElement (possibly imported) that contains this Xml. Cannot be null.

(Inherited from ProjectElement)
Count

Number of children of any kind

(Inherited from ProjectElementContainer)
ElementName

Gets the name of the associated element. Useful for display in some circumstances.

(Inherited from ProjectElement)
Exclude

Gets or sets the Exclude value. Returns empty string if it is not present. Removes the attribute if the value to set is empty or null.

ExcludeLocation

Location of the exclude attribute

FirstChild

First child, if any, otherwise null. Cannot be set directly; use PrependChild().

(Inherited from ProjectElementContainer)
HasMetadata

Whether there are any child metadata elements

Include

Gets or sets the Include value. Returns empty string if it is not present. Removes the attribute if the value to set is empty or null.

IncludeLocation

Location of the include attribute

ItemType

Gets the item's type.

KeepDuplicates

Gets or sets the KeepDuplicates value. Returns empty string if it is not present. Removes the attribute if the value to set is empty or null.

KeepDuplicatesLocation

Location of the keepDuplicates attribute

KeepMetadata

Gets or sets the KeepMetadata value. Returns empty string if it is not present. Removes the attribute if the value to set is empty or null.

KeepMetadataLocation

Location of the keepMetadata attribute

Label

Gets or sets the Label value. Returns empty string if it is not present. Removes the attribute if the value to set is empty.

(Inherited from ProjectElement)
LabelLocation

Location of the "Label" attribute on this element, if any. If there is no such attribute, returns null;

(Inherited from ProjectElement)
LastChild

Last child, if any, otherwise null. Cannot be set directly; use AppendChild().

(Inherited from ProjectElementContainer)
Location

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.

(Inherited from ProjectElement)
MatchOnMetadata

Gets or sets the MatchOnMetadata value. Returns empty string if it is not present. Removes the attribute if the value to set is empty or null.

MatchOnMetadataLocation

Location of the MatchOnMetadata attribute

MatchOnMetadataOptions

Gets or sets the MatchOnMetadataOptions value. Returns empty string if it is not present. Removes the attribute if the value to set is empty or null.

MatchOnMetadataOptionsLocation

Location of the MatchOnMetadataOptions attribute

Metadata

Get any child metadata.

NextSibling

Next sibling element. May be null.

(Inherited from ProjectElement)
OuterElement

The outer markup associated with this project element.

(Inherited from ProjectElement)
Parent

Null if this is a ProjectRootElement. Null if this has not been attached to a parent yet.

(Inherited from ProjectElement)
PreviousSibling

Previous sibling element. May be null.

(Inherited from ProjectElement)
Remove

Gets or sets the Remove value. Returns empty string if it is not present. Removes the attribute if the value to set is empty or null.

RemoveLocation

Location of the remove attribute

RemoveMetadata

Gets or sets the RemoveMetadata value. Returns empty string if it is not present. Removes the attribute if the value to set is empty or null.

RemoveMetadataLocation

Location of the removeMetadata attribute

Update

Gets or sets the Update value.

UpdateLocation

Location of the update attribute

Methods

AddMetadata(String, String)

Convenience method to add a piece of metadata to this item. Adds after any existing metadata. Does not modify any existing metadata.

AddMetadata(String, String, Boolean)

Convenience method to add a piece of metadata to this item. Adds after any existing metadata. Does not modify any existing metadata.

AppendChild(ProjectElement)

Inserts the provided element as the last child. Throws if the parent is not itself parented. Throws if the node to add is already parented. Throws if the node to add was created from a different project than this node.

(Inherited from ProjectElementContainer)
Clone()

Returns a shallow clone of this project element.

(Inherited from ProjectElement)
Clone(ProjectRootElement)

Returns a shallow clone of this project element.

(Inherited from ProjectElement)
CopyFrom(ProjectElement)

Applies properties from the specified type to this instance.

CopyFrom(ProjectElement)

Applies properties from the specified type to this instance.

(Inherited from ProjectElement)
CreateNewInstance(ProjectRootElement)

Returns a new instance of this same type. Any properties that cannot be set after creation should be set to copies of values as set for this instance.

CreateNewInstance(ProjectRootElement)

Returns a new instance of this same type. Any properties that cannot be set after creation should be set to copies of values as set for this instance.

(Inherited from ProjectElement)
DeepClone(ProjectRootElement, ProjectElementContainer)

Returns a clone of this project element and all its children.

(Inherited from ProjectElementContainer)
DeepCopyFrom(ProjectElementContainer)

Applies properties from the specified type to this instance.

(Inherited from ProjectElementContainer)
InsertAfterChild(ProjectElement, ProjectElement)

Insert the child after the reference child. Reference child if provided must be parented by this element. Reference child may be null, in which case this is equivalent to PrependChild(child). Throws if the parent is not itself parented. Throws if the reference node does not have this node as its parent. Throws if the node to add is already parented. Throws if the node to add was created from a different project than this node.

(Inherited from ProjectElementContainer)
InsertBeforeChild(ProjectElement, ProjectElement)

Insert the child before the reference child. Reference child if provided must be parented by this element. Reference child may be null, in which case this is equivalent to AppendChild(child). Throws if the parent is not itself parented. Throws if the reference node does not have this node as its parent. Throws if the node to add is already parented. Throws if the node to add was created from a different project than this node.

(Inherited from ProjectElementContainer)
PrependChild(ProjectElement)

Inserts the provided element as the first child. Throws if the parent is not itself parented. Throws if the node to add is already parented. Throws if the node to add was created from a different project than this node.

(Inherited from ProjectElementContainer)
RemoveAllChildren()

Remove all the children, if any.

(Inherited from ProjectElementContainer)
RemoveChild(ProjectElement)

Removes the specified child. Throws if the child is not currently parented by this object. This is O(1). May be safely called during enumeration of the children.

(Inherited from ProjectElementContainer)
ShouldCloneXmlAttribute(XmlAttribute)

Do not clone attributes which can be metadata. The corresponding expressed as attribute project elements are responsible for adding their attribute

ShouldCloneXmlAttribute(XmlAttribute)

Hook for subclasses to specify whether the given attribute should be cloned or not

(Inherited from ProjectElement)

Applies to