BuildItemとは? わかりやすく解説

BuildItem クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

MSBuild プロジェクト内の 1 つの項目を表します。

名前空間: Microsoft.Build.BuildEngine
アセンブリ: Microsoft.Build.Engine (microsoft.build.engine.dll 内)
構文構文

public class BuildItem
public ref class BuildItem
public class BuildItem
public class BuildItem
解説解説
使用例使用例

Project オブジェクトを作成し、LoadXml メソッドを使用して内容をプロジェクトに追加する例を次に示します。プロジェクト内の項目を追加、削除、および変更するために、BuildItem クラス、BuildItemGroup クラス、および BuildItemGroupCollection クラスが使用されています。

Module Module1

    ''' <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>
    ''' <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 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.
        For Each ig As BuildItemGroup
 In project.ItemGroups

            Dim itemToRemove As BuildItem
            itemToRemove = Nothing

            ' Iterate through each Item in the ItemGroup.
            For Each item As
 BuildItem 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"
 Then
                    itemToRemove = item
                End If

                ' If the item's name is "EmbeddedResource"
 and it has a metadata Culture
                ' set to "fr-fr", then ...
                If (item.Name = "EmbeddedResource")
 And (item.GetMetadata("Culture")
 = "fr-fr") Then
                    ' 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")
                End If
            Next

            ' Remove the item named "RemoveThisItemPlease"
 from the
            ' ItemGroup
            If Not itemToRemove Is
 Nothing Then
                ig.RemoveItem(itemToRemove)
            End If

            ' 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")
        Next

        ' 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)

    End Sub

End Module
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);
        }
    }
}
継承階層継承階層
System.Object
  Microsoft.Build.BuildEngine.BuildItem
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
BuildItem メンバ
Microsoft.Build.BuildEngine 名前空間

BuildItem コンストラクタ


BuildItem コンストラクタ (String, ITaskItem)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

ITaskItem オブジェクトに基づいて、BuildItem クラスの新しいインスタンスを初期化します。

名前空間: Microsoft.Build.BuildEngine
アセンブリ: Microsoft.Build.Engine (microsoft.build.engine.dll 内)
構文構文

Public Sub New ( _
    itemName As String, _
    taskItem As ITaskItem _
)
Dim itemName As String
Dim taskItem As ITaskItem

Dim instance As New BuildItem(itemName,
 taskItem)
public BuildItem (
    string itemName,
    ITaskItem taskItem
)
public:
BuildItem (
    String^ itemName, 
    ITaskItem^ taskItem
)
public BuildItem (
    String itemName, 
    ITaskItem taskItem
)
public function BuildItem (
    itemName : String, 
    taskItem : ITaskItem
)

パラメータ

itemName

BuildItem の Name プロパティ。

taskItem

BuildItem の Include プロパティの作成元の ITaskItem。

.NET Framework のセキュリティ.NET Framework のセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
BuildItem クラス
BuildItem メンバ
Microsoft.Build.BuildEngine 名前空間

BuildItem コンストラクタ (String, String)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

指定した Name プロパティ値および Include プロパティ値を使用して、BuildItem クラスの新しいインスタンスを初期化します。

名前空間: Microsoft.Build.BuildEngine
アセンブリ: Microsoft.Build.Engine (microsoft.build.engine.dll 内)
構文構文

Public Sub New ( _
    itemName As String, _
    itemInclude As String _
)
Dim itemName As String
Dim itemInclude As String

Dim instance As New BuildItem(itemName,
 itemInclude)
public BuildItem (
    string itemName,
    string itemInclude
)
public:
BuildItem (
    String^ itemName, 
    String^ itemInclude
)
public BuildItem (
    String itemName, 
    String itemInclude
)
public function BuildItem (
    itemName : String, 
    itemInclude : String
)

パラメータ

itemName

BuildItem の Name プロパティ。

itemInclude

BuildItem の Include プロパティ。

.NET Framework のセキュリティ.NET Framework のセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
BuildItem クラス
BuildItem メンバ
Microsoft.Build.BuildEngine 名前空間

BuildItem プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ Condition 項目の Condition 属性の値を取得または設定します。
パブリック プロパティ Exclude 項目の Exclude 属性の値を取得または設定します。
パブリック プロパティ FinalItemSpec すべてのワイルドカードおよびプロパティが評価された後の項目の最終的な指定を取得します。
パブリック プロパティ Include BuildItem を作成した Include 属性を取得または設定します。
パブリック プロパティ IsImported 項目がプロジェクトにインポートされたかどうかを示す値を取得します。
パブリック プロパティ Name 項目が属する項目コレクションの名前を取得または設定します。
参照参照

関連項目

BuildItem クラス
Microsoft.Build.BuildEngine 名前空間

BuildItem メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Clone BuildItem の簡易コピーを作成します。
パブリック メソッド CopyCustomMetadataTo この BuildItem のすべての項目メタデータを指定した BuildItem にコピーします。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetEvaluatedMetadata すべての項目およびプロパティ参照が評価された後の指定された項目メタデータの値を返します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetMetadata 指定された項目メタデータの値を返します。
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド HasMetadata 項目に指定した項目メタデータが含まれるかどうかを示します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド RemoveMetadata 指定した項目メタデータを削除します。
パブリック メソッド SetMetadata オーバーロードされます。 指定した項目メタデータに、指定した値を割り当てます。
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

BuildItem クラス
Microsoft.Build.BuildEngine 名前空間

BuildItem メンバ

MSBuild プロジェクト内の 1 つの項目を表します。

BuildItem データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ Condition 項目の Condition 属性の値を取得または設定します。
パブリック プロパティ Exclude 項目の Exclude 属性の値を取得または設定します。
パブリック プロパティ FinalItemSpec すべてのワイルドカードおよびプロパティが評価された後の項目の最終的な指定を取得します。
パブリック プロパティ Include BuildItem を作成した Include 属性を取得または設定します。
パブリック プロパティ IsImported 項目がプロジェクトにインポートされたかどうかを示す値を取得します。
パブリック プロパティ Name 項目が属する項目コレクションの名前を取得または設定します。
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Clone BuildItem の簡易コピーを作成します。
パブリック メソッド CopyCustomMetadataTo この BuildItem のすべての項目メタデータを指定した BuildItem にコピーします。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetEvaluatedMetadata すべての項目およびプロパティ参照が評価された後の指定された項目メタデータの値を返します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetMetadata 指定された項目メタデータの値を返します。
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド HasMetadata 項目に指定した項目メタデータが含まれるかどうかを示します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド RemoveMetadata 指定した項目メタデータを削除します。
パブリック メソッド SetMetadata オーバーロードされます。 指定した項目メタデータに、指定した値を割り当てます。
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

BuildItem クラス
Microsoft.Build.BuildEngine 名前空間



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「BuildItem」の関連用語

BuildItemのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



BuildItemのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS