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

TaskStartedEventArgs クラス

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

TaskStarted イベントのデータを提供します。

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

<SerializableAttribute> _
Public Class TaskStartedEventArgs
    Inherits BuildStatusEventArgs
Dim instance As TaskStartedEventArgs
[SerializableAttribute] 
public class TaskStartedEventArgs : BuildStatusEventArgs
[SerializableAttribute] 
public ref class TaskStartedEventArgs : public
 BuildStatusEventArgs
/** @attribute SerializableAttribute() */ 
public class TaskStartedEventArgs extends BuildStatusEventArgs
SerializableAttribute 
public class TaskStartedEventArgs extends
 BuildStatusEventArgs
使用例使用例

ビルド イベントに応答する基本 logger を作成する方法を次の例に示します。

using System;
using System.IO;
using System.Security;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;

namespace MyLoggers
{
    // This logger will derive from the Microsoft.Build.Utilities.Logger
 class,
    // which provides it with getters and setters for Verbosity and
 Parameters,
    // and a default empty Shutdown() implementation.
    public class BasicFileLogger : Logger
    {
        /// <summary>
        /// Initialize is guaranteed to be called by MSBuild at the
 start of the build
        /// before any events are raised.
        /// </summary>
        public override void Initialize(IEventSource
 eventSource)
        {
            // The name of the log file should be passed as the first
 item in the
            // "parameters" specification in the /logger switch.
  It is required
            // to pass a log file to this logger. Other loggers may
 have zero or more than 
            // one parameters.
            if (null == Parameters)
            {
                throw new LoggerException("Log file was not
 set.");
            }
            string[] parameters = Parameters.Split(';');
            
            string logFile = parameters[0];
            if (String.IsNullOrEmpty(logFile))
            {
                throw new LoggerException("Log file was not
 set.");
            }
            
            if (parameters.Length > 1)
            {
                throw new LoggerException("Too many parameters
 passed.");
            }
            
            try
            {
                // Open the file
                this.streamWriter = new StreamWriter(logFile);
            }
            catch (Exception ex)
            {
                if
                (
                    ex is UnauthorizedAccessException
                    || ex is ArgumentNullException
                    || ex is PathTooLongException
                    || ex is DirectoryNotFoundException
                    || ex is NotSupportedException
                    || ex is ArgumentException
                    || ex is SecurityException
                    || ex is IOException
                )
                {
                    throw new LoggerException("Failed to
 create log file: " + ex.Message);
                }
                else
                {
                    // Unexpected failure
                    throw;
                }
            }

            // For brevity, we'll only register for certain event types.
 Loggers can also
            // register to handle TargetStarted/Finished and other events.
            eventSource.ProjectStarted += new ProjectStartedEventHandler(eventSource_ProjectStarted);
            eventSource.TaskStarted += new TaskStartedEventHandler(eventSource_TaskStarted);
            eventSource.MessageRaised += new BuildMessageEventHandler(eventSource_MessageRaised);
            eventSource.WarningRaised += new BuildWarningEventHandler(eventSource_WarningRaised);
            eventSource.ErrorRaised += new BuildErrorEventHandler(eventSource_ErrorRaised);
            eventSource.ProjectFinished += new ProjectFinishedEventHandler(eventSource_ProjectFinished);
        }

        void eventSource_ErrorRaised(object sender, BuildErrorEventArgs
 e)
        {
            // BuildErrorEventArgs adds LineNumber, ColumnNumber, File,
 amongst other parameters
            string line = String.Format(": ERROR {0}({1},{2}):
 ", e.File, e.LineNumber, e.ColumnNumber);
            WriteLineWithSenderAndMessage(line, e);
        }
        
        void eventSource_WarningRaised(object sender, BuildWarningEventArgs
 e)
        {
            // BuildWarningEventArgs adds LineNumber, ColumnNumber,
 File, amongst other parameters
            string line = String.Format(": Warning {0}({1},{2}):
 ", e.File, e.LineNumber, e.ColumnNumber);
            WriteLineWithSenderAndMessage(line, e);
        }

        void eventSource_MessageRaised(object sender, BuildMessageEventArgs
 e)
        {
            // BuildMessageEventArgs adds Importance to BuildEventArgs
            // Let's take account of the verbosity setting we've been
 passed in deciding whether to log the message
            if ((e.Importance == MessageImportance.High &&
 IsVerbosityAtLeast(LoggerVerbosity.Minimal))
                || (e.Importance == MessageImportance.Normal && IsVerbosityAtLeast(LoggerVerbosity.Normal))
                || (e.Importance == MessageImportance.Low && IsVerbosityAtLeast(LoggerVerbosity.Detailed))
                
                )
            {
                WriteLineWithSenderAndMessage(String.Empty, e);
            }
        }

        void eventSource_TaskStarted(object sender, TaskStartedEventArgs
 e)
        {
            // TaskStartedEventArgs adds ProjectFile, TaskFile, TaskName
            // To keep this log clean, this logger will ignore these
 events.
        }
        
        void eventSource_ProjectStarted(object sender, ProjectStartedEventArgs
 e)
        {
            // ProjectStartedEventArgs adds ProjectFile, TargetNames
            // Just the regular message string is good enough here,
 so just display that.
            WriteLine(String.Empty, e);
            indent++;
        }

        void eventSource_ProjectFinished(object sender, ProjectFinishedEventArgs
 e)
        {
            // The regular message string is good enough here too.
            indent--;
            WriteLine(String.Empty, e);
        }
        
        /// <summary>
        /// Write a line to the log, adding the SenderName and Message
        /// (these parameters are on all MSBuild event argument objects)
        /// </summary>
        private void WriteLineWithSenderAndMessage(string
 line, BuildEventArgs e)
        {
            if (0 == String.Compare(e.SenderName, "MSBuild",
 true /*ignore case*/))
            {
                // Well, if the sender name is MSBuild, let's leave
 it out for prettiness
                WriteLine(line, e);
            }
            else
            {
                WriteLine(e.SenderName + ": " + line, e);
            }
        }
        
        /// <summary>
        /// Just write a line to the log
        /// </summary>
        private void WriteLine(string
 line, BuildEventArgs e)
        {
            for (int i = indent; i > 0;
 i--)
            {
                streamWriter.Write("\t");
            }
            streamWriter.WriteLine(line + e.Message);
        }
        
        /// <summary>
        /// Shutdown() is guaranteed to be called by MSBuild at the
 end of the build, after all 
        /// events have been raised.
        /// </summary>
        public override void Shutdown()
        {
            // Done logging, let go of the file
            streamWriter.Close();
        }

        private StreamWriter streamWriter;
        private int indent;
    }
}
継承階層継承階層
System.Object
   System.EventArgs
     Microsoft.Build.Framework.BuildEventArgs
       Microsoft.Build.Framework.BuildStatusEventArgs
        Microsoft.Build.Framework.TaskStartedEventArgs
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
TaskStartedEventArgs メンバ
Microsoft.Build.Framework 名前空間

TaskStartedEventArgs コンストラクタ ()

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

TaskStartedEventArgs クラスの新しいインスタンスを初期化します。

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

Dim instance As New TaskStartedEventArgs
protected TaskStartedEventArgs ()
protected:
TaskStartedEventArgs ()
protected TaskStartedEventArgs ()
protected function TaskStartedEventArgs ()
.NET Framework のセキュリティ.NET Framework のセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
TaskStartedEventArgs クラス
TaskStartedEventArgs メンバ
Microsoft.Build.Framework 名前空間

TaskStartedEventArgs コンストラクタ

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

名前 説明
TaskStartedEventArgs () TaskStartedEventArgs クラスの新しいインスタンスを初期化します。
TaskStartedEventArgs (String, String, String, String, String) 値を指定して、TaskStartedEventArgs クラスの新しいインスタンスを初期化します。
参照参照

関連項目

TaskStartedEventArgs クラス
TaskStartedEventArgs メンバ
Microsoft.Build.Framework 名前空間

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

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

値を指定して、TaskStartedEventArgs クラスの新しいインスタンスを初期化します。

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

Public Sub New ( _
    message As String, _
    helpKeyword As String, _
    projectFile As String, _
    taskFile As String, _
    taskName As String _
)
Dim message As String
Dim helpKeyword As String
Dim projectFile As String
Dim taskFile As String
Dim taskName As String

Dim instance As New TaskStartedEventArgs(message,
 helpKeyword, projectFile, taskFile, taskName)
public TaskStartedEventArgs (
    string message,
    string helpKeyword,
    string projectFile,
    string taskFile,
    string taskName
)
public:
TaskStartedEventArgs (
    String^ message, 
    String^ helpKeyword, 
    String^ projectFile, 
    String^ taskFile, 
    String^ taskName
)
public TaskStartedEventArgs (
    String message, 
    String helpKeyword, 
    String projectFile, 
    String taskFile, 
    String taskName
)
public function TaskStartedEventArgs (
    message : String, 
    helpKeyword : String, 
    projectFile : String, 
    taskFile : String, 
    taskName : String
)

パラメータ

message

イベントのテキスト。

helpKeyword

イベントに関連付けられているヘルプ キーワード。

projectFile

イベントに関連付けられているプロジェクト ファイルの名前。

taskFile

タスクが定義されるファイル。

taskName

タスクの名前。

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

TaskStartedEventArgs プロパティ


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

  名前 説明
パブリック プロパティ HelpKeyword  イベントのヘルプ キーワードを取得します。 ( BuildEventArgs から継承されます。)
パブリック プロパティ Message  イベントに関するメッセージを取得します。 ( BuildEventArgs から継承されます。)
パブリック プロパティ ProjectFile イベントに関連付けられているプロジェクト ファイルの名前を取得します。
パブリック プロパティ SenderName  イベントの発生元の Object の名前を取得します。 ( BuildEventArgs から継承されます。)
パブリック プロパティ TaskFile タスクが定義されている MSBuild ファイルを取得します。
パブリック プロパティ TaskName イベントに関連付けられているタスクの名前を取得します。
パブリック プロパティ ThreadId  イベントの発生元のスレッドを示す、整数の識別子を取得します。 ( BuildEventArgs から継承されます。)
パブリック プロパティ Timestamp  イベントが発生した時刻を DateTime として取得します。 ( BuildEventArgs から継承されます。)
参照参照

関連項目

TaskStartedEventArgs クラス
Microsoft.Build.Framework 名前空間

TaskStartedEventArgs メソッド


TaskStartedEventArgs メンバ

TaskStarted イベントのデータを提供します。

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


パブリック コンストラクタパブリック コンストラクタ
プロテクト コンストラクタプロテクト コンストラクタ
  名前 説明
プロテクト メソッド TaskStartedEventArgs オーバーロードされます。 TaskStartedEventArgs クラスの新しいインスタンスを初期化します。
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ HelpKeyword  イベントのヘルプ キーワードを取得します。(BuildEventArgs から継承されます。)
パブリック プロパティ Message  イベントに関するメッセージを取得します。(BuildEventArgs から継承されます。)
パブリック プロパティ ProjectFile イベントに関連付けられているプロジェクト ファイルの名前を取得します。
パブリック プロパティ SenderName  イベントの発生元の Object の名前を取得します。(BuildEventArgs から継承されます。)
パブリック プロパティ TaskFile タスクが定義されている MSBuild ファイルを取得します。
パブリック プロパティ TaskName イベントに関連付けられているタスクの名前を取得します。
パブリック プロパティ ThreadId  イベントの発生元のスレッドを示す、整数の識別子を取得します。(BuildEventArgs から継承されます。)
パブリック プロパティ Timestamp  イベントが発生した時刻を DateTime として取得します。(BuildEventArgs から継承されます。)
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

TaskStartedEventArgs クラス
Microsoft.Build.Framework 名前空間



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

「TaskStartedEventArgs」の関連用語

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

   

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



TaskStartedEventArgsのページの著作権

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

©2026 GRAS Group, Inc.RSS