2009-09-08 21 views
0

我有一個解決方案,其中包含一個項目,其中引用了創建PDF文件的庫。 PDF庫有一個32位版本和一個64位版本。在開發過程中,該項目引用了32位版本。MS Build&Cruise Control - 將項目中的引用從32位版本替換爲64位版本

我正在開發一個32位機器。每當我檢查一些東西進入我的源代碼控制時,我都有巡航控制觸發構建。構建服務器是一臺32位機器。

不幸的是,代碼也必須部署到64位機器上。我的所有代碼都在64位機器上進行管理和運行,所以這只是導致問題的PDF庫。

我想我需要創建一個巡航控制項目,該項目在簽入時會打開項目文件,並將引用替換爲引用64位版本的32位PDF DLL,然後執行構建(創建一個準備64位機器的構建)。

有沒有人有任何建議最好的方式去做這件事?我最初的計劃是建立一個預生成步驟,是這樣的:

[預生成] [執行] [baseDirectory] ​​E:\開發\ CommonCode [/ baseDirectory] ​​ [執行] Replace32DllWith64Dll.cmd [/可執行] [/ exec] [/ prebuild]

它運行一個.cmd文件來做替換,但我不知道如何把cmd文件放在一起,而且我不知道這是否會起作用。有這樣一個更標準的方法嗎?

任何指針將不勝感激......

感謝,

保羅

回答

0

好吧,設法解決這個小難題:

基本上我創建了一個快速和骯髒的VBScript哪些只需打開我的項目文件,並將32位DLL引用的路徑替換爲64位DLL的路徑。我用一個批處理文件來激發VBScript。

然後,我更新了Cruise Control配置文件,告訴構建過程在MSBuild執行之前執行批處理文件。

似乎爲我進一步的細節和實際的腳本以及工作...

全寫了可用:

http://webpangea.blogspot.com/2009/09/cruise-control-with-msbuild-switching.html

希望它可以幫助別人。

Paul

相關問題