Task.Log プロパティとは? わかりやすく解説

Task.Log プロパティ

メモ : このプロパティは、.NET Framework version 2.0新しく追加されたものです。

タスク ログ メソッド格納している TaskLoggingHelper クラスインスタンス取得します

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

Dim instance As Task
Dim value As TaskLoggingHelper

value = instance.Log
public TaskLoggingHelper Log { get; }
public:
property TaskLoggingHelper^ Log {
    TaskLoggingHelper^ get ();
}
/** @property */
public TaskLoggingHelper get_Log ()
public function get Log
 () : TaskLoggingHelper

プロパティ
ログ ヘルパー オブジェクト

使用例使用例

1 つ上のディレクトリ作成するタスクコード例次に示します

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

namespace Microsoft.Build.Tasks
{
    /*
     * Class: MakeDir
     *
     * An MSBuild task that creates one or more directories.
     *
     */
    public class MakeDir : Task
    {
        // The Required attribute indicates the following to MSBuild:
        //         - if the parameter is a scalar type, and it is not
 supplied, fail the build immediately
        //         - if the parameter is an array type, and it is not
 supplied, pass in an empty array
        // In this case the parameter is an array type, so if a project
 fails to pass in a value for the 
            // Directories parameter, the task will get invoked, but
 this implementation will do nothing,
            // because the array will be empty.
        [Required]
            // Directories to create.
        public ITaskItem[] Directories
        {
            get
            {
                return directories;
            }

            set
            {
                directories = value;
            }
        }

        // The Output attribute indicates to MSBuild that the value
 of this property can be gathered after the
        // task has returned from Execute(), if the project has an <Output>
 tag under this task's element for 
        // this property.
        [Output]
        // A project may need the subset of the inputs that were actually
 created, so make that available here.
        public ITaskItem[] DirectoriesCreated
        {
            get
            {
                return directoriesCreated;
            }
        }

        private ITaskItem[] directories;
        private ITaskItem[] directoriesCreated;

        /// <summary>
        /// Execute is part of the Microsoft.Build.Framework.ITask interface.
        /// When it's called, any input parameters have already been
 set on the task's properties.
        /// It returns true or false to indicate success or failure.
        /// </summary>
        public override bool Execute()
        {
            ArrayList items = new ArrayList();
            foreach (ITaskItem directory in
 Directories)
            {
                // ItemSpec holds the filename or path of an Item
                if (directory.ItemSpec.Length > 0)
                {
                    try
                    {
                        // Only log a message if we actually need to
 create the folder
                        if (!Directory.Exists(directory.ItemSpec))
                        {
                            Log.LogMessage(MessageImportance.Normal, "Creating
 directory " + directory.ItemSpec);
                            Directory.CreateDirectory(directory.ItemSpec);
                        }

                        // Add to the list of created directories
                        items.Add(directory);
                    }
                    // If a directory fails to get created, log an error,
 but proceed with the remaining 
                    // directories.
                    catch (Exception ex)
                    {
                        if (ex is IOException
                            || ex is UnauthorizedAccessException
                            || ex is PathTooLongException
                            || ex is DirectoryNotFoundException
                            || ex is SecurityException)
                        {
                            Log.LogError("Error trying to create directory "
 + directory.ItemSpec + ". " + ex.Message);
                        }
                        else
                        {
                            throw;
                        }
                    }
                }
            }

            // Populate the "DirectoriesCreated" output items.
            directoriesCreated = (ITaskItem[])items.ToArray(typeof(ITaskItem));

            // Log.HasLoggedErrors is true if the task logged any errors
 -- even if they were logged 
            // from a task's constructor or property setter. As long
 as this task is written to always log an error
            // when it fails, we can reliably return HasLoggedErrors.
            return !Log.HasLoggedErrors;
        }
    }
}
.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


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

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

辞書ショートカット

すべての辞書の索引

Task.Log プロパティのお隣キーワード
検索ランキング

   

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



Task.Log プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS