Заметки консультанта

Шамрай Александр Владимирович

Как создать свою задачу для TeamBuild с помощью Team Foundation Build API

Posted by Шамрай Александр на Июль 15, 2009

<< Перейти в раздел «Team Foundation Build FAQ»

Для того чтоб сделать свою отдельную задачу, которая будет выполняться при сборке проекта, необходимо:

  • Создать новый проект как «Class Library».
  • Для этого проекта нужно подключить следующие связи:

Microsoft.Build.Framework
Microsoft.Build.Utilities

  • Отредактировать новый класс по следующему сценарию:

……………
using
Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
namespace SampleBuildTask
{
    public class CustomTask : Task
    {
        private string Argument;
        [Required]
        public string Argument
        {
            get { return Argument; }
            set { Argument = value; }
        }
        public override bool Execute()
        {
            
Log.LogMessage(«My custom task for project: {0}», Argument)
            return true;
        }
    }
}

  • Собрать проект.
  • Перейти к фалу проекта командной сборки (на сервере TFS с расширением «.proj») и изъять его на редактирование.
  • Перед секцией </Project> внести изменения по следующему шаблону:

    <UsingTask TaskName=»SampleBuildTask.CustomTask»
            AssemblyFile=»Путь_к_проекту\bin\Debug\SampleBuildTask.dll» />
            <Target Name=»BeforeDropBuild»>/
                <CustomTask Argument=»$(SolutionRoot)» />
            </Target>

  • Сделать «check in» для проекта сборки и можно сборку выполнять.
  • В результате работы сборки в ее журнале должны быть строки: «My custom task for project: Путь к проекту».
Advertisements

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

 
%d такие блоггеры, как: