【问题标题】:MSBuild custom common targetsMSBuild 自定义通用目标
【发布时间】:2009-06-24 19:58:09
【问题描述】:

我正在完成 TFS 构建定义的设置,但在让 MSBuild 运行我放入 Custom.After.Microsoft.Common.Targets 文件中的任何代码时遇到问题。该文件肯定在正确的位置,并且肯定正在被解析(破坏文件中的语法会导致构建错误),但其中的任何代码都没有运行。我已经将完全相同的代码放在 TFSBuild.proj 文件中,它工作正常。所有正确的目标都会被覆盖,等等。这是什么原因造成的?

【问题讨论】:

  • 这可能是个愚蠢的问题,但您将该文件放在 构建服务器 上的正确位置,对吗?赛义德·易卜拉欣·哈希米
  • 是的,它在构建服务器上,并且肯定会被解析,因为通过删除 > 来破坏语法会导致错误。
  • 为什么一个半年前的问题拼写更正了?

标签: visual-studio tfs msbuild


【解决方案1】:

记住评估优先级;如果设置了项目或属性,则它不会在后面的包含中被覆盖,除非您调用 CreateProperty 或 CreateItem 任务。我发现这阻止了我运行条件任务。

将详细程度设置为“诊断”以查看在包含时在服务器构建上评估的内容。

【讨论】:

  • 我的错,我打算放 Custom.After.Microsoft.Common.Targets(我现在已经更正了),所以评估顺序应该不是问题。
【解决方案2】:

好的,结果确实是评估顺序,但不是我们预期的那样。 DropBuildDependsOn 的属性组由我们扩展,但后来被 TeamFoundation 目标文件覆盖。我们改为修改此文件以导入我们的项目,现在一切正常。

【讨论】:

  • 您应该将覆盖放在 TF 目标文件的 Import 语句之后。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多