Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Classe BuildItem

Representa um item único em um MSBuild project. 

System.Object
  Microsoft.Build.BuildEngine.BuildItem

Namespace:  Microsoft.Build.BuildEngine
Assembly:  Microsoft.Build.Engine (em Microsoft.Build.Engine.dll)

public class BuildItem

O tipo BuildItem expõe os membros a seguir.

  NomeDescrição
Método públicoBuildItem(String, ITaskItem)Inicializa uma nova instância da BuildItem classe com base em um ITaskItem objeto.
Método públicoBuildItem(String, String)Inicializa uma nova instância da BuildItem classe com o especificado Name e Include valores de propriedade.
Superior

  NomeDescrição
Propriedade públicaConditionObtém ou define o Condition o valor do item do atributo.
Propriedade públicaCustomMetadataCountObtém o número de atributos personalizados definidos neste item.
Propriedade públicaCustomMetadataNamesObtém todos os nomes de atributo personalizado ou definidas pelo usuário.
Propriedade públicaExcludeObtém ou define o Exclude o valor do item do atributo.
Propriedade públicaFinalItemSpecObtém a especificação final do item depois que todos os caracteres curinga e propriedades tenham sido avaliadas.
Propriedade públicaIncludeObtém ou define o Include de atributo que criou o BuildItem.
Propriedade públicaIsImportedObtém um valor indicando se o item foi importado para o projeto.
Propriedade públicaMetadataCountObtém o número de metadados definido no item
Propriedade públicaMetadataNamesObtém os nomes dos metadados do item, incluindo os modificadores de item-spec predefinidos ou reservados.
Propriedade públicaNameObtém ou define o nome da coleção item ao qual o item pertence.
Superior

  NomeDescrição
Método públicoCloneCria uma cópia superficial da BuildItem.
Método públicoCopyCustomMetadataToCopia todos os metadados de item sobre isso BuildItem para o BuildItem.
Método públicoEquals(Object) Verifica se o objeto especificado é igual ao objeto atual. (Herdado de Object.)
Método protegidoFinalize Permite um objeto tentar liberar recursos e executar outras operações de limpeza antes que ele seja recuperado pela coleta de lixo. (Herdado de Object.)
Método públicoGetEvaluatedMetadataRetorna o valor dos metadados do item especificado após depois que todas as referências de item e a propriedade tenham sido avaliadas.
Método públicoGetHashCodeServe como a função de hash padrão. (Herdado de Object.)
Método públicoGetMetadataRetorna o valor dos metadados do item especificado.
Método públicoGetType Obtém o Type da instância atual. (Herdado de Object.)
Método públicoHasMetadataIndica se o item tem os metadados do item especificado.
Método protegidoMemberwiseCloneCria uma cópia superficial do Object atual. (Herdado de Object.)
Método públicoRemoveMetadataRemove os metadados do item especificado.
Método públicoSetMetadata(String, String)Atribui o valor especificado nos metadados do item especificado.
Método públicoSetMetadata(String, String, Boolean)Atribui o valor especificado nos metadados do item especificado e, opcionalmente, trata os metadados como um valor literal.
Método públicoToStringRetorna uma string que representa o objeto atual. (Herdado de Object.)
Superior

Um Item elemento em um projeto pode representar vários itens através do uso de curingas. Portanto, cada BuildItem objeto não representa necessariamente um Item elemento do projeto.

O exemplo a seguir cria um Project objeto e usa o LoadXml método para adicionar conteúdo ao projeto. O BuildItem, BuildItemGroup, e BuildItemGroupCollection classes são usadas para adicionar, remover e alterar itens no projeto.


using System;
using System.Collections.Generic;
using System.Text;

using Microsoft.Build.BuildEngine;

namespace AddNewItem
{
    class Program
    {
        /// <summary>
        /// This code demonstrates the use of the following methods:
        ///     Engine constructor
        ///     Project constructor
        ///     Project.LoadFromXml
        ///     Project.Xml
        ///     BuildItemGroupCollection.GetEnumerator
        ///     BuildItemGroup.GetEnumerator
        ///     BuildItem.Name (get)
        ///     BuildItem.Include (set)
        ///     BuildItem.GetMetadata
        ///     BuildItem.SetMetadata
        ///     BuildItemGroup.RemoveItem
        ///     BuildItemGroup.AddNewItem
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            // Create a new Engine object.
            Engine engine = new Engine(Environment.CurrentDirectory);

            // Create a new Project object.
            Project project = new Project(engine);

            // Load the project with the following XML, which contains
            // two ItemGroups.
            project.LoadXml(@"
                <Project xmlns='http://schemas.microsoft.com/developer/msbuild/2003'>

                    <ItemGroup>
                        <Compile Include='Program.cs'/>
                        <Compile Include='Class1.cs'/>
                        <RemoveThisItemPlease Include='readme.txt'/>
                    </ItemGroup>

                    <ItemGroup>
                        <EmbeddedResource Include='Strings.resx'>
                            <LogicalName>Strings.resources</LogicalName>
                            <Culture>fr-fr</Culture>
                        </EmbeddedResource>
                    </ItemGroup>

                </Project>
                ");

            // Iterate through each ItemGroup in the Project.  There are two.
            foreach (BuildItemGroup ig in project.ItemGroups)
            {
                BuildItem itemToRemove = null;

                // Iterate through each Item in the ItemGroup.
                foreach (BuildItem item in ig)
                {
                    // If the item's name is "RemoveThisItemPlease", then
                    // store a reference to this item in a local variable,
                    // so we can remove it later.
                    if (item.Name == "RemoveThisItemPlease")
                    {
                        itemToRemove = item;
                    }

                    // If the item's name is "EmbeddedResource" and it has a metadata Culture
                    // set to "fr-fr", then ...
                    if ((item.Name == "EmbeddedResource") && (item.GetMetadata("Culture") == "fr-fr"))
                    {
                        // Change the item's Include path to "FrenchStrings.fr.resx", 
                        // and add a new metadata Visiable="false".
                        item.Include = @"FrenchStrings.fr.resx";
                        item.SetMetadata("Visible", "false");
                    }
                }

                // Remove the item named "RemoveThisItemPlease" from the
                // ItemGroup
                if (itemToRemove != null)
                {
                    ig.RemoveItem(itemToRemove);
                }

                // For each ItemGroup that we found, add to the end of it
                // a new item Content with Include="SplashScreen.bmp".
                ig.AddNewItem("Content", "SplashScreen.bmp");
            }

            // The project now looks like this:
            //
            //     <?xml version="1.0" encoding="utf-16"?>
            //     <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
            //       <ItemGroup>
            //         <Compile Include="Program.cs" />
            //         <Compile Include="Class1.cs" />
            //         <Content Include="SplashScreen.bmp" />
            //       </ItemGroup>
            //       <ItemGroup>
            //         <EmbeddedResource Include="FrenchStrings.fr.resx">
            //           <LogicalName>Strings.resources</LogicalName>
            //           <Culture>fr-fr</Culture>
            //           <Visible>false</Visible>
            //         </EmbeddedResource>
            //         <Content Include="SplashScreen.bmp" />
            //       </ItemGroup>
            //     </Project>
            //
            Console.WriteLine(project.Xml);
        }
    }
}


.NET Framework

Com suporte em: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos do sistema do .NET Framework.

Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Contribuições da comunidade

ADICIONAR
A Microsoft está realizando uma pesquisa online para saber sua opinião sobre o site do MSDN. Se você optar por participar, a pesquisa online lhe será apresentada quando você sair do site do MSDN.

Deseja participar?
Mostrar:
© 2014 Microsoft