【问题标题】:TFS Build Error While Invoking custom build file via TFS Build definition通过 TFS 构建定义调用自定义构建文件时出现 TFS 构建错误
【发布时间】:2011-11-27 21:57:33
【问题描述】:

我使用 TFS 2010,VS 2010。

我编写了一个自定义 msbuild proj 文件,我在本地使用它来构建我的解决方案。我使用 MSBUILD.exe TFSBuild.proj,它在我的本地机器上完成所有工作。 (我有一个名为“DoMyBuild”的目标,它开始构建并完成所有工作。) 我在 DefaultTargets 属性中使用了它,如下所示:

<Project DefaultTargets="DoMyBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">

我正在努力配置它以将我的构建服务器与构建定义一起使用。在构建定义中,在“流程”下 - 我配置了“升级模板”,并在构建流程参数中提供了此 TFSBuild.Proj 文件的路径。

理想情况下。 TFS 应该在我阅读时启动“DoMyBuild”目标。但它给出了一个错误,寻找未定义的“EndToEndIteration”。所以,我相信它仍在做我不想要的 DesktopBuild。我想使用我的自定义目标来启动。这可能吗?

非常感谢任何帮助。

谢谢你,玛尼

【问题讨论】:

  • 为什么你在使用VS2010的时候将ToolsVersion设置为3.5?如果你想像VS2010那样构建,你应该使用4.0。
  • 不太明白。你能解释一下像VS2010这样的构建是什么意思吗?需要明确的是,我在 vs2010 中使用团队资源管理器来创建一个新的构建定义,我在其中指定了我的 TFSBuild.proj。
  • 如果 ToolsVersion 设置为 3.5 就像在 VS2008 中构建一样。如果它设置为 4.0 就像在 VS2010 中构建一样。

标签: tfs msbuild tfsbuild


【解决方案1】:

您的问题已在here 讨论。

确保您的 MSBuild 项目中至少定义了一个 EndToEndIteration 目标。

<Target Name="EndToEndIteration"
Condition=" '$(IsDesktopBuild)'!='true' "
DependsOnTargets="$(EndToEndIterationDependsOn)" />

【讨论】:

  • 那么,我应该导入 Import this namespace 吗?Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets" />
  • 请按照我发送链接的完整帖子进行操作。它还有一个完整的工作示例。
猜你喜欢
  • 2016-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多