BuildPropertyGroup BuildPropertyGroup BuildPropertyGroup BuildPropertyGroup Class

定義

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
継承
BuildPropertyGroupBuildPropertyGroupBuildPropertyGroupBuildPropertyGroup
実装

次の例ではProject 、オブジェクトを作成LoadXmlし、メソッドを使用して、プロジェクトにコンテンツを追加します。The following example creates a Project object and uses the LoadXml method to add content to the project. BuildPropertyBuildPropertyGroupおよびBuildPropertyGroupCollectionの各クラスは、プロジェクト内の項目を追加、削除、および変更するために使用されます。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

注釈

BuildPropertyGroupオブジェクトは、プロジェクト内の要素、またはグローバルプロパティや環境変数プロパティなどのプロパティの仮想コレクションを表すことができます。A BuildPropertyGroup object can represent a element in the project, or a virtual collection of properties, such as global properties or environment variable properties.

コンストラクター

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

BuildPropertyGroup クラスの新しいインスタンスを初期化します。Initializes a new instance of the BuildPropertyGroup class.

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

指定されたプロジェクトの新しい PropertyGroup 要素を初期化します。Initializes a new PropertyGroup element in the specified project.

プロパティ

Condition Condition Condition Condition

プロパティ グループの Condition 属性の値を取得または設定します。Gets or sets the Condition attribute value of the property group.

Count Count Count Count

BuildProperty 内の BuildPropertyGroup オブジェクトの数を示す値を取得します。Gets a value indicating the number of BuildProperty objects in the BuildPropertyGroup.

IsImported IsImported IsImported IsImported

プロパティ グループがプロジェクトにインポートされたかどうかを示す値を取得または設定します。Gets or sets a value indicating whether the property group was imported into the project.

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

この BuildProperty 内の BuildPropertyGroup オブジェクトを取得または設定します。Gets or sets a BuildProperty object in this BuildPropertyGroup.

メソッド

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

指定した BuildProperty および Name を持つ新しい ValueBuildPropertyGroup に追加します。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)

指定した BuildProperty および Name を持つ新しい ValueBuildPropertyGroup に追加します。Adds a new BuildProperty with the specified Name and Value to the BuildPropertyGroup.

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

Condition プロパティ値およびすべての BuildProperty オブジェクトを BuildPropertyGroup から削除します。Removes the Condition property value and all BuildProperty objects from the BuildPropertyGroup.

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

BuildPropertyGroup の詳細コピーまたは簡易コピーを作成します。Creates a deep or shallow copy of the BuildPropertyGroup.

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

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

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

BuildPropertyGroup を反復処理する列挙子を取得します。Gets an enumerator that iterates through the BuildPropertyGroup.

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

既定のハッシュ関数として機能します。Serves as the default hash function.

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

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

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

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

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

指定した BuildPropertyBuildPropertyGroup から削除します。Removes the specified BuildProperty from the BuildPropertyGroup.

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

指定した BuildProperty を持つ NameBuildPropertyGroup から削除します。Removes the BuildProperty with the specified Name from the BuildPropertyGroup.

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

インポートされたプロパティ グループの条件を設定します。Sets the condition for imported property groups. 変更は保持されません。Changes are not persisted.

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

指定した Value を持つ BuildPropertyName を設定します。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)

指定した Value を持つ BuildPropertyName を設定します。Sets the Value of the BuildProperty with the specified Name.

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

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

拡張メソッド

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

IEnumerable の要素を、指定した型にキャストします。Casts the elements of an IEnumerable to the specified type.

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

指定された型に基づいて IEnumerable の要素をフィルター処理します。Filters the elements of an IEnumerable based on a specified type.

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

クエリの並列化を有効にします。Enables parallelization of a query.

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

IEnumerableIQueryable に変換します。Converts an IEnumerable to an IQueryable.

適用対象