0

PDFファイルを作成するライブラリへの参照を持つプロジェクトを含むソリューションがあります。PDF ライブラリには、32 ビット版と 64 ビット版があります。開発中、プロジェクトは 32 ビット バージョンを参照します。

私は32ビットマシンで開発しています。ソース管理に何かをチェックインするたびに、Cruise Control がビルドをトリガーします。ビルド サーバーは 32 ビット マシンです。

残念ながら、コードは 64 ビット マシンにもデプロイする必要があります。私のコードはすべて管理されており、64 ビット マシン上で問題なく動作するため、問題を引き起こしているのはこの PDF ライブラリだけです。

チェックイン時にプロジェクト ファイルを開き、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

わかりました、この小さな難問を解決することができました:

基本的に、プロジェクト ファイルを開き、32 ビット DLL 参照へのパスを 64 ビット DLL へのパスに置き換えるだけの簡単で汚い VBScript を作成しました。バッチ ファイルを使用して VBScript を起動しました。

次に、MSBuild が機能する直前に、Cruise Control 構成ファイルを更新して、ビルド プロセスにバッチ ファイルを実行するように指示しました。

私にはうまくいったようです...

詳細と実際のスクリプトを含む完全な記事が利用可能です。

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

それが誰かを助けることを願っています。

ポール

于 2009-09-10T09:12:57.077 に答える