【问题标题】:Trouble checking files out/in Team Foundation Build在 Team Foundation Build 中签出/签入文件时遇到问题
【发布时间】:2013-05-21 20:45:11
【问题描述】:

我正在尝试使用 tfsbuild 和 Visual Studio 2012 构建各种 csproj 文件。我创建了一个构建定义,其中包含适当的流程来构建三个不同的 csproj 文件。每个 csproj 文件都有 prebuild 和 postbuild 事件,大多数是简单的删除和复制命令。只需这些步骤,构建就可以很好地工作。 现在我想添加命令,让文件在构建之前从 tfs 中签出,并在构建后重新签入。我已将正确的 VS 命令行命令添加到 prebuild 和 postbuild 事件中

结帐:

"$(DevEnvDir)tf" checkout /lock:none "$(Pathname)$(ConfigurationName)\$(TargetFileName)"

签到:

"$(DevEnvDir)tf" checkin "$(Pathname)$(ConfigurationName)\$(TargetName).*" /noprompt /force /comment:"Build checkin"

但是现在当我尝试构建时,我得到一个返回的错误,如下所示:

$/AiFramework/toolbox/Accelitec.Utility/Accelitec.Utility.csproj - 1 个错误,0 个警告,查看日志文件 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (1063):命令 ""C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\tf" checkout / lock:none "\AiDevelopment\AiFramework\bin\Debug\Accelitec.Utility.dll"" 退出,代码为 100。

错误报告没有提供更多关于出现什么问题的信息。 有趣的一点是,当我在本地单独构建文件时,即使有 checkout/in 命令,文件也会构建,甚至执行正确的 checkout/in。

我的想法(在团队服务器上对命令行进行了一些摆弄后得到支持)是它与工作区有关,特别是签出文件所需的工作区,但除此之外,我不知道从哪里继续.

【问题讨论】:

    标签: tfsbuild


    【解决方案1】:

    我建议您远离构建后事件,而是修改工作流程。至少,使用 MSBUILD 而不是构建后事件。

    【讨论】:

      【解决方案2】:

      还要验证工作区。

      前段时间我也遇到过同样的问题。发生的情况是多个映射到不同工作空间中的同一目的地。

      清理放置文件夹并使用以下参数请求新构建:

      /p:OverrideForceGet=true;OverrideSkipInitializeWorkspace=false
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-02-21
        • 1970-01-01
        • 2010-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-20
        相关资源
        最近更新 更多