<?xml version="1.0" encoding="utf-8"?>
<Type Name="ITaskItem" FullName="Microsoft.Build.Framework.ITaskItem">
  <TypeSignature Language="C#" Value="public interface ITaskItem" />
  <AssemblyInfo>
    <AssemblyName>Microsoft.Build.Framework</AssemblyName>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Interfaces />
  <Attributes>
    <Attribute>
      <AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
    </Attribute>
    <Attribute>
      <AttributeName>System.Runtime.InteropServices.Guid("8661674F-2148-4F71-A92A-49875511C528")</AttributeName>
    </Attribute>
  </Attributes>
  <Docs>
    <since version="2.0" />
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>The number of <see cref="T:Microsoft.Build.Framework.ITaskItem" /> objects created during a build may not correspond exactly to items declared in a project file for the following reasons:</para>
      <list type="bullet">
        <item>
          <para>Tasks sometimes create items that were not declared in the project file.</para>
        </item>
        <item>
          <para>An item collection can be declared in the project file with wildcards, which could create many items when built.</para>
        </item>
      </list>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Defines an vstecmsbuild item that can be consumed and emitted by tasks. </para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName="CloneCustomMetadata">
      <MemberSignature Language="C#" Value="public System.Collections.IDictionary CloneCustomMetadata ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Collections.IDictionary</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <since version="2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <list type="bullet">
            <item>
              <para>Does not include built-in metadata.</para>
            </item>
            <item>
              <para>This method should return a clone of the metadata. </para>
            </item>
            <item>
              <para>Writing to this dictionary should not be reflected in the underlying item.</para>
            </item>
          </list>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the collection of custom metadata.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The collection of custom metadata.</para>
        </returns>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="CopyMetadataTo">
      <MemberSignature Language="C#" Value="public void CopyMetadataTo (Microsoft.Build.Framework.ITaskItem destinationItem);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="destinationItem" Type="Microsoft.Build.Framework.ITaskItem" />
      </Parameters>
      <Docs>
        <since version="2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Follow the guidelines below when implementing this method.</para>
          <list type="bullet">
            <item>
              <para>Do not overwrite the <see cref="P:Microsoft.Build.Framework.ITaskItem.ItemSpec" /> property.</para>
            </item>
            <item>
              <para>Do not overwrite existing metadata entries.</para>
            </item>
            <item>
              <para>Do not copy metadata entries that do not make sense on the destination item.</para>
            </item>
          </list>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Copies the custom metadata entries to another item.</para>
        </summary>
        <param name="destinationItem">
          <attribution license="cc4" from="Microsoft" modified="false" />The item to copy the metadata entries to.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="GetMetadata">
      <MemberSignature Language="C#" Value="public string GetMetadata (string metadataName);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="metadataName" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <since version="2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the value of the specified metadata entry.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The value of the <paramref name="attributeName" /> metadata.</para>
        </returns>
        <param name="metadataName">
          <attribution license="cc4" from="Microsoft" modified="false" />The name of the metadata entry.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="ItemSpec">
      <MemberSignature Language="C#" Value="public string ItemSpec { set; get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <since version="2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The item specification is an arbitrary string. If the item represents a file on disk, the item specification will be the path of that file.</para>
          <para>The <see cref="P:Microsoft.Build.Framework.ITaskItem.ItemSpec" /> for the following item declaration in a project file is File.cs.</para>
          <code>&lt;ItemGroup&gt;
    &lt;Compile Include="File.cs"/&gt;
&lt;/ItemGroup&gt;</code>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the item specification.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="MetadataCount">
      <MemberSignature Language="C#" Value="public int MetadataCount { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version="2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the number of metadata entries associated with the item.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="MetadataNames">
      <MemberSignature Language="C#" Value="public System.Collections.ICollection MetadataNames { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Collections.ICollection</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version="2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the names of the metadata entries associated with the item.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="RemoveMetadata">
      <MemberSignature Language="C#" Value="public void RemoveMetadata (string metadataName);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="metadataName" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <since version="2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Removes the specified metadata entry from the item.</para>
        </summary>
        <param name="metadataName">
          <attribution license="cc4" from="Microsoft" modified="false" />The name of the metadata entry to remove.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="SetMetadata">
      <MemberSignature Language="C#" Value="public void SetMetadata (string metadataName, string metadataValue);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="metadataName" Type="System.String" />
        <Parameter Name="metadataValue" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <since version="2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Adds or changes a custom metadata entry to the item.</para>
        </summary>
        <param name="metadataName">
          <attribution license="cc4" from="Microsoft" modified="false" />The name of the metadata entry.</param>
        <param name="metadataValue">
          <attribution license="cc4" from="Microsoft" modified="false" />The value of the metadata entry.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
  </Members>
</Type>