我现在看到的唯一方法是为包含所需任务调用的MSBuild创建xml文件,然后通过调用“执行程序”操作直接运行MSBuild。有没有使用FinalBuilder执行此操作的标准方法?
答案 0 :(得分:2)
在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%
答案 1 :(得分:0)
您不能仅在其他应用程序中运行msbuild任务,而无需实例化其所依赖的msbuild环境。您至少需要一个msbuild项目文件。