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

ToolTask クラス

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

派生フォームオーバーライドされると、コマンド ライン ツールラップするタスク機能提供します

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

Public MustInherit Class
 ToolTask
    Inherits Task
public abstract class ToolTask extends Task
public abstract class ToolTask extends
 Task
解説解説
使用例使用例

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

ToolTask コンストラクタ ()


ToolTask コンストラクタ

ToolTask クラス新しインスタンス初期化します。
オーバーロードの一覧オーバーロードの一覧

名前 説明
ToolTask () ToolTask クラス新しインスタンス初期化します。
ToolTask (ResourceManager) ResourceManager を指定してToolTask クラス新しインスタンス初期化します。
ToolTask (ResourceManager, String) 指定した ResourceManager およびヘルプ キーワード プレフィックス使用してToolTask クラス新しインスタンス初期化します。
参照参照

関連項目

ToolTask クラス
ToolTask メンバ
Microsoft.Build.Utilities 名前空間

ToolTask コンストラクタ (ResourceManager)

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

ResourceManager指定して、ToolTask クラス新しインスタンス初期化します。

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

Protected Sub New ( _
    taskResources As ResourceManager _
)
Dim taskResources As ResourceManager

Dim instance As New ToolTask(taskResources)
protected ToolTask (
    ResourceManager taskResources
)
protected:
ToolTask (
    ResourceManager^ taskResources
)
protected ToolTask (
    ResourceManager taskResources
)
protected function ToolTask (
    taskResources : ResourceManager
)

パラメータ

taskResources

タスク リソースの ResourceManager。

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

ToolTask コンストラクタ (ResourceManager, String)

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

指定した ResourceManager およびヘルプ キーワード プレフィックス使用して、ToolTask クラス新しインスタンス初期化します。

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

Protected Sub New ( _
    taskResources As ResourceManager, _
    helpKeywordPrefix As String _
)
Dim taskResources As ResourceManager
Dim helpKeywordPrefix As String

Dim instance As New ToolTask(taskResources,
 helpKeywordPrefix)
protected ToolTask (
    ResourceManager taskResources,
    string helpKeywordPrefix
)
protected:
ToolTask (
    ResourceManager^ taskResources, 
    String^ helpKeywordPrefix
)
protected ToolTask (
    ResourceManager taskResources, 
    String helpKeywordPrefix
)
protected function ToolTask (
    taskResources : ResourceManager, 
    helpKeywordPrefix : String
)

パラメータ

taskResources

タスク リソースの ResourceManager。

helpKeywordPrefix

タスクによって生成されるメッセージ使用するヘルプ キーワード プレフィックス

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

ToolTask プロパティ


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

プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ EnvironmentOverride PATH 環境変数オーバーライド値を取得します
プロテクト プロパティ HelpKeywordPrefix  リソース名からヘルプ キーワードを作成するために使用するプレフィックス取得または設定します。 ( Task から継承されます。)
プロテクト プロパティ ResponseFileEncoding 応答ファイルEncoding取得します
プロテクト プロパティ StandardErrorEncoding タスク標準エラー ストリームEncoding取得します
プロテクト プロパティ StandardErrorLoggingImportance エラー記録するために使用する MessageImportance を取得します
プロテクト プロパティ StandardOutputEncoding タスク標準出力ストリームEncoding取得します
プロテクト プロパティ StandardOutputLoggingImportance エラー記録するために使用する MessageImportance取得します
プロテクト プロパティ TaskResources  タスク関連付けられているカルチャ固有のリソース取得または設定します。 ( Task から継承されます。)
プロテクト プロパティ ToolName 実行する実行可能ファイルの名前を取得します
参照参照

関連項目

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

ToolTask メソッド


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

プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド CallHostObjectToExecute タスクの処理を実行するホスト オブジェクト呼び出します。
プロテクト メソッド ExecuteTool 一時応答 (.rsp) ファイル作成し実行可能ファイル実行します
プロテクト メソッド Finalize  Objectガベージ コレクションにより収集される前に、その Objectリソース解放しその他のクリーンアップ操作実行できるようにします。 ( Object から継承されます。)
プロテクト メソッド GenerateCommandLineCommands 実行可能ファイル直接渡すコマンド ライン引数格納している文字列値を返します
プロテクト メソッド GenerateFullPathToTool 実行可能ファイルへの絶対パス返します
プロテクト メソッド GenerateResponseFileCommands 実行可能ファイル実行する前に応答 (.rsp) ファイル追加するコマンド ライン引数格納している文字列値を返します
プロテクト メソッド GetResponseFileSwitch 応答 (.rsp) ファイル指定するために実行可能ファイルによって使用されコマンド ライン スイッチ返します
プロテクト メソッド GetWorkingDirectory 実行可能ファイル実行するディレクトリ返します
プロテクト メソッド HandleTaskExecutionErrors 実行可能ファイルによって生成され実行エラー処理します
プロテクト メソッド InitializeHostObject タスクホスト オブジェクト初期化します。
プロテクト メソッド LogEventsFromTextOutput 単一行のテキスト解析して標準形式エラーまたは警告識別します。
プロテクト メソッド LogPathToTool ツール名および登録されているすべての logger へのパス記録します。
プロテクト メソッド LogToolCommand 実行開始点を登録されているすべての logger記録します。
プロテクト メソッド MemberwiseClone  現在の Object簡易コピー作成します。 ( Object から継承されます。)
プロテクト メソッド SkipTaskExecution タスク実行スキップする必要があるかどうか示します
プロテクト メソッド ValidateParameters すべてのタスク パラメータが有効かどうか示します
参照参照

関連項目

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

ToolTask メンバ

派生フォームオーバーライドされると、コマンド ライン ツールラップするタスク機能提供します

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


プロテクト コンストラクタプロテクト コンストラクタ
パブリック プロパティパブリック プロパティ
プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ EnvironmentOverride PATH 環境変数オーバーライド値を取得します
プロテクト プロパティ HelpKeywordPrefix  リソース名からヘルプ キーワードを作成するために使用するプレフィックス取得または設定します。(Task から継承されます。)
プロテクト プロパティ ResponseFileEncoding 応答ファイルEncoding取得します
プロテクト プロパティ StandardErrorEncoding タスク標準エラー ストリームEncoding取得します
プロテクト プロパティ StandardErrorLoggingImportance エラー記録するために使用する MessageImportance を取得します
プロテクト プロパティ StandardOutputEncoding タスク標準出力ストリームEncoding取得します
プロテクト プロパティ StandardOutputLoggingImportance エラー記録するために使用する MessageImportance取得します
プロテクト プロパティ TaskResources  タスク関連付けられているカルチャ固有のリソース取得または設定します。(Task から継承されます。)
プロテクト プロパティ ToolName 実行する実行可能ファイルの名前を取得します
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド CallHostObjectToExecute タスクの処理を実行するホスト オブジェクト呼び出します。
プロテクト メソッド ExecuteTool 一時応答 (.rsp) ファイル作成し実行可能ファイル実行します
プロテクト メソッド Finalize  Objectガベージ コレクションにより収集される前に、その Objectリソース解放しその他のクリーンアップ操作実行できるようにします。 (Object から継承されます。)
プロテクト メソッド GenerateCommandLineCommands 実行可能ファイル直接渡すコマンド ライン引数格納している文字列値を返します
プロテクト メソッド GenerateFullPathToTool 実行可能ファイルへの絶対パス返します
プロテクト メソッド GenerateResponseFileCommands 実行可能ファイル実行する前に応答 (.rsp) ファイル追加するコマンド ライン引数格納している文字列値を返します
プロテクト メソッド GetResponseFileSwitch 応答 (.rsp) ファイル指定するために実行可能ファイルによって使用されコマンド ライン スイッチ返します
プロテクト メソッド GetWorkingDirectory 実行可能ファイル実行するディレクトリ返します
プロテクト メソッド HandleTaskExecutionErrors 実行可能ファイルによって生成され実行エラー処理します
プロテクト メソッド InitializeHostObject タスクホスト オブジェクト初期化します。
プロテクト メソッド LogEventsFromTextOutput 単一行のテキスト解析して標準形式エラーまたは警告識別します。
プロテクト メソッド LogPathToTool ツール名および登録されているすべての logger へのパス記録します。
プロテクト メソッド LogToolCommand 実行開始点を登録されているすべての logger記録します。
プロテクト メソッド MemberwiseClone  現在の Object簡易コピー作成します。 (Object から継承されます。)
プロテクト メソッド SkipTaskExecution タスク実行スキップする必要があるかどうか示します
プロテクト メソッド ValidateParameters すべてのタスク パラメータが有効かどうか示します
参照参照

関連項目

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



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

辞書ショートカット

すべての辞書の索引

「ToolTask」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS