Team Foundation Buildを使用してxunit.net xunitタスク(/platform:AnyCpu
)を呼び出していますが、TFSBuild.projのTeamBuild呼び出しはバニラです。TeamBuildのx64 [xunit.netテスト用]の部分実行
x64固有のテスト( `/ platform:x64 ')がいくつかあり、ImageFormatExceptionが発生します。私はx86とマークされたテストアセンブリーも持っているので、すべてまたは何もできません。
NUnitには、MSBuildタスクのプラットフォームスイッチがあります.xunit doesnt。
私は、次の方法を考えることができます:
- はxUnitのタスクを呼び出すために64ビットのMSBuild子タスクを起動する - そこにツールパスparamがイマイチなので、それは良いアイデアだ場合、クリーンExecのタスクの構文ものですそれを行うには、子供の環境を渡す?
- 特別なケースxunit.console.x64を使って64ビットを呼び出す
- x64にTeamBuild全体を切り替え、特殊な場合はx86です(ただしx86の特別な場合には必要な逆の状況になります) 。他の人が同様の問題を扱うにして成功を収めている何
(私はまた、カスタムタスクを右PROGRAであることを確認してください〜... \ MSBuildのdirを作成するよりも、他の、おそらくより手間があるように起こっていることを前提とし)この?
オプションを確認していただきありがとうございます。 TeamBuildはVS08SP1のx86中心ですが、msbuild自体にはx64の亜種があります。だから私はオプション1を使用しました。私はFramework64 msbuildのexecを行い、x64モードで[anycpu] xunitタスクを引き出し、望み通りに実行します。これは、私が既にMSBuild MSBuildタスクを使用してItemGroup内の一連のテストアセンブリを反復処理しているので、私の文脈で一番うまく動作します。 ...これは意味がありますか? –