32 ビット DLL である Microsoft.TeamFoundation.VersionControl.Client.dll を参照するツールを作成しました。
ツールを 64 ビット Windows でビルドするときは、Visual Studio を X86 をターゲットにするように設定して、強制的に 32 ビット ビルドにします。
All-CPU の代わりに X86 をターゲットにすると、ツールを直接呼び出す限り (たとえば、コマンド ラインで「myTool.exe」と入力する) 、BadImageFormatException が発生しなくなります。ただし、ツールを呼び出すバッチ ファイルを実行すると、依然として例外が発生します。これは、バッチ ファイルが 32 ビット コマンド プロンプト (%WINDIR%\SysWOW64\cmd.exe) で実行されている場合でも発生します。
この作業を行うために他に何ができますか?