BuildPropertyGroup BuildPropertyGroup BuildPropertyGroup BuildPropertyGroup Class

Definizione

Rappresenta una raccolta di oggetti BuildProperty.Represents a collection of BuildProperty objects.

public ref class BuildPropertyGroup : System::Collections::IEnumerable
public class BuildPropertyGroup : System.Collections.IEnumerable
type BuildPropertyGroup = class
    interface IEnumerable
Public Class BuildPropertyGroup
Implements IEnumerable
Ereditarietà
BuildPropertyGroupBuildPropertyGroupBuildPropertyGroupBuildPropertyGroup
Implementazioni

Esempi

Nell'esempio seguente viene creato Project un oggetto e viene LoadXml utilizzato il metodo per aggiungere contenuto al progetto.The following example creates a Project object and uses the LoadXml method to add content to the project. Le BuildPropertyclassi BuildPropertyGroup, eBuildPropertyGroupCollection vengono utilizzate per aggiungere, rimuovere e modificare elementi nel progetto.The BuildProperty, BuildPropertyGroup, and BuildPropertyGroupCollection classes are used to add, remove, and change items in the project.

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

using Microsoft.Build.BuildEngine;

namespace AddNewProperty
{
    class Program
    {
        /// <summary>
        /// This code demonstrates the use of the following methods:
        ///     Engine constructor
        ///     Project constructor
        ///     Project.LoadFromXml
        ///     Project.Xml
        ///     BuildPropertyGroupCollection.GetEnumerator
        ///     BuildPropertyGroup.GetEnumerator
        ///     BuildProperty.Name (get)
        ///     BuildProperty.Value (set)
        ///     BuildPropertyGroup.RemoveProperty
        ///     BuildPropertyGroup.AddNewProperty
        /// </summary>
        static void Main()
        {
            // 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 PropertyGroups.
            project.LoadXml(@"
                <Project xmlns='http://schemas.microsoft.com/developer/msbuild/2003'>

                    <PropertyGroup>
                        <Optimize>true</Optimize>
                        <WarningLevel>4</WarningLevel>
                    </PropertyGroup>

                    <PropertyGroup>
                        <OutputPath>bin\debug\</OutputPath>
                        <RemoveThisPropertyPlease>1</RemoveThisPropertyPlease>
                    </PropertyGroup>

                </Project>
                ");

            // Iterate through each PropertyGroup in the Project.  There are two.
            foreach (BuildPropertyGroup pg in project.PropertyGroups)
            {
                BuildProperty propertyToRemove = null;

                // Iterate through each Property in the PropertyGroup.
                foreach (BuildProperty property in pg)
                {
                    // If the property's name is "RemoveThisPropertyPlease", then
                    // store a reference to this property in a local variable,
                    // so we can remove it later.
                    if (property.Name == "RemoveThisPropertyPlease")
                    {
                        propertyToRemove = property;
                    }

                    // If the property's name is "OutputPath", change its value
                    // from "bin\debug\" to "bin\release\".
                    if (property.Name == "OutputPath")
                    {
                        property.Value = @"bin\release\";
                    }
                }

                // Remove the property named "RemoveThisPropertyPlease" from the
                // PropertyGroup
                if (propertyToRemove != null)
                {
                    pg.RemoveProperty(propertyToRemove);
                }

                // For each PropertyGroup that we found, add to the end of it
                // a new property called "MyNewProperty".
                pg.AddNewProperty("MyNewProperty", "MyNewValue");
            }

            // The project now looks like this:
            //
            //     <?xml version="1.0" encoding="utf-16"?>
            //     <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
            //         <Optimize>true</Optimize>
            //         <WarningLevel>4</WarningLevel>
            //         <MyNewProperty>MyNewValue</MyNewProperty>
            //         <OutputPath>bin\release</OutputPath>
            //         <MyNewProperty>MyNewValue</MyNewProperty>
            Console.WriteLine(project.Xml);
        }
    }
}
Module Module1

