【问题标题】:MS Build & Cruise Control - replacing a reference in a project from a 32bit version to 64bit versionMS Build & Cruise Control - 将项目中的引用从 32 位版本替换为 64 位版本
【发布时间】:2010-11-26 11:26:13
【问题描述】:

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

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

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

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

对于执行此操作的最佳方法,有人有任何建议吗?我最初的计划是创建一个预构建步骤,例如:

[预编译] [执行] [baseDirectory]E:\Dev\CommonCode[/baseDirectory] [可执行]Replace32DllWith64Dll.cmd[/executable] [/执行] [/prebuild]

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

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

谢谢,

保罗

【问题讨论】:

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


    【解决方案1】:

    好的,成功解决了这个小难题:

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

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

    似乎对我很有效......

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

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

    希望对某人有所帮助。

    保罗

    【讨论】:

      猜你喜欢
      • 2021-07-08
      • 2020-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-10
      相关资源
      最近更新 更多