MSBuild
От: Чистяков Влад (VladD2) Российская Империя www.nemerle.org
Дата: 19.03.05 07:57
Оценка: 881 (25)
Статья:
MSBuild
Автор(ы): Чистяков Влад (VladD2)
Дата: 09.07.2005
Статья рассказывает про новую систему сборки проектов от Microsoft – MSBuild. MSBuild будет входить в .NET Framework 2.0, а стало быть он станет основным средством сборки приложений для WinFX и новой версии Windows Longhorn. В статье рассказывается о принципах его работы, его API и средствах расширения.


Авторы:
Чистяков Влад (VladD2)

Аннотация:
Статья рассказывает про новую систему сборки проектов от Microsoft – MSBuild. MSBuild будет входить в .NET Framework 2.0, а стало быть он станет основным средством сборки приложений для WinFX и новой версии Windows Longhorn. В статье рассказывается о принципах его работы, его API и средствах расширения.

Обновленная версия проекта MSBuildProjectBrowser на github.com.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Отредактировано 24.02.2015 17:43 VladD2 . Предыдущая версия .
Re: MSBuild
От: Spaider Верблюд  
Дата: 11.07.05 07:51
Оценка: 1 (1) +1
Здравствуйте, Чистяков Влад (VladD2), Вы писали:

Многие конкурирующие среды (например, Borland Delphi) вообще не имели никаких средств компиляции вне IDE (вернее, такими средствами была сама IDE).


Оставим за рамками качество и удобство компиляторов командной строки в Delphi, но отметим тот факт, что они таки есть: dcc32 и make. Сейчас не имею доступа к более ранним версиям, но в Delphi 7 вышеуказанные утилиты уже есть.
--
К вашим услугам,
Re[2]: MSBuild
От: raskin Россия  
Дата: 12.07.05 05:22
Оценка:
Spaider wrote:
> Здравствуйте, Чистяков Влад (VladD2), Вы писали:
>
> Многие конкурирующие среды (например, Borland Delphi) вообще не имели
> никаких средств компиляции вне IDE (вернее, такими средствами была сама
> IDE).
>
> Оставим за рамками качество и удобство компиляторов командной строки в
> Delphi, но отметим тот факт, что они таки есть: dcc32 и *make*. Сейчас
> не имею доступа к более ранним версиям, но в Delphi 7 вышеуказанные
> утилиты уже есть.

Помню — Дельфи 5, есть они. Уверен — были и раньше. Подозреваю — их и
вызывает IDE.
Posted via RSDN NNTP Server 2.0 beta
Re: MSBuild
От: Alik Украина  
Дата: 12.07.05 08:35
Оценка:
Здравствуйте, Чистяков Влад (VladD2), Вы писали:

ЧВV>Статья рассказывает про новую систему сборки проектов от Microsoft – MSBuild. MSBuild будет входить в .NET Framework 2.0, а стало быть он станет основным средством сборки приложений для WinFX и новой версии Windows Longhorn. В статье рассказывается о принципах его работы, его API и средствах расширения.


Интересно было бы узнать, есть ли у него какие-то преимущества по сравнению с другими решениями.
С уважением. Алик.
Re[2]: MSBuild
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.07.05 12:46
Оценка:
Здравствуйте, Alik, Вы писали:

A>Интересно было бы узнать, есть ли у него какие-то преимущества по сравнению с другими решениями.


Как минимум отличная интеграция с VS 2005 и породистый родитель.

Ну, а так... Вроде все описано. Продуманный декларативный синтаксис, хороший управляемый АПИ. Наличие рантайма во фрэймворке.

Корече, если ориентироваться на производство ПО под Виндовс, то лучше вряд ли можно что-то придумать.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: MSBuild
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.07.05 12:46
Оценка: -1
Здравствуйте, raskin, Вы писали:

R>Помню — Дельфи 5, есть они. Уверен — были и раньше. Подозреваю — их и

R>вызывает IDE.

Я распрощался с дельфи когда вышла 4-ка. Помню проводил эксперементы на трешке и они показали, что IDE занимается компиляцией самостоятельно. Причем только она позволяла компилировать проекты дельфи. Ну, и как водится экспорта в какие либло мэйки отсуствовали на прочь.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: MSBuild
От: DemAS http://demas.me
Дата: 12.07.05 13:01
Оценка: 1 (1)
Здравствуйте, VladD2, Вы писали:

A>>Интересно было бы узнать, есть ли у него какие-то преимущества по сравнению с другими решениями.


Угу. Я тоже попробовал прикинуть, а чем это лучше Ant(NAnt) и особо не понял.

VD>Как минимум отличная интеграция с VS 2005


И как следствие, сложность или даже невозможность привязать ее к другим средам разработки.

VD> и породистый родитель.


OpenSource звучит не только красиво, но еще и гордо

VD>Ну, а так... Вроде все описано. Продуманный декларативный синтаксис, хороший управляемый АПИ. Наличие рантайма во фрэймворке.


Как и в Ant.

VD>Корече, если ориентироваться на производство ПО под Виндовс, то лучше вряд ли можно что-то придумать.


Может быть. Но зная Ant, детально разбираться с еще одной аналогичной приблудой уже не очень хочется.

p.s. Не воспринимай, как упрек. Статья хорошая, скорее это очередное "фи" в сторону MS.
... << RSDN@Home 1.1.4 beta 7 rev. 501>>
Re[4]: MSBuild
От: xvost Германия http://www.jetbrains.com/company/people/Pasynkov_Eugene.html
Дата: 12.07.05 14:05
Оценка:
Здравствуйте, DemAS, Вы писали:

DAS> скорее это очередное "фи" в сторону MS.


А в чем заключается "фи"?

В том, что MS в коммерческой разработке не опирается на опен-сорсовый проект, а пытается сделать что-то свое? При этом я вполне уверен что у них получится лучше чем у ANT'а
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Re[5]: MSBuild
От: DemAS http://demas.me
Дата: 12.07.05 14:18
Оценка: +2
Здравствуйте, xvost, Вы писали:

X>А в чем заключается "фи"?


В том, что MS который раз берется создавать аналог того, что и без того неплохо работает и, как говорится, единственный недостаток существующего в том, что это сделано не нами.

Можно посмотреть на это и с практической точки зрения. Я человек ленивый и изучать две вещи выполняющие одну и туже задачу с одним и тем же результатом мне лень. Ты можешь сказать, что меня никто это делать и не заставляет, но на практике я уверен, что на проетах мне придется столкнуться и с тем и с другим и все-таки пойти против своих принципов

X>В том, что MS в коммерческой разработке не опирается на опен-сорсовый проект,


В том, что она пытается занять нишу, которая в принципе уже заполнена. Я не против конкуренции, но смотри выше...
Опять же, как на этих форумах не раз говорилось — "прежде чем писать программу, подумай, а чем она будет отличаться от конкуртентов в лучшую сторону". Здесь я пока явных преимуществ не увидел.

X> а пытается сделать что-то свое? При этом я вполне уверен что у них получится лучше чем у ANT'а


А я вот не уверен. Я бы сказал 50 на 50. Это больше зависит от приоритетов в штабе MS. Согласись, что не все продукты от MS выгодно отличаются от конкурентов, в том числе и open source. Возьми, например, source safe — как я подозреваю, приоритет у этого направления в ms минимален и, как вывод, мы имеем худшую из систем контроля версий.
Опять же, не мне советовать, но если бы MS не распыляла бы свои силы, а сосредоточилась на нескольких направлениях, глядишь и MS SQL 2005 уже вышел бы, да и Longhorn не так долго ждать пришлось.

Но это все скорее философия. Я прекрасно понимаю, что от моего "фи" MS ни горячо, ни холодно.
... << RSDN@Home 1.1.4 beta 7 rev. 501>>
Re[6]: MSBuild
От: xvost Германия http://www.jetbrains.com/company/people/Pasynkov_Eugene.html
Дата: 12.07.05 14:52
Оценка: :)
Здравствуйте, DemAS, Вы писали:

DAS>Здравствуйте, xvost, Вы писали:


X>>А в чем заключается "фи"?

DAS> В том, что MS который раз берется создавать аналог того, что и без того неплохо работает и, как говорится, единственный недостаток существующего в том, что это сделано не нами.

Помимо всего прочего — это очень существенный недостаток. Смотри сам:

1) До сих пор у них (MS) не существовало подобного решения. Соответсвенно, тем кому это надо — собирали солянку из инструментария, иногда крайне криво стыкующихся между собой. MS предлагает интегрированное решение. Что есть рулез.
2) Они пробиваются на этот рынок. Соответственно, увеличивают продажи студии. Это логично и правильно (с их стороны)

DAS> Можно посмотреть на это и с практической точки зрения. Я человек ленивый и изучать две вещи выполняющие одну и туже задачу с одним и тем же результатом мне лень. Ты можешь сказать, что меня никто это делать и не заставляет, но на практике я уверен, что на проетах мне придется столкнуться и с тем и с другим и все-таки пойти против своих принципов



Такова программисткая жизнь.
Приходтся постоянно держать нос по ветру новых технологий и инструментария.

X>>В том, что MS в коммерческой разработке не опирается на опен-сорсовый проект,

DAS> В том, что она пытается занять нишу, которая в принципе уже заполнена. Я не против конкуренции, но смотри выше...

Во-первых, она не заполнена (про возможности интеграции nant'a в студию, или про визуальные ср-ва написания скриптов я скромно умолчу). Во-вторых — они пробиваются на новое направление.

Да и про масштабируемость nant'а я умолчу. Писали мы намедни новый task для него — матюги витали непрерывно.

DAS> Опять же, как на этих форумах не раз говорилось — "прежде чем писать программу, подумай, а чем она будет отличаться от конкуртентов в лучшую сторону". Здесь я пока явных преимуществ не увидел.


Как минимум интегрированность и удобная морда (то бишь GUI) — это очень много

DAS> А я вот не уверен. Я бы сказал 50 на 50. Это больше зависит от приоритетов в штабе MS. Согласись, что не все продукты от MS выгодно отличаются от конкурентов, в том числе и open source. Возьми, например, source safe — как я подозреваю, приоритет у этого направления в ms минимален и, как вывод, мы имеем худшую из систем контроля версий.


Она не худшая. В той нише, которую занимает СорсСэйф — он вне конкуренции. По удобству использования в маленьких проектах тот же CVS нервно курит в стороне. А у больших команд/проектов и бюджет другой, они используют более продвинутые и дорогие инструменты.

DAS> Опять же, не мне советовать, но если бы MS не распыляла бы свои силы, а сосредоточилась на нескольких направлениях, глядишь и MS SQL 2005 уже вышел бы, да и Longhorn не так долго ждать пришлось.


DAS> Но это все скорее философия. Я прекрасно понимаю, что от моего "фи" MS ни горячо, ни холодно.
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Re[7]: MSBuild
От: WolfHound  
Дата: 12.07.05 15:14
Оценка: +3
Здравствуйте, xvost, Вы писали:

X>Она не худшая.

Ну может быть есть поделки которые еще хуже но из извесных мне она однозначно худшая.
X>В той нише, которую занимает СорсСэйф — он вне конкуренции.
Это какя ниша?
X>По удобству использования в маленьких проектах тот же CVS нервно курит в стороне. А у больших команд/проектов и бюджет другой, они используют более продвинутые и дорогие инструменты.
Не помню как CVS (я с ним давно не работал) но по сравнению с SVN VSS нервно курит на проектах любого размера.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[4]: MSBuild
От: Andre Украина  
Дата: 12.07.05 15:18
Оценка: +1
VD>>Как минимум отличная интеграция с VS 2005

DAS> И как следствие, сложность или даже невозможность привязать ее к другим средам разработки.


А мне MsBuild наоборот нравится тем что его работы если студии нет, то можно прекрасно обойтись и бзе нее. У меня в данынй момент на работе стоит только фреймворк бета2 безо всяких 2005 студий и экпрессов. И для того чтобы собрать проект созданный в 2005 студии мне достаточно напустить на csproj тот же MsBuild и получить тот же результат что и при наличии студии.

... << RSDN@Home 1.1.4 beta 7 rev. 467>>
Я бы изменил мир — но Бог не даёт исходников...
Re[8]: MSBuild
От: xvost Германия http://www.jetbrains.com/company/people/Pasynkov_Eugene.html
Дата: 12.07.05 15:26
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, xvost, Вы писали:


X>>В той нише, которую занимает СорсСэйф — он вне конкуренции.

WH>Это какя ниша?

Бесплатных (вы же купили студию, да? ) source-control'ов, отлично интегрированных в среду разработки, и предоставляющих полный набор сервисов для одного/двух/трех разработчиков и проектов малого размера.

WH>Не помню как CVS (я с ним давно не работал) но по сравнению с SVN VSS нервно курит на проектах любого размера.


Да, может ты и интеграцию SVN с VisualStudio знаешь, сравнимую по удобству с VSS?
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Re[9]: MSBuild
От: WolfHound  
Дата: 12.07.05 15:45
Оценка: +1
Здравствуйте, xvost, Вы писали:

X>Бесплатных (вы же купили студию, да? ) source-control'ов, отлично интегрированных в среду разработки, и предоставляющих полный набор сервисов для одного/двух/трех разработчиков и проектов малого размера.

SVN бесплатен вне зависимости от того купил я студию или нет.

X>Да, может ты и интеграцию SVN с VisualStudio знаешь, сравнимую по удобству с VSS?

Прикол в том что SVN без интеграции со студией удобние чем VSS с интеграцией.
Мы на прошлой недели пересели с VSS на SVN. Переход занял пол дня в фоновом режиме.
После перехода я вобще перестал отвлекатся на систему контроля версий во время работы.
Плюс благодоря атомарным комитам вчера запустили билд после каждого комита. Причем после того как закончилась сборка информация о билде записывается в лог рядом с описанием комита.
Программист при комите написал

Пофиксил баги

после того как прошла сборака запись в логе изменилась на

Пофиксил баги
SomeProject:3681 build OK

в будущем тудаже еще и результаты работы юнит-тестов попадать будут
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[9]: MSBuild
От: PeterZT  
Дата: 12.07.05 18:07
Оценка: +1
Здравствуйте, xvost, Вы писали:

X>Да, может ты и интеграцию SVN с VisualStudio знаешь, сравнимую по удобству с VSS?

Я когда на SVN переходил, поначалу думал об интеграции, но потом, когда начал работать, понял что при использовании Tortoise интеграция нафиг не нужна (и даже иногда вредна).
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[4]: MSBuild
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.07.05 21:07
Оценка:
Здравствуйте, DemAS, Вы писали:

VD>>Как минимум отличная интеграция с VS 2005


DAS> И как следствие, сложность или даже невозможность привязать ее к другим средам разработки.


Это почему это?

VD>> и породистый родитель.


DAS> OpenSource звучит не только красиво, но еще и гордо


Пусть оно звучит как угодно, но многие скорее будут доверять коммерческому коду.

DAS> Как и в Ant.


Где-то как. Где-то лучше. Где-то просто по другому. Как минимум отсутствие NAnt-а во фрэймворке и слабые возможности интеграции в IDE — это уже нехилые минусы.

DAS> Может быть. Но зная Ant, детально разбираться с еще одной аналогичной приблудой уже не очень хочется.


Это не проблема так как:
1. Не многие его знают.
2. Ant — это Ява, а тащить ее для дотнетного проекта не смешно (хотя конечно есть NAnt).
3. Знать его не особо то нужно так как в большинстве случаев VS сделает всю нужную работу.

DAS> p.s. Не воспринимай, как упрек. Статья хорошая, скорее это очередное "фи" в сторону MS.


Люди можно сказать на истинный путь встают. Перенимают грамотные решения и содают хорошо документированный фрэймворк, а ты на них ФИ. Все равно они не смогут использовать NAnt/Ant хотя бы потому что они ГНУ-тые. А стандартизованный АПИ, декларативный синтасксис, расширяемость и т.п. очень полезны. Я, например, привык работать с IDE и меня всегда напрягал их закрытые и довольно убогие форматы проектов. А тут такой кайф!

Я вот для R#-а был вынужден написать загрузку файлов C#-проектов. Для 2003 студии сильно схалтурил, так как парсить их формат честно да еще и без документации желания особого небыло. А для 2005-ой студии я сделал честный парсинг так как использовал их АПИ. Получились коротко и качественно.
... << RSDN@Home 1.2.0 alpha rev. 554>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: MSBuild
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.07.05 21:07
Оценка:
Здравствуйте, xvost, Вы писали:

X>В том, что MS в коммерческой разработке не опирается на опен-сорсовый проект, а пытается сделать что-то свое? При этом я вполне уверен что у них получится лучше чем у ANT'а


Может и не лучше. Но по крайней мере не хуже. А так как это теперь открфтый стандарт для их файлов проектов, то я бы сказал, что это просто здорово.
... << RSDN@Home 1.2.0 alpha rev. 554>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: MSBuild
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.07.05 21:07
Оценка:
Здравствуйте, DemAS, Вы писали:

DAS>Здравствуйте, xvost, Вы писали:


X>>А в чем заключается "фи"?


DAS> В том, что MS который раз берется создавать аналог того, что и без того неплохо работает и, как говорится, единственный недостаток существующего в том, что это сделано не нами.


Далеко не единственный. NAnt и Ant — это GPL. А значит для коммерческих разработчиков они закрыты. Другое дело, что можно было не выпендриваться и 1 в 1 содрать форматы. Но тут у МС били свои заморочки. Им же нужно собственные IDE на это дело перевести.

DAS> Можно посмотреть на это и с практической точки зрения. Я человек ленивый и изучать две вещи выполняющие одну и туже задачу с одним и тем же результатом мне лень. Ты можешь сказать, что меня никто это делать и не заставляет, но на практике я уверен, что на проетах мне придется столкнуться и с тем и с другим и все-таки пойти против своих принципов


Уже есть XSLT из MSBuld в NAnt. Думаю обратное тоже будет. Так что если влом, то можно ничего и не учить.

DAS> В том, что она пытается занять нишу, которая в принципе уже заполнена.

DAS>Я не против конкуренции, но смотри выше...

А что ты не наезжашь на NAnt? Он ведь тоже эту нишу занимает. А есть еще и другие утилиты.

DAS> Опять же, как на этих форумах не раз говорилось — "прежде чем писать программу, подумай, а чем она будет отличаться от конкуртентов в лучшую сторону". Здесь я пока явных преимуществ не увидел.


Думаю, в МС очень даже подумали.

DAS> А я вот не уверен. Я бы сказал 50 на 50. Это больше зависит от приоритетов в штабе MS. Согласись, что не все продукты от MS выгодно отличаются от конкурентов, в том числе и open source. Возьми, например, source safe — как я подозреваю, приоритет у этого направления в ms минимален и, как вывод, мы имеем худшую из систем контроля версий.


Они кстати уже сделали новую систему управления версиями базирующуюся на MS SQL. Я правда ее еще не копал. В данном случае SVN вроде как хватает.

В данном же случае качество явно значительно выше чем у SS.

DAS> Опять же, не мне советовать, но если бы MS не распыляла бы свои силы, а сосредоточилась на нескольких направлениях, глядишь и MS SQL 2005 уже вышел бы, да и Longhorn не так долго ждать пришлось.


Их делают разные команды. От того что МС не написала бы MSBuild никто бы не выиграл. Мы бы и дальше комплировали бы проекты из IDE или были бы вынуждены конвертировать проекты в другие форматы. А теперь это не проблема.
... << RSDN@Home 1.2.0 alpha rev. 554>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: MSBuild
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.07.05 21:07
Оценка:
Здравствуйте, xvost, Вы писали:

X>Она не худшая. В той нише, которую занимает СорсСэйф — он вне конкуренции. По удобству использования в маленьких проектах тот же CVS нервно курит в стороне. А у больших команд/проектов и бюджет другой, они используют более продвинутые и дорогие инструменты.


Да даже CVS не курит. Через Интернет SS вообще капец. А при наличии CVS и темболее SVN платить за какие-то дурные утилиты третьих фирм — просто маразм.

Но есть и другие примеры. Например, редктор из VS. От сдель нервно отдыхают все что я видел. По количеству и качеству исполнения фич он явный лидер. Ну, да вы это должны были заметить. Все же как ни как конкуретны и настройщики баявнов.
... << RSDN@Home 1.2.0 alpha rev. 554>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: MSBuild
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.07.05 21:07
Оценка: +3
Здравствуйте, xvost, Вы писали:

X>Да, может ты и интеграцию SVN с VisualStudio знаешь, сравнимую по удобству с VSS?


Кайф в том, что для SVN попросту не нужна интеграция в студию. Ну, максимум нужно комитилку на сервер сделать которая при закрытии проекта будет изменения на сервер сбрасывать.

Если приноровиться к SVN-у, то SS вспоминается как ночной кошмар. Это точно.
... << RSDN@Home 1.2.0 alpha rev. 554>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.