我有一个解决方案,其中包含一个项目,该项目引用了一个创建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文件放在一起,并且我不确定这是否会起作用...也许有一种更标准的方法来进行这种排序事情?
任何指针都会非常感激......
谢谢,
保
答案 0 :(得分:0)
好的,设法解决了这个小难题:
基本上我创建了一个快速而脏的VBScript,它只是打开我的项目文件,并用64位DLL的路径替换32位DLL引用的路径。我使用批处理文件来激活VBScript。
然后我更新了Cruise Control配置文件,告诉构建过程执行批处理文件,就在MSBuild工作之前。
似乎对我有用......
有完整的详细信息和实际脚本可供参考:
http://webpangea.blogspot.com/2009/09/cruise-control-with-msbuild-switching.html
希望它有所帮助。
保