我正在尝试使用自定义工作流活动来基于以前成功的构建自动增加内部版本号。这种方法与基于MSBuild的“工作流程”一起工作,但我似乎无法让TFS为当前正在运行的构建定义报告正确的“最后构建”。TFSBuild 2010自定义活动:IBuildDetail.LastGoodBuildUri == null?
我在做什么是很简单:
IBuildDetail build = context.GetExtension<IBuildDetail>();
IBuildDetail last = build.BuildServer.GetBuild(build.BuildDefinition.LastGoodBuildUri);
我已经运行了一个成功的构建,其中我的代码活动被迫具有BuildName_1.0.0.0的版本号。但是,当我尝试获取此版本并提取版本号时,GetBuild
抱怨LastGoodBuildUri
为空。
我使用的自定义构建模板在末尾设置了CompilationStatus
和TestStatus
到BuildPhaseStatus.Succeeded
,因此TFS应该能够判断这是一个很好的构建。我还有什么遗漏?
嘿迈克尔,你是否设置了构建的FinishTime?这个构建的原因是什么? – 2011-05-20 03:41:09
这些都是手动触发构建 - 我们不做CI或门控签入。不,我没有明确设置FinishTime,但我认为我已经拿起了默认模板所做的一切。由于我们没有也没有计划在VS2010 Test或VS2010 Lab版本上花费$$,所以我将所有相关内容全部删除。在那里我需要做些重要的事情吗? – 2011-05-20 16:31:09
我想我误解了你的问题,我会在下面回答他们。 – 2011-05-20 16:46:04