1

以下に示すように、TFS ワークスペース (この例では App.Instance.TFSWorspace) で MergeContent メソッドを呼び出しています。

bool result = App.Instance.TFSWorkspace.MergeContent(Conflict, true);

これにより、'result' が false に設定されますが、2 番目のパラメーターが明示的に外部マージ ツールを使用するように指定されていても、マージ ツールは表示されません。

コードは元々、MVVM モデルに従って RelayCommand に配置されていました。これが問題ではないことを確認するために、コードビハインドに移動しましたが、同じことが引き続き発生します。また、デフォルトの TFS ツールを使用しています。サードパーティの比較/マージ ツールは構成されていません。

なぜこれが起こるのか誰にも分かりますか?

4

1 に答える 1

1

これが発生する可能性があるいくつかの潜在的な理由:

  1. 実行中のプログラムのパスに diffmerge.exe がありません デフォルトの外部マージ ツールは、\Microsoft Visual Studio 10.0\Common7\IDE にある diffmerge.exe です (バージョンによって異なる場合があります)。これがプログラムのパスにない場合、競合が発生したときに diffmerge プロセスを開始できません。

  2. プログラムに UI シェルがない これは、プログラムがサービスまたは Web アプリである場合に発生する可能性があります。これはあなたには当てはまらないかもしれませんが、説明から完全にはわかりませんでした

ほとんどの場合、問題は上記の #1 です。最初にそれを確認します。

于 2012-09-06T13:11:30.480 に答える