Как записать вывод на консоль из пользовательской задачи MSBuild? - PullRequest
5 голосов
/ 02 октября 2008

Я пытаюсь отладить задачу MSBuild и знаю, что существует какой-то способ записи в журнал MSBuild из пользовательской задачи, но я забываю, как.

Ответы [ 2 ]

7 голосов
/ 02 октября 2008

Базовый класс задачи имеет свойство Log, которое вы можете использовать:

Log.LogMessage("My message");
1 голос
/ 05 мая 2009

В целях модульного тестирования я обертываю регистратор вокруг класса помощника

public static void Log(ITask task, string message, MessageImportance importance)
{
    try
    {
        BuildMessageEventArgs args = new BuildMessageEventArgs(message, string.Empty, 
            task.ToString(), importance);
        task.BuildEngine.LogMessageEvent(args);
    }
    catch (NullReferenceException)
    {
        // Don't throw as task and BuildEngine will be null in unit test.
    }
}

В настоящее время я бы, вероятно, преобразовал это в метод расширения для удобства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...