【问题标题】:TFS Build fails with Exec task in upgraded MSBuild build script after TFS 2012 upgradeTFS 2012 升级后升级的 MSBuild 构建脚本中的 Exec 任务失败,TFS 构建失败
【发布时间】:2013-01-11 23:28:02
【问题描述】:

我们有一个项目,我们在 TFS 2008 中自定义了 TFS 构建脚本,当时构建是基于 MSBuild,而不是工作流文件。这个自定义脚本使用<Exec> task调用NAnt做一些打包。

将我们的 TFS 2010 安装迁移到新服务器并升级到 TFS 2012 后,TFSBuild.proj 文件中的该行导致错误:

Target "AfterCompile: (TargetId:321)" in project "C:\Builds\2\Proj\Continuous Integration (Proj)\BuildType\TFSBuild.proj" (target "Compile" depends on it):
Using "Exec" task from assembly "Microsoft.Build.Tasks.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
Task "Exec" (TaskId:209)
  Task Parameter:Command=C:\Tools\NAnt\bin\Nant.exe (TaskId:209)
  Task Parameter:WorkingDirectory=..\Sources\ (TaskId:209)
  Command: (TaskId:209)
  C:\Tools\NAnt\bin\Nant.exe (TaskId:209)
C:\Builds\2\Proj\Continuous Integration (Proj)\BuildType\TFSBuild.proj(225,5): error MSB6003: The specified task executable "cmd.exe" could not be run. The directory name is invalid
Done executing task "Exec" -- FAILED. (TaskId:209)
Done building target "AfterCompile" in project "TFSBuild.proj" -- FAILED.: (TargetId:321)

那行看起来像这样:

<Target Name="AfterCompile">
  <Exec Command="C:\Tools\NAnt\bin\Nant.exe" WorkingDirectory="..\Sources\" />
  <!-- ... -->
</Target>

【问题讨论】:

  • 这是否开启了最大详细日志记录?将 /v:diag 添加到 MsBuild 命令行以获取有关正在发生的事情的更多信息。
  • 我忘记更改日志记录的详细程度,@jessehouwing,但是一旦我更改为诊断,就没有得到任何其他信息...
  • 罢工,我只是在错误的地方寻找额外的信息(它不在 Visual Studio 的构建视图中,只是在放置文件夹中的日志文件中)。也就是说,它告诉我们的有趣并不多。
  • 您是否尝试过非相关工作目录?在它前面加上 $(Solution Directory) 或类似的东西......
  • 感谢您指向工作目录,我对它的那部分视而不见。原来 Sources & Binaries 目录在 TFS 2012 中被重命名,我应该使用 $(SourceSubdirectory) 代替。如果您将有关检查工作目录的评论放入答案中,我会接受。

标签: msbuild


【解决方案1】:

检查您的工作目录。我希望这指向一个不存在的位置。

具体来说,默认的 SourcesBinaries 目录名称在 TFS 2012 中更改为 srcbin。使用属性$(SourcesSubdirectory)$(BinariesSubdirectory) 获取正确的值。

【讨论】:

    猜你喜欢
    • 2018-10-24
    • 1970-01-01
    • 2021-11-01
    • 2021-12-19
    • 2021-08-13
    • 2021-05-25
    • 2019-10-16
    • 2016-12-02
    • 2017-05-21
    相关资源
    最近更新 更多