Архив рубрики 'Team Build'

Одним MVP больше

Вчера почта принесла приятную новость – мне присвоили звание MVP – Microsoft Most Valuable Professional. Вот ссылка на мой профиль MVP. :)

Сейчас мы дотачиваем настройку Test and Lab Management и очень надеюсь, что скоро смогу порадовать всех какими-то полезными техническими советами по настроке самого TFS и TFS Build.

Запуск Visual Studio 2010

Нахожусь не репетиции этого грандиозного мероприятия. Зал кипит как улей. Надеюсь, получится грандиозно. Приходите -  http://www.microsoft.com/visualstudio/ru-ru/events/default.aspx!

Готовлю доклад об автоматизации сборки и её новых возможностях.

Как сделать локальный запуск TFS Build удобным

Если ваш проект состоит не только из управляемого кода, и Вы используете Team Build, то, скорее всего, Вы уже заметили, что сборка solution на build машине не всегда проходит также гладко, как в IDE. К сожалению, порядок сборки проектов может отличаться, да и изменения исходных файлов не всегда отсеживаются корректно.

Хоть это и происходит редко, последствия крайне неприятны, особенно в том случае, если Вы используете непрерывную сборку. Представьте – разработчик собирает в IDE проект, и со спокойной душой кладёт изменения в систему контроля версий. Далее происходит сборка продукта и она ломается. Разработчик в недоумении. Все поледующие изменения, внесённые другими членами команды тоже приводят к сломанной сборке и проблема растёт как снежный ком (ну, конечно, если у Вас нет TFS 2010 и gated chek-in).

В среднестатистической команде, далеко не каждый разработчик в состоянии разобраться с подобной проблемой.

Continue reading ‘Как сделать локальный запуск TFS Build удобным’

Visual Studio 2010 побьёт рекорды по производительности?

Brian Harry опубликовал новые данные о производетльности Visual Studio 2010. Звучит впечатляюще, особенно принимая во внимание тот факт, что в этот раз опрашивались только “недовольные” пользователи.

Мой личный опыт подтверждает значительное улушение производительности. Я старался провести объективный тест – на одном и том же железе я замерял время сборки проекта.

По субъективным ощущениям, IDE также ведёт себя живее. Особенно это заметно на операциях загрузки проетов, старте отладчика, и т.п.

Team Build: Как собрать несколько Azure проектов в одном solution

Эта проблема возникла когда мне понадобилось добавить ещё один Azure проект в solution. Дело в том, что  облачный проект содержит всего два файла – ServiceDefinition.csdef и ServiceConfiguration.cscfg, имена которых не зависят от имени проекта и всегда одинаковы. Нет никаких проблем, если Вы собираете свой solution при помощи IDE. А вот если собирать при помощи Team Build, то возникают.

Дело в том, что при сборке Team Build перенаправляет весь output в один фолдер для всех проектах в solution. При этом, от каждого Azure проекта там должно оказаться две сущности – фолдер <azure_project_name>.cxx и файл .cscfg из проекта, т.е. ServiceConfiguration.cscfg. Вполне очевидно, что в общеем фолдере окажется этот файл только от того Azure проекта, который собирался последним. Остальные будут перезаписаны.

Что делать? Ответ очевиден – дать файлу ServiceConfiguration.cscfg уникалное имя, например – <azure_project_name>Configuration.cscfg. К сожалению, сделать это просто нажав клавишу F2 в IDE не получится, если Ваш проект лежит в Source Control – в версии Beta 2 у IDE будут проблемы с этим. Так что самый простой способ:

  1. Выгрузить проект или закрыть solution.
  2. переименовать файл:
    ServiceConfiguration.cscfg
    в
    <your_new_name>.cscfg
  3. Открыть файл проекта в редакторе и исправить:
    <ServiceConfiguration Include="ServiceConfiguration.cscfg" />
    на
    <ServiceConfiguration Include="<your_new_name>.cscfg" />

VS2010: Как выполнять ‘Publish’ из Team Build если у вас есть C++ проекты?

У меня есть solution, в котором находятся разнородные проекты – C#/C++, EXE/DLL/Library. В общем, практически весь букет. Да, и самое главное – там ещё есть Сloud Service, т.е. Azure. И всё это собирается при помощи Team Build 2008.

В какой-то момент мне очень захотелось получать в результате сборки готовый пакет для развёртывания в Azure. Для этого надо выполнять target «Publish» для .ccproj проектов. Добавил в tfsbuild.proj следующую строчку:

<SolutionToPublish Include=«$(SolutionRoot)\MySolution.sln«/>

Всё было бы хорошо, но:

  1. По-умолчанию MSBuild считает необходимым публиковать все EXE проекты. Сделано это было для .Net приложений. В этом случае он генерирует ClickOnce manifest.
  2. Начиная с версии 10, в Visual Studio все C++ проекты перешли на MSBuild (ура, VCBUILD  прощай!), но в данном случае это помешало.

Continue reading ‘VS2010: Как выполнять ‘Publish’ из Team Build если у вас есть C++ проекты?’

Здравствуйте!

В качестве первого поста расскажу о том,  зачем я завёл сей блог.

В процессе работы у меня накопилось некоторое количество опыта разработки с использованием Microsoft Visual Studio Team System. Я с радостью делюсь тайными знаниями с коллегами и друзьями. Иногда рассказыываю об этом на семинарах и конференциях. Вот и решил, что сие может быть полезным более широкому кругу.

Добро пожаловать ко мне в блог!

Небольшой опрос дла затравки:


MVP Profile