【发布时间】: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