Спасибо всем за ваши ответы, но после небольшого исследования я нашел несколько идей о том, как сделать это немного по-другому:
- для расширения процесса сборки за пределы файлов .sln & .csproj
- пока еще используется Visual Studio
- и держись в мире MSBuild как можно больше
- добавление возможностей серверов сборки, таких как TeamCity и Hudson, где требуется
- но не зависит от этих серверов для функциональности, которую должен обеспечить скрипт сборки.
Итак, что я нашел:
Это старое сообщение в блоге Скотта Хансельмана о код организации . Здесь он использует Nant вместо MSBuild, но основная идея заключается в том, чтобы выполнить любой проект nant / msbuild, который вы хотите, через пакетный файл .bat.
"В этом каталоге souce есть такие вещи, как build.bat и buildpatch.bat. Цель состоит в том, чтобы люди могли получить материал из системы контроля версий и набрать BUILD и быть где-нибудь полезным. ОЧЕНЬ утешительно иметь возможность надежно и просто собрать всю систему. "
Из этого я могу видеть, что он (очевидно) все еще использует .sln и .csproj для хранения своих файлов вместе для VS - и может собирать через VS при необходимости - но на самом деле делает свою сборку через файлы .build Nant, выполняемые через .bat.
Этот другой пост (также от Скотта Хансельмана) показывает, как вы можете запускать внешние инструменты (такие как MSBuild или .bat файл) из Visual Studio. Итак, я создал файл build.bat, который выглядит так:
@echo off
echo Building %1 solution from build.bat
echo Directory: %~p1
C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe %~f1 %2
(я получил фанки модификаторов параметров ~ p и ~ f от здесь ;% ~ f1 расширяет MySolution.sln до полного пути sln); -)
Затем я настроил диалоговое окно «Внешние инструменты» в Visual Studio так, чтобы:
- команда "build.bat"
Аргументы: "$ (SolutionFileName) / v: m"
- начальный каталог "& (SolutionDir)"
И затем я добавил кнопку на панель инструментов, чтобы выполнить ее.
Я могу пойти дальше, чтобы сопоставить клавишу F5 для запуска этого, а не стандартную сборку Visual Studio.
Во всяком случае, это всего лишь некоторые идеи (по общему признанию, из чьего-то мозга!), Но это дает мне больше понимания сборок и того, как их можно реализовать. Существуют некоторые ограничения (например, ошибки не отображаются в окне списка ошибок), но я уверен, что при необходимости это можно будет преодолеть.
Я собираюсь попробовать и посмотреть, чего я могу достичь только на MSBuild, а затем также попробовать подключиться к Хадсону и посмотреть, что готовит! : -)
Кстати, если кто-то все еще читает на этом этапе и имеет мнение о том, является ли материал, который я представил в моем собственном ответе, хорошим / плохим / правильным / неправильным / излишним / устаревшим / ошибочным / каким бы то ни было, пожалуйста, почувствуйте свободно выражать свое мнение.
Хороший,
Пит.