MS Build&巡航控制 - 将项目中的参考从32位版本替换为64位版本

时间:2009-09-08 11:13:06

标签: msbuild batch-file 32bit-64bit cruisecontrol

我有一个解决方案,其中包含一个项目,该项目引用了一个创建PDF文件的库。 PDF库具有32位版本和64位版本。在开发期间,该项目引用了32位版本。

我正在使用32位机器进行开发。每次我在源代码管理中检查一些内容时,我都会使用Cruise Control触发构建。构建服务器是32位机器。

不幸的是,代码也必须部署到64位计算机上。我的所有代码都在64位计算机上进行管理并运行良好,因此只是这个PDF库导致了问题。

我想我需要创建一个Cruise Control项目,在签入时打开项目文件,用64位版本替换对32位PDF DLL的引用,然后执行构建(创建一个为64位机器做好准备。)

有没有人对最佳方法有任何建议?我最初的计划是创建一个预建步骤,例如:

[预生成]       [执行]         [baseDirectory] ​​E:\开发\ CommonCode [/ baseDirectory]         [可执行] Replace32DllWith64Dll.cmd [/可执行]       [/ EXEC]     [/预生成]

哪个运行.cmd文件来进行替换,但是我不知道如何将cmd文件放在一起,并且我不确定这是否会起作用...也许有一种更标准的方法来进行这种排序事情?

任何指针都会非常感激......

谢谢,

1 个答案:

答案 0 :(得分:0)

好的,设法解决了这个小难题:

基本上我创建了一个快速而脏的VBScript,它只是打开我的项目文件,并用64位DLL的路径替换32位DLL引用的路径。我使用批处理文件来激活VBScript。

然后我更新了Cruise Control配置文件,告诉构建过程执行批处理文件,就在MSBuild工作之前。

似乎对我有用......

有完整的详细信息和实际脚本可供参考:

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

希望它有所帮助。