2013-11-05 40 views
9

私は、C++とC++/CLIコードの両方を持つプロジェクトと、これらをすべてテストする一連のプロジェクトを、Microsoft Unit Test Frameworkを使用して実装しています。 C++/CLIプロジェクトの場合、ユニットテストプロジェクトはC#ユニットテストです。私が現在持っているのは、32ビットと64ビットのプラットフォームです。また、各プラットフォームに対して、32ビットと64ビットのプラットフォームに合わせてユニットテストプロジェクトを設定しています。Visual Studioユニットテスト32ビットと64ビット

問題は、私が32ビットと64ビットに切り替えると、 TEST > TEST SETTINGS > DEFAULT PROCESSOR ARCHITECTUREに行き、必要に応じて32から64に切り替える必要があるということです。そうでない場合は、Visual Studioから64ビットイメージを32ビットプロセスで実行できないという警告が表示されます。これは理にかなっていますが、確かにこれを自動化する方法がありますか? そうしないと、ビルドマシンでバッチビルドを行うと、これを制御することができず、単体テストが失敗します。

はまた、私はAnyCPUするユニットテストプロジェクトを設定しようとしたが、これは「試行が間違ったフォーマットのプログラムをロードするために作られた」

をというエラーで失敗し、おそらくより良い方法はありますか?

答えて

3

テストを自動化する場合は、プロジェクトをAnyCPUに設定して、ユニットテストを実行する前に.NETアセンブリを正しいプラットフォームに設定するためにcorflags/32bit +(または/ 32bit-)を実行します。

私はVSのための自動解決法を認識していませんが、同じファイルにリンクする2つのプロジェクト(x64とx86)があります。

関連する問題