【问题标题】:How to call MSBuild tasks from FinalBuilder?如何从 FinalBuilder 调用 MSBuild 任务?
【发布时间】:2011-05-20 06:50:19
【问题描述】:

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

【问题讨论】:

    标签: msbuild build build-automation msbuild-task finalbuilder


    【解决方案1】:

    在 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%
    

    【讨论】:

    • FB 没有 MSBuild 任务。它具有“MSBuild 项目”操作,使用它看起来像解决方法。顺便说一句,为什么你认为属性网格不如单独的脚本直观?
    • 啊,抱歉我暂时没有安装FB。我想的一定是一个“MSBuild 项目”。关于属性网格的评论是专门针对 FB 中的编辑操作的;尤其是 MSBuild 项目。我在自己开发的软件中经常使用属性网格,因为我需要向用户呈现大量动态数据。
    【解决方案2】:

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

    【讨论】:

    • 我不明白,但我的问题是 FinalBuilder 中有任何内置功能可以为我执行此操作。例如。他们有“运行 MSBuild 项目”动作,为什么没有“运行 MSBuild 任务”动作?
    猜你喜欢
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-07
    • 1970-01-01
    相关资源
    最近更新 更多