2014-12-05 35 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

你不能在不同分支之間加載不同的程序集。您需要運行不同的控制器並使用單獨的文件夾。

相關問題