1

我现在看到的唯一方法是为 MSBuild 创建包含所需任务调用的 xml 文件,然后通过调用“执行程序”操作直接运行 MSBuild。有没有使用 FinalBuilder 执行此操作的标准方法?

4

2 回答 2

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%
于 2010-12-04T20:13:02.017 回答
0

您不能只从另一个应用程序中运行 msbuild 任务,而不实例化它所依赖的 msbuild 环境。您至少需要一个 msbuild 项目文件。

于 2010-12-05T11:27:18.963 回答