Как вызвать задачи MSBuild из FinalBuilder? - PullRequest
1 голос
/ 04 декабря 2010

Единственный способ, который я сейчас вижу, это создать xml-файл для MSBuild, содержащий необходимые вызовы задач, а затем запустить MSBuild напрямую, вызвав действие «Выполнить программу». Есть ли какой-нибудь стандартный способ сделать это с помощью FinalBuilder?

Ответы [ 2 ]

2 голосов
/ 04 декабря 2010

В FinalBuilder 6 вы можете использовать задачу MSBuild.Однако, если честно, в нашем скрипте сборки я обнаружил, что лучше использовать пакетный файл и «Выполнить программу».

Редактировать: Быстро прочитав эту тему, я теперь помню, почему я использовал командный файл.Действие FB6 MSBuild немного нелогично, так как не все свойства доступны из «представления по умолчанию», и вам необходимо перейти к «сетке свойств».

Обновление: Из вашего комментария;Если вы хотите запустить отдельную задачу MSBuild и не использовать действие «Выполнить программу», вам нужно будет создать собственное действие FB.Я никогда не создавал собственные действия, но, видимо, они действительно простые.

Это командный файл, который я использовал:

@ECHO off
SET Action=%1
SET Configuration=%2
SET Platform=x86
SET CommonTools=%VS90COMNTOOLS%
SET SourceDir=%CD%\..\..
SET SolutionFilename=Solution.sln
SET MSBuild=C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe

IF "%Action%" == "" SET Action=Rebuild
IF "%Configuration%" == "" SET Configuration=Release

:BUILD
%MSBuild% "%SourceDir%\%SolutionFilename%" /v:m /t:%Action% /p:Configuration=%Configuration% /p:DenEnvDir="%CommonTools%..\IDE\" /p:SolutionDir="%SourceDir%" /p:Platform=%Platform%

:END
ECHO.
ECHO ErrorLevel: %ERRORLEVEL%
EXIT /B %ERRORLEVEL%
0 голосов
/ 05 декабря 2010

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

...