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

CommandLineBuilder クラス

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

コマンド ライン構築するためのユーティリティ メソッド構成します

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

Public Class CommandLineBuilder
Dim instance As CommandLineBuilder
public class CommandLineBuilder
public ref class CommandLineBuilder
public class CommandLineBuilder
public class CommandLineBuilder
使用例使用例

MSIL アセンブラ (Ilasm.exe) を実行する ToolTask を作成する例を次に示しますタスク実行必要な情報生成するために、CommandLineBuilder クラス、ToolLocationHelper クラス、および TaskLoggingHelper クラス使用されています。

Imports System
Imports System.Collections
Imports System.Text
Imports Microsoft.Build.Utilities
Imports Microsoft.Build.Framework

Namespace MSBuildTasks

    ''' <summary>
    ''' A very simple and incomplete ToolTask to wrap the ILASM.EXE
 tool.
    ''' </summary>
    Public Class ILAsm
        Inherits ToolTask

        ''' <summary>
        ''' Parameter bag.
        ''' </summary>
        Protected Friend ReadOnly
 Property Bag() As Hashtable
            Get
                Return propertyBag
            End Get
        End Property

        Private propertyBag As New
 Hashtable()

        ''' <summary>
        ''' The Source file that is to be compled (.il)
        ''' </summary>
        Public Property [Source]() As
 ITaskItem
            Get
                Return Bag("Source")
            End Get
            Set(ByVal value As
 ITaskItem)
                Bag("Source") = value
            End Set
        End Property

        ''' <summary>
        ''' Either EXE or DLL indicating the assembly type to be generated
        ''' </summary>
        Public Property TargetType() As
 String
            Get
                Return Bag("TargetType")
            End Get
            Set(ByVal value As
 String)
                Bag("TargetType") = value
            End Set
        End Property '

        Protected Overrides ReadOnly
 Property ToolName() As String
            Get
                Return "ILAsm.exe"
            End Get
        End Property

        ''' <summary>
        ''' Use ToolLocationHelper to find ILASM.EXE in the Framework
 directory
        ''' </summary>
        Protected Overrides Function
 GenerateFullPathToTool() As String
            ' Ask ToolLocationHelper to find ILASM.EXE - it will look
 in the latest framework directory available
            Return ToolLocationHelper.GetPathToDotNetFrameworkFile(ToolName,
 TargetDotNetFrameworkVersion.VersionLatest)
        End Function

        ''' <summary>
        ''' Construct the command line from the task properties by using
 the CommandLineBuilder
        ''' </summary>
        Protected Overrides Function
 GenerateCommandLineCommands() As String
            Dim builder As New
 CommandLineBuilder()

            ' We don't need the tool's logo information shown
            builder.AppendSwitch("/nologo")

            Dim targetType As String
 = Bag("TargetType")
            ' Be explicit with our switches
            If Not (targetType Is
 Nothing) Then
                If [String].Compare(targetType, "DLL",
 True) = 0 Then
                    builder.AppendSwitch("/DLL")
                ElseIf [String].Compare(targetType, "EXE",
 True) = 0 Then
                    builder.AppendSwitch("/EXE")
                Else
                    Log.LogWarning("Invalid TargetType (valid
 values are DLL and EXE) specified: {0}", targetType)
                End If
            End If
            ' Add the filename that we want the tool to process
            builder.AppendFileNameIfNotNull(Bag("Source"))

            ' Log a High importance message stating the file that we
 are assembling
            Log.LogMessage(MessageImportance.High, "Assembling
 {0}", Bag("Source"))

            ' We have all of our switches added, return the commandline
 as a string
            Return builder.ToString()
        End Function
    End Class
End Namespace
using System;
using System.Collections;
using System.Text;
using Microsoft.Build.Utilities;
using Microsoft.Build.Framework;

namespace MSBuildTasks
{
    /// <summary>
    /// A very simple and incomplete ToolTask to wrap the ILASM.EXE
 tool.
    /// </summary>
    public class ILAsm : ToolTask
    {
        #region Member Data
        /// <summary>
        /// Gets the collection of parameters used by the task class.
        /// </summary>
        /// <value>Parameter bag.</value>
        protected internal Hashtable Bag
        {
            get
            {
                return bag;
            }
        }

        private Hashtable bag = new Hashtable();
        #endregion

        #region ILAsm Task Properties
        /// <summary>
        /// The Source file that is to be compled (.il)
        /// </summary>
        public ITaskItem Source
        {
            get { return Bag["Source"]
 as ITaskItem; }
            set { Bag["Source"] = value; }
        }
        /// <summary>
        /// Either EXE or DLL indicating the assembly type to be generated
        /// </summary>
        public string TargetType
        {
            get { return Bag["TargetType"]
 as string; }
            set { Bag["TargetType"] = value; }
        }
        #endregion

        #region ToolTask Members
        protected override string ToolName
        {
            get { return "ILAsm.exe";
 }
        }

        /// <summary>
        /// Use ToolLocationHelper to find ILASM.EXE in the Framework
 directory
        /// </summary>
        /// <returns></returns>
        protected override string GenerateFullPathToTool()
        {
            // Ask ToolLocationHelper to find ILASM.EXE - it will look
 in the latest framework directory available
            return ToolLocationHelper.GetPathToDotNetFrameworkFile(ToolName,
 TargetDotNetFrameworkVersion.VersionLatest);
        }
        #endregion

        #region ILAsm Task Members
        /// <summary>
        /// Construct the command line from the task properties by using
 the CommandLineBuilder
        /// </summary>
        /// <returns></returns>
        protected override string GenerateCommandLineCommands()
        {
            CommandLineBuilder builder = new CommandLineBuilder();

            // We don't need the tool's logo information shown
            builder.AppendSwitch("/nologo");

            string targetType = Bag["TargetType"] as
 string;
            // Be explicit with our switches
            if (targetType != null)
            {
                if (String.Compare(targetType, "DLL",
 true) == 0)
                {
                    builder.AppendSwitch("/DLL");
                }
                else if (String.Compare(targetType,
 "EXE", true) == 0)
                {
                    builder.AppendSwitch("/EXE");
                }
                else
                {
                    Log.LogWarning("Invalid TargetType (valid values are DLL
 and EXE) specified: {0}", targetType);
                }
            }

            // Add the filename that we want the tool to process
            builder.AppendFileNameIfNotNull(Bag["Source"] as ITaskItem);

            // Log a High importance message stating the file that we
 are assembling
            Log.LogMessage(MessageImportance.High, "Assembling {0}", Bag["Source"]);

            // We have all of our switches added, return the commandline
 as a string
            return builder.ToString();
        }
        #endregion
    }
}
継承階層継承階層
System.Object
  Microsoft.Build.Utilities.CommandLineBuilder
     Microsoft.Build.Tasks.CommandLineBuilderExtension
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
CommandLineBuilder メンバ
Microsoft.Build.Utilities 名前空間

CommandLineBuilder コンストラクタ

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

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

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

Dim instance As New CommandLineBuilder
public CommandLineBuilder ()
public:
CommandLineBuilder ()
public CommandLineBuilder ()
public function CommandLineBuilder ()
使用例使用例

MSIL アセンブラ (Ilasm.exe) を実行する ToolTask を作成する例を次に示しますタスク実行必要な情報生成するために、CommandLineBuilder クラス、ToolLocationHelper クラス、および TaskLoggingHelper クラス使用されています。

Imports System
Imports System.Collections
Imports System.Text
Imports Microsoft.Build.Utilities
Imports Microsoft.Build.Framework

Namespace MSBuildTasks

    ''' <summary>
    ''' A very simple and incomplete ToolTask to wrap the ILASM.EXE
 tool.
    ''' </summary>
    Public Class ILAsm
        Inherits ToolTask

        ''' <summary>
        ''' Parameter bag.
        ''' </summary>
        Protected Friend ReadOnly
 Property Bag() As Hashtable
            Get
                Return propertyBag
            End Get
        End Property

        Private propertyBag As New
 Hashtable()

        ''' <summary>
        ''' The Source file that is to be compled (.il)
        ''' </summary>
        Public Property [Source]() As
 ITaskItem
            Get
                Return Bag("Source")
            End Get
            Set(ByVal value As
 ITaskItem)
                Bag("Source") = value
            End Set
        End Property

        ''' <summary>
        ''' Either EXE or DLL indicating the assembly type to be generated
        ''' </summary>
        Public Property TargetType() As
 String
            Get
                Return Bag("TargetType")
            End Get
            Set(ByVal value As
 String)
                Bag("TargetType") = value
            End Set
        End Property '

        Protected Overrides ReadOnly
 Property ToolName() As String
            Get
                Return "ILAsm.exe"
            End Get
        End Property

        ''' <summary>
        ''' Use ToolLocationHelper to find ILASM.EXE in the Framework
 directory
        ''' </summary>
        Protected Overrides Function
 GenerateFullPathToTool() As String
            ' Ask ToolLocationHelper to find ILASM.EXE - it will look
 in the latest framework directory available
            Return ToolLocationHelper.GetPathToDotNetFrameworkFile(ToolName,
 TargetDotNetFrameworkVersion.VersionLatest)
        End Function

        ''' <summary>
        ''' Construct the command line from the task properties by using
 the CommandLineBuilder
        ''' </summary>
        Protected Overrides Function
 GenerateCommandLineCommands() As String
            Dim builder As New
 CommandLineBuilder()

            ' We don't need the tool's logo information shown
            builder.AppendSwitch("/nologo")

            Dim targetType As String
 = Bag("TargetType")
            ' Be explicit with our switches
            If Not (targetType Is
 Nothing) Then
                If [String].Compare(targetType, "DLL",
 True) = 0 Then
                    builder.AppendSwitch("/DLL")
                ElseIf [String].Compare(targetType, "EXE",
 True) = 0 Then
                    builder.AppendSwitch("/EXE")
                Else
                    Log.LogWarning("Invalid TargetType (valid
 values are DLL and EXE) specified: {0}", targetType)
                End If
            End If
            ' Add the filename that we want the tool to process
            builder.AppendFileNameIfNotNull(Bag("Source"))

            ' Log a High importance message stating the file that we
 are assembling
            Log.LogMessage(MessageImportance.High, "Assembling
 {0}", Bag("Source"))

            ' We have all of our switches added, return the commandline
 as a string
            Return builder.ToString()
        End Function
    End Class
End Namespace
using System;
using System.Collections;
using System.Text;
using Microsoft.Build.Utilities;
using Microsoft.Build.Framework;

namespace MSBuildTasks
{
    /// <summary>
    /// A very simple and incomplete ToolTask to wrap the ILASM.EXE
 tool.
    /// </summary>
    public class ILAsm : ToolTask
    {
        #region Member Data
        /// <summary>
        /// Gets the collection of parameters used by the task class.
        /// </summary>
        /// <value>Parameter bag.</value>
        protected internal Hashtable Bag
        {
            get
            {
                return bag;
            }
        }

        private Hashtable bag = new Hashtable();
        #endregion

        #region ILAsm Task Properties
        /// <summary>
        /// The Source file that is to be compled (.il)
        /// </summary>
        public ITaskItem Source
        {
            get { return Bag["Source"]
 as ITaskItem; }
            set { Bag["Source"] = value; }
        }
        /// <summary>
        /// Either EXE or DLL indicating the assembly type to be generated
        /// </summary>
        public string TargetType
        {
            get { return Bag["TargetType"]
 as string; }
            set { Bag["TargetType"] = value; }
        }
        #endregion

        #region ToolTask Members
        protected override string ToolName
        {
            get { return "ILAsm.exe";
 }
        }

        /// <summary>
        /// Use ToolLocationHelper to find ILASM.EXE in the Framework
 directory
        /// </summary>
        /// <returns></returns>
        protected override string GenerateFullPathToTool()
        {
            // Ask ToolLocationHelper to find ILASM.EXE - it will look
 in the latest framework directory available
            return ToolLocationHelper.GetPathToDotNetFrameworkFile(ToolName,
 TargetDotNetFrameworkVersion.VersionLatest);
        }
        #endregion

        #region ILAsm Task Members
        /// <summary>
        /// Construct the command line from the task properties by using
 the CommandLineBuilder
        /// </summary>
        /// <returns></returns>
        protected override string GenerateCommandLineCommands()
        {
            CommandLineBuilder builder = new CommandLineBuilder();

            // We don't need the tool's logo information shown
            builder.AppendSwitch("/nologo");

            string targetType = Bag["TargetType"] as
 string;
            // Be explicit with our switches
            if (targetType != null)
            {
                if (String.Compare(targetType, "DLL",
 true) == 0)
                {
                    builder.AppendSwitch("/DLL");
                }
                else if (String.Compare(targetType,
 "EXE", true) == 0)
                {
                    builder.AppendSwitch("/EXE");
                }
                else
                {
                    Log.LogWarning("Invalid TargetType (valid values are DLL
 and EXE) specified: {0}", targetType);
                }
            }

            // Add the filename that we want the tool to process
            builder.AppendFileNameIfNotNull(Bag["Source"] as ITaskItem);

            // Log a High importance message stating the file that we
 are assembling
            Log.LogMessage(MessageImportance.High, "Assembling {0}", Bag["Source"]);

            // We have all of our switches added, return the commandline
 as a string
            return builder.ToString();
        }
        #endregion
    }
}
.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
CommandLineBuilder クラス
CommandLineBuilder メンバ
Microsoft.Build.Utilities 名前空間

CommandLineBuilder プロパティ


プロテクト プロパティプロテクト プロパティ

参照参照

関連項目

CommandLineBuilder クラス
Microsoft.Build.Utilities 名前空間

CommandLineBuilder メソッド


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

( プロテクト メソッド参照)
  名前 説明
パブリック メソッド AppendFileNameIfNotNull オーバーロードされますパラメータ表されるファイル名コマンド ライン追加します必要な場合引用符挿入されます。
パブリック メソッド AppendFileNamesIfNotNull オーバーロードされますファイル名リストコマンド ライン追加します必要な場合引用符挿入されます。
パブリック メソッド AppendSwitch 指定したスイッチコマンド ライン追加します
パブリック メソッド AppendSwitchIfNotNull オーバーロードされますスイッチコマンド ライン追加します
パブリック メソッド AppendSwitchUnquotedIfNotNull オーバーロードされます引用符スイッチ パラメータを囲まずに、スイッチコマンド ライン追加します
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 ( Object から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 ( Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド ToString オーバーライドされますコマンド ライン文字列として返します
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

CommandLineBuilder クラス
Microsoft.Build.Utilities 名前空間

CommandLineBuilder メンバ

コマンド ライン構築するためのユーティリティ メソッド構成します

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


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド CommandLineBuilder CommandLineBuilder クラス新しインスタンス初期化します。
プロテクト プロパティプロテクト プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド参照)
  名前 説明
パブリック メソッド AppendFileNameIfNotNull オーバーロードされますパラメータ表されるファイル名コマンド ライン追加します必要な場合引用符挿入されます。
パブリック メソッド AppendFileNamesIfNotNull オーバーロードされますファイル名リストコマンド ライン追加します必要な場合引用符挿入されます。
パブリック メソッド AppendSwitch 指定したスイッチコマンド ライン追加します
パブリック メソッド AppendSwitchIfNotNull オーバーロードされますスイッチコマンド ライン追加します
パブリック メソッド AppendSwitchUnquotedIfNotNull オーバーロードされます引用符スイッチ パラメータを囲まずに、スイッチコマンド ライン追加します
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド ToString オーバーライドされますコマンド ライン文字列として返します
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

CommandLineBuilder クラス
Microsoft.Build.Utilities 名前空間


このページでは「.NET Framework クラス ライブラリ リファレンス」からCommandLineBuilderを検索した結果を表示しています。
Weblioに収録されているすべての辞書からCommandLineBuilderを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からCommandLineBuilder を検索

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

辞書ショートカット

すべての辞書の索引

「CommandLineBuilder」の関連用語

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

   

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



CommandLineBuilderのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS