Нужен учебник для начинающих Msbuild
Мы поддерживаем Windows приложение среднего размера, разработанное в vb/ C# .net в работе. Тем не менее, сейчас процесс сборки и развертывания этого приложения выполняется вручную. Я полон решимости автоматизировать этот процесс с помощью MSBuild, о котором я до сих пор не знаю.
Наше приложение имеет простую структуру сборки, набор проектов, уже сгруппированных в четыре решения (.sln), и нужно просто собрать четыре sln в порядке. А затем опубликуйте проект (который является частью последнего созданного sln) в каталоге. Вот и все. Простой процесс, который уже занимает 30 минут времени ручной сборки, и я совершенно уверен, что это может быть выполнено без ручного вмешательства, используя msbuild, по крайней мере, 1/4 времени.
Все мои цели поставлены хорошо, я начал искать в Интернете ресурсы MSBuild, чтобы выполнить мой процесс, но, возможно, просматривал многие вещи, которые меня смущали. Нужен указатель или хорошее объяснение того, как начать и с чего начать для моего простого сценария. Помощь очень ценится.
2 ответа
Это звучит как очень простой сценарий для написания. Даже командный файл будет делать:
msbuild \ path \ to \ first.sln /p: конфигурация = выпуск msbuild \path\to\second.sln /p: конфигурация = выпуск msbuild \path\to\third.sln /p: конфигурация = релиз msbuild \ path \ to \ четвертый.sln /p: конфигурация = релиз вызов развертывания
Конечно, намного лучше было бы иметь работающий сервер, скажем CruiseControl.NET, который дает веб-интерфейс в статус и историю сборки.
В MS Build есть две основные контрольные точки для вызывающей стороны: цель и ее свойства. Цель - это то, что компилировать, ресурсы, компиляция, развертывание и т. Д. Свойства управляют тем, как создается эта цель.
Вы можете управлять конфигурацией, используя свойство Configuration (см. Выше). Если вы откроете файлы *.* Proj, вы заметите PropertyGroup
элементы. Они устанавливаются через командную строку, используя /p
Arg.
Вот спецификации для двух аргументов:
/target:<targets> Build these targets in this project. Use a semicolon or a
comma to separate multiple targets, or specify each
target separately. (Short form: /t)
Example:
/target:Resources;Compile
/property:<n>=<v> Set or override these project-level properties. <n> is
the property name, and <v> is the property value. Use a
semicolon or a comma to separate multiple properties, or
specify each property separately. (Short form: /p)
Example:
/property:WarningLevel=2;OutDir=bin\Debug\
Вот хорошее руководство, которое содержит много полезной информации о MSBuild, Continuous Integration и CuriseControl.NET. Определенно хорошее место для начала.