2014-12-05 36 views
1

如果我希望一个TFS 2012构建控制器能够访问同一自定义构建流程程序集的两个版本(每个分支对应一个),我该怎么做?TFS自定义构建每个分支的流程活动程序集

我有一个构建流程模板的每个分支和一个构建定义每个分支。每个分支都有它自己的自定义构建过程程序集,但它们都具有相同的程序集名称和名称空间(例如Company.Build.Activities.dll)。 (我知道我可以通过为每个分支的程序集使用不同的名称来使所有这些消失,例如Company.Build.Activities.Dev.dll和Company.Build.Activities.Com.dll)

我的构建控制器指向“定制程序集的版本控制路径”($/Build/ForTFS)的一个位置。我试图把两个组件在不同的子文件夹,但在生成过程导致错误:

TF215097: An error occurred while initializing a build for build definition \Company\Dev_BuildDef: 

Exception Message: Cannot set unknown member 'Company.Build.Activities.LastActivity.CustomFolderPath'. (type XamlObjectWriterException) 

看来,它的使用组件的错误副本(CustomFolderPath只在一个组件定义,而不是其他)。

我想我可以解决这个问题,如果我可以在模板xaml中指定路径或所需的程序集版本,但我不确定我能做到这一点。我已阅读文章,建议您可以添加对Visual Studio项目中用于编辑模板的特定程序集版本的引用。但是这对我来说似乎并不奏效,构建过程定义如何知道该项目的引用......它只指向模板文件本身,而不是项目。

有什么建议吗?我接近这个错误吗?

+0

为什么每个分支需要不同的组件?您的构建xaml应该在分支之间相同,因此您的自定义程序集的版本相同。任何差异都应该在您的定义中... – 2014-12-09 22:36:36

+0

在创建分支后,有时只需构建过程(仅限开发分支)的需求发生更改。在这种情况下,我们希望在开发分支中发生与商业分支相比不同的事情。 – 2014-12-24 17:11:59

+0

这没有意义。你能进一步解释吗? – 2014-12-26 00:03:06

回答

1

你不能在不同分支之间加载不同的程序集。您需要运行不同的控制器并使用单独的文件夹。

相关问题