0

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

我正在32位机器上开发。每次我将某些内容检入源代码控制时,我都会让 Cruise Control 触发构建。构建服务器是 32 位机器。

不幸的是,代码还必须部署到 64 位机器上。我的所有代码都在 64 位机器上进行了管理并运行良好,所以正是这个 PDF 库导致了问题。

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

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

[prebuild] [exec] [baseDirectory]E:\Dev\CommonCode[/baseDirectory] ​​[executable]Replace32DllWith64Dll.cmd[/executable] [/exec] [/prebuild]

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

任何指针将不胜感激......

谢谢,

保罗

4

1 回答 1

0

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

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

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

对我来说似乎工作得很好......

提供了包含更多详细信息和实际脚本的完整文章:

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

希望它可以帮助某人。

保罗

于 2009-09-10T09:12:57.077 回答