如何:在桌面上生成团队项目

更新:2007 年 11 月

Team Foundation Build 提供一种桌面生成功能,用于在将更改签入公共的 Team Foundation 版本控制 服务器中之前,先生成解决方案并对本地二进制文件运行测试。桌面生成与公共生成在行为上存在以下不同:

  • 桌面生成仅执行编译和测试。

  • 它们不会执行其他公共生成步骤,例如,从版本控制获取源代码,更新工作项,标记源代码,创建新的工作项以及复制到放置位置等

  • 由于未针对桌面生成启用 Team Foundation Build 记录器,因此默认的 MSBuild 记录器将记录结果。

  • 桌面生成不会将生成数据存储在数据库中。

  • 它们不会生成任何状态报告。生成输出将写入到控制台。通过在运行 MSBuild 命令时启用 Verbosity 选项,您可以了解到更多详细信息。有关更多信息,请参见 MSBuild 命令行参考

有关如何对生成进行排队的信息,请参见如何:启动生成定义或对其进行排队

必需的权限

若要执行此过程,您必须具有相应的文件系统权限,以便在生成代理上创建文件。还必须具有相应的文件系统权限,来运行作为生成过程一部分指定的其他任何过程。有关更多信息,请参见 Team Foundation Server 权限

运行桌面生成

  1. 将团队项目根目录与本地计算机上的某个目录同步。有关更多信息,请参见如何:获取团队项目的源代码

    说明:

    Team Foundation Build 存储版本控制中所有生成定义文件。默认目录为团队项目根文件夹下的“TeamBuildTypes”。创建生成定义时可以指定一个不同的目录。

  2. 从 Visual Studio 的命令提示符处使用 MSBuild 命令(依次单击“开始”、“所有程序”、“Microsoft Visual Studio 2008”、“Visual Studio 工具”,然后单击“Visual Studio 2008 命令提示”),并将生成定义文件用作参数,如下面的语法所示:

    C:\temp\Team Project1\TeamBuildTypes\Main> MSBuild TfsBuild.proj /p:SolutionRoot=..\..

    说明:

    您的生成文件的文件夹路径可以与此路径不同。

    如果源代码已经与某个目录(例如,d:\temp\mysources\solution1)同步,则可以将生成类型文件与另一个目录同步,例如:c:\temp。使用前面提到的命令,但指定源代码的位置。命令语法为:

    MSBuild TfsBuild.proj /p:SolutionRoot= d:\temp\mysources

    可以使用带有 /p 开关的命令行重写任何属性。桌面生成必需的唯一属性为 SolutionRoot

    您可以选择重写桌面生成的以下这些属性:

    • Verbose

    • RunFxCopFlag

  3. 下面的命令为 Team Foundation Build 桌面生成提供了其他语法:

    • msbuild TfsBuild.proj

      用于执行增量生成并运行测试。

    • msbuild TfsBuild.proj /t:Clean

      用于针对二进制文件和所有中间 obj 文件夹执行清除操作。

    • msbuild TfsBuild.proj /t:Compile

      用于执行增量编译。

    • msbuild TfsBuild.proj /t:Test

      仅用于运行测试。

    • msbuild TfsBuild.proj /t:DesktopRebuild

      用于执行清除、完全编译并运行测试。

    • msbuild TfsBuild.proj /p:BinariesRoot=d:\NewBinariesRoot /p:TestResultsRoot=d:\NewTestResultsRoot

      用于通过重写复制产品二进制文件的 BinariesRoot 和保存测试结果的 TestResultsRoot 来重写输出目录。

    • msbuild TfsBuild.proj /p:RunCodeAnalysis=false

      用于在桌面生成中禁用代码分析。

    • msbuild TfsBuild.proj /p:RunTest=false

      用于在桌面生成中禁用测试运行。

    有关 MSBuild 命令行选项的更多信息,请参见 MSBuild 命令行参考

请参见

概念

MSBuild 中的日志记录概述

MSBuild 属性

参考

MSBuild 命令行参考

其他资源

在 Team Foundation Build 中运行生成