    ''' <summary>
    ''' This code demonstrates the use of the following methods:
    '''     Engine constructor
    '''     Project constructor
    '''     Project.LoadFromXml
    '''     Project.Xml
    '''     BuildPropertyGroupCollection.GetEnumerator
    '''     BuildPropertyGroup.GetEnumerator
    '''     BuildProperty.Name (get)
    '''     BuildProperty.Value (set)
    '''     BuildPropertyGroup.RemoveProperty
    '''     BuildPropertyGroup.AddNewProperty
    ''' </summary>
    ''' <remarks></remarks>
    Sub Main()

        ' Create a new Engine object.
        Dim engine As New Engine(Environment.CurrentDirectory)

        ' Create a new Project object.
        Dim project As New Project(engine)

        ' Load the project with the following XML, which contains
        ' two PropertyGroups.
        project.LoadXml( _
            "<Project xmlns='http://schemas.microsoft.com/developer/msbuild/2003'>" & _
                "<PropertyGroup>" & _
                    "<Optimize>true</Optimize>" & _
                    "<WarningLevel>4</WarningLevel>" & _
                "</PropertyGroup>" & _
                "<PropertyGroup>" & _
                    "<OutputPath>bin\debug\</OutputPath>" & _
                    "<RemoveThisPropertyPlease>1</RemoveThisPropertyPlease>" & _
                "</PropertyGroup>" & _
            "</Project>")

        ' Iterate through each PropertyGroup in the Project.  There are two.
        For Each pg As BuildPropertyGroup In project.PropertyGroups

            Dim propertyToRemove As BuildProperty
            propertyToRemove = Nothing

            ' Iterate through each Property in the PropertyGroup.
            For Each buildProperty As BuildProperty In pg

                ' If the property's name is "RemoveThisPropertyPlease", then
                ' store a reference to this property in a local variable,
                ' so we can remove it later.
                If buildProperty.Name = "RemoveThisPropertyPlease" Then
                    propertyToRemove = buildProperty
                End If

                ' If the property's name is "OutputPath", change its value
                ' from "bin\debug\" to "bin\release\".
                If buildProperty.Name = "OutputPath" Then
                    buildProperty.Value = "bin\release\"
                End If

            Next

            ' Remove the property named "RemoveThisPropertyPlease" from the
            ' PropertyGroup
            If Not propertyToRemove Is Nothing Then
                pg.RemoveProperty(propertyToRemove)
            End If

            ' For each PropertyGroup that we found, add to the end of it
            ' a new property called "MyNewProperty".
            pg.AddNewProperty("MyNewProperty", "MyNewValue")

        Next

        '  The project now looks like this:
        ' 
        '      <?xml version="1.0" encoding="utf-16"?>
        '      <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
        '          <Optimize>true</Optimize>
        '          <WarningLevel>4</WarningLevel>
        '          <MyNewProperty>MyNewValue</MyNewProperty>
        '          <OutputPath>bin\release</OutputPath>
        '          <MyNewProperty>MyNewValue</MyNewProperty>
        Console.WriteLine(project.Xml)

