Project コンストラクタとは? わかりやすく解説

Project コンストラクタ


Project コンストラクタ (Engine)

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

指定されEngine使用してProject クラス新しインスタンス初期化します。

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

使用例使用例

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);
        }
    }
}
.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Project コンストラクタ ()

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

Project クラス新しインスタンス初期化します。

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

使用例使用例

Project オブジェクト作成し、BuildItem クラス、BuildProperty クラス、BuildItemGroup クラス、および BuildPropertyGroup クラス使用してプロジェクト内のすべての項目およびプロパティ一覧表示する例を次に示します

Module Module1
    'You need to add references to Microsoft.Build.BuildEngine and
    'Microsoft.Build.Framework
    Sub Main()
        'Set this to point to the location where the 2.0 clr/tools are
 installed
        Engine.GlobalEngine.BinPath = "C:\windows\microsoft.net\framework\v2.0.xxxxx"

        'Create a new empty project
        Dim project As New
 Project()

        'Load a project
        project.Load("c:\temp\validate.proj")

        'Output a header
        Console.WriteLine("Project Properties")
        Console.WriteLine("----------------------------------")

        'Iterate through the various property groups and subsequently
        'through the various properties
        For Each propertyGroup As
 BuildPropertyGroup In project.PropertyGroups
            For Each prop As
 BuildProperty In propertyGroup
                Console.WriteLine("{0}:{1}", prop.Name,
 prop.Value)
            Next
        Next

        Console.WriteLine()
        Console.WriteLine("Project Items")
        Console.WriteLine("----------------------------------")

        'Iterate through the various itemgroups
        'and subsequently through the items
        For Each itemGroup As
 BuildItemGroup In project.ItemGroups
            For Each item As
 BuildItem In itemGroup
                Console.WriteLine("{0}:{1}", item.Name,
 item.Include)
            Next
        Next
    End Sub

End Module
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Build.BuildEngine;

namespace ListItemAndPropertiesCS
{
    class Program
    {        
        static void Main(string[]
 args)
        {
            // SET THIS TO POINT TO THE RIGHT LOCATION
            Engine.GlobalEngine.BinPath = @"C:\Windows\Microsoft.NET\Framework\v2.0.xxxxx";

            // Create a new empty project
            Project project = new Project();

            // Load a project
            project.Load(@"c:\temp\validate.proj");

            Console.WriteLine("Project Properties");
            Console.WriteLine("----------------------------------");

            // Iterate through the various property groups and subsequently
 
            // through teh various properties
            foreach (BuildPropertyGroup propertyGroup in
 project.PropertyGroups)
            {
                foreach (BuildProperty prop in
 propertyGroup)
                {
                    Console.WriteLine("{0}:{1}", prop.Name, prop.Value);
                }
            }

            Console.WriteLine();
            Console.WriteLine("Project Items");
            Console.WriteLine("----------------------------------");

            // Iterate through the various itemgroups
            // and subsequently through the items
            foreach (BuildItemGroup itemGroup in
 project.ItemGroups)
            {
                foreach (BuildItem item in
 itemGroup)
                {
                    Console.WriteLine("{0}:{1}", item.Name, item.Include);
                }
            }            
        }
    }
}
.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Project コンストラクタ」の関連用語

Project コンストラクタのお隣キーワード
検索ランキング

   

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



Project コンストラクタのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS