Так что это вопрос для всех, кому приходилось интегрировать сборку / компиляцию устаревших проектов / кода в среду Team Build / MSBuild - в частности, приложения / проекты Visual Basic 6.
Снаружи написания задачи пользовательской сборки (против чего я не возражаю). Есть ли у кого-нибудь предложения о том, как лучше всего интегрировать компиляцию и управление версиями устаревших проектов VB6 в сборки MSBuild?
Мне известно о задачах FreeToDev msbuild в CodePlex, но на данный момент они сняты.
В идеале я ищу версию и компилирую код, а также фиксирую вывод компиляции (особенно ошибки) для журнала msbuild.
Я видел советы по инкапсуляции этой функции в пользовательскую задачу, но мне было интересно, пробовал ли кто-нибудь другое решение (помимо выполнения команд оболочки) - По сути, есть ли у кого-нибудь более "чистое" решение?
В идеале выполнение команд с использованием было бы последним средством ..





Я использую Нант для создания проектов VB6 ежедневно. Это действительно прибегает к использованию команды Nant execute для сборки (мы создаем 4 проекта как часть одного «решения»).
Он также позволяет вам помечать версии в вашем репозитории системы управления версиями, получать последний код, проверять, проверять, выполнять все обычные требования, компилировать программы обновления / установки, копировать файлы в необходимые места и отправлять результаты по электронной почте.
Регистрируемые результаты довольно минимальны, поскольку вы получаете только вывод, предоставляемый компиляцией командной строки VB6.
Для управления версиями мне пришлось написать небольшое приложение, чтобы извлечь номер версии моего скомпилированного исполняемого файла и записать его в текстовый файл, который затем Nant мог читать и использовать (для меток, имен файлов и т. д. (Немного проблематично, но VB сгенерировал номера версий в любом случае не соответствуют).
Для получения помощи по другим неосновным задачам см. NAntContrib - по ссылке NAnt выше.
Задача VB6 вернется в понедельник. Что касается управления версиями, в пакете нет явной задачи управления версиями vb, однако вы можете использовать задачи TfsVersion (TaskAction = "GetVersion") и File (TaskAction = "Replace"). Если вы считаете, что создание новой задачи для инкапсуляции / предоставления других функций имеет смысл, дайте мне знать, и я добавлю ее в пакет на благо всего сообщества.
Приносим извинения за отказ, но в понедельник я уверен, что все поймут.
Хм? разве это не был вопрос, посвященный TFS?