    End Sub

End Module

Commenti

Un BuildPropertyGroup oggetto può rappresentare un elemento nel progetto o una raccolta virtuale di proprietà, ad esempio le proprietà globali o le proprietà delle variabili di ambiente.A BuildPropertyGroup object can represent a element in the project, or a virtual collection of properties, such as global properties or environment variable properties.

Costruttori

BuildPropertyGroup() BuildPropertyGroup() BuildPropertyGroup() BuildPropertyGroup()

Inizializza una nuova istanza della classe BuildPropertyGroup.Initializes a new instance of the BuildPropertyGroup class.

BuildPropertyGroup(Project) BuildPropertyGroup(Project) BuildPropertyGroup(Project) BuildPropertyGroup(Project)

Inizializza un nuovo elemento PropertyGroup nel progetto specificato.Initializes a new PropertyGroup element in the specified project.

Proprietà

Condition Condition Condition Condition

Ottiene o imposta il valore dell'attributo Condition del gruppo di proprietà.Gets or sets the Condition attribute value of the property group.

Count Count Count Count

Ottiene un valore che indica il numero di oggetti BuildProperty nella classe BuildPropertyGroup.Gets a value indicating the number of BuildProperty objects in the BuildPropertyGroup.

IsImported IsImported IsImported IsImported

Ottiene o imposta un valore che indica se il gruppo di proprietà è stato importato nel progetto.Gets or sets a value indicating whether the property group was imported into the project.

Item[String] Item[String] Item[String] Item[String]

Ottiene o imposta un oggetto BuildProperty contenuto in questa classe BuildPropertyGroup.Gets or sets a BuildProperty object in this BuildPropertyGroup.

Metodi

AddNewProperty(String, String) AddNewProperty(String, String) AddNewProperty(String, String) AddNewProperty(String, String)

Consente di aggiungere una nuova classe BuildProperty alla classe Name con le proprietà Value e BuildPropertyGroup specificate.Adds a new BuildProperty with the specified Name and Value to the BuildPropertyGroup.

AddNewProperty(String, String, Boolean) AddNewProperty(String, String, Boolean) AddNewProperty(String, String, Boolean) AddNewProperty(String, String, Boolean)

Consente di aggiungere una nuova classe BuildProperty alla classe Name con le proprietà Value e BuildPropertyGroup specificate.Adds a new BuildProperty with the specified Name and Value to the BuildPropertyGroup.

Clear() Clear() Clear() Clear()

Rimuove il valore della proprietà Condition e tutti gli oggetti BuildProperty dalla classe BuildPropertyGroup.Removes the Condition property value and all BuildProperty objects from the BuildPropertyGroup.

Clone(Boolean) Clone(Boolean) Clone(Boolean) Clone(Boolean)

Consente di creare una copia completa o superficiale della classe BuildPropertyGroup.Creates a deep or shallow copy of the BuildPropertyGroup.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Ottiene un enumeratore che scorre la classe BuildPropertyGroup.Gets an enumerator that iterates through the BuildPropertyGroup.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
RemoveProperty(BuildProperty) RemoveProperty(BuildProperty) RemoveProperty(BuildProperty) RemoveProperty(BuildProperty)

Rimuove l'oggetto BuildProperty specificato dall'oggetto BuildPropertyGroup.Removes the specified BuildProperty from the BuildPropertyGroup.

RemoveProperty(String) RemoveProperty(String) RemoveProperty(String) RemoveProperty(String)

Rimuove la classe BuildProperty con la proprietà Name specificata dalla classe BuildPropertyGroup.Removes the BuildProperty with the specified Name from the BuildPropertyGroup.

SetImportedPropertyGroupCondition(String) SetImportedPropertyGroupCondition(String) SetImportedPropertyGroupCondition(String) SetImportedPropertyGroupCondition(String)

Imposta la condizione per i gruppi di proprietà importati.Sets the condition for imported property groups. Le modifiche non sono rese persistenti.Changes are not persisted.

SetProperty(String, String) SetProperty(String, String) SetProperty(String, String) SetProperty(String, String)

Imposta la proprietà Value della classe BuildProperty con la proprietà Name specificata.Sets the Value of the BuildProperty with the specified Name.

SetProperty(String, String, Boolean) SetProperty(String, String, Boolean) SetProperty(String, String, Boolean) SetProperty(String, String, Boolean)

Imposta la proprietà Value della classe BuildProperty con la proprietà Name specificata.Sets the Value of the BuildProperty with the specified Name.

ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Metodi di estensione

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Consente la parallelizzazione di una query.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.Converts an IEnumerable to an IQueryable.

Si applica a