BuildPropertyGroup Klasse

Definition

Stellt eine Auflistung vonBuildProperty-Objekten dar.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
Vererbung
BuildPropertyGroup
Implementiert

Beispiele

Im folgenden Beispiel wird ein Project -Objekt erstellt und LoadXml die-Methode verwendet, um dem Projektinhalt hinzuzufügen.The following example creates a Project object and uses the LoadXml method to add content to the project. Die BuildPropertyKlassen BuildPropertyGroup, undBuildPropertyGroupCollection werden verwendet, um Elemente im Projekt hinzuzufügen, zu entfernen und zu ändern.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

Hinweise

Ein BuildPropertyGroup -Objekt kann ein-Element im Projekt oder eine virtuelle Auflistung von Eigenschaften, z. b. globale Eigenschaften oder Umgebungsvariablen Eigenschaften, darstellen.A BuildPropertyGroup object can represent a element in the project, or a virtual collection of properties, such as global properties or environment variable properties.

Konstruktoren

BuildPropertyGroup()

Initialisiert eine neue Instanz der BuildPropertyGroup-Klasse.Initializes a new instance of the BuildPropertyGroup class.

BuildPropertyGroup(Project)

Initialisiert ein neues PropertyGroup-Element im angegebenen Projekt.Initializes a new PropertyGroup element in the specified project.

Eigenschaften

Condition

Ruft den Condition-Attributwert der Eigenschaftengruppe ab oder legt diesen fest.Gets or sets the Condition attribute value of the property group.

Count

Ruft einen Wert ab, der die Anzahl der BuildProperty-Objekte in der BuildPropertyGroup angibt.Gets a value indicating the number of BuildProperty objects in the BuildPropertyGroup.

IsImported

Ruft einen Wert ab, der angibt, ob die Eigenschaftengruppe in das Projekt importiert wurde, oder legt diesen fest.Gets or sets a value indicating whether the property group was imported into the project.

Item[String]

Ruft ein in dieser BuildProperty enthaltenes BuildPropertyGroup-Objekt ab oder legt dieses fest.Gets or sets a BuildProperty object in this BuildPropertyGroup.

Methoden

AddNewProperty(String, String)

Fügt der BuildProperty eine neue Name mit dem angegebenen Value und BuildPropertyGroup hinzu.Adds a new BuildProperty with the specified Name and Value to the BuildPropertyGroup.

AddNewProperty(String, String, Boolean)

Fügt der BuildProperty eine neue Name mit dem angegebenen Value und BuildPropertyGroup hinzu.Adds a new BuildProperty with the specified Name and Value to the BuildPropertyGroup.

Clear()

Entfernt den Condition-Eigenschaftswert und sämtliche BuildProperty-Objekte aus der BuildPropertyGroup.Removes the Condition property value and all BuildProperty objects from the BuildPropertyGroup.

Clone(Boolean)

Erstellt eine tiefe oder flache Kopie der BuildPropertyGroup.Creates a deep or shallow copy of the BuildPropertyGroup.

Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetEnumerator()

Ruft einen Enumerator ab, der die BuildPropertyGroup durchläuft.Gets an enumerator that iterates through the BuildPropertyGroup.

GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
RemoveProperty(BuildProperty)

Entfernt die angegebene BuildProperty aus der BuildPropertyGroup.Removes the specified BuildProperty from the BuildPropertyGroup.

RemoveProperty(String)

Entfernt die BuildProperty mit dem angegebenen Name aus der BuildPropertyGroup.Removes the BuildProperty with the specified Name from the BuildPropertyGroup.

SetImportedPropertyGroupCondition(String)

Legt die Bedingung für importierte Eigenschaftengruppen fest.Sets the condition for imported property groups. Änderungen werden nicht beibehalten.Changes are not persisted.

SetProperty(String, String)

Legt den Value der BuildProperty auf den angegebenen Name fest.Sets the Value of the BuildProperty with the specified Name.

SetProperty(String, String, Boolean)

Legt den Value der BuildProperty auf den angegebenen Name fest.Sets the Value of the BuildProperty with the specified Name.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Erweiterungsmethoden

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ umCasts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen TypsFilters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.Enables parallelization of a query.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.Converts an IEnumerable to an IQueryable.

Gilt für: