1

基本的にいくつかの作業項目を取得して、Team Foundation Server と対話する必要がある WPF アプリケーションを開発しています。そのために、Visual Studio Team Explorer 2012 に付属の TeamFoundation Client アセンブリ v11 を使用しました。このアプリケーションは、Visual Studio Team Explorer 2012 をインストールしたユーザーには問題なく動作します。ただし、Visual Studio Team Explorer 2010 しか持っていないユーザーには例外が発生します。 「TeamFoundation Client v11」が見つからないと言っています。アプリケーションで TeamFoundation Client アセンブリを v10 に変更したとき。現在、Visual Studio Team Explorer 2012 しか持っていないユーザーは、「TeamFoundation Client v10」が見つからないという例外を受け取ります。

ユーザーが特定のバージョンの Visual Studio Team Studio を使用する必要があり、異なるバージョンの TeamFoundation クライアント アセンブリが相互に互換性がない場合は、お知らせください。または私は間違いを犯していますか?解決策はありますか?

4

1 に答える 1

3

TFS クライアント オブジェクト モデルを使用している場合は、そのバージョンのオブジェクト モデルをクライアント マシンにインストールする必要があります。Visual Studio 2012 は 2012 バージョンのオブジェクト モデル (11.0.0.0) をインストールして使用し、2010 は 2010 バージョンを使用します。

アプリケーションに Visual Studio 2010 および 2012 との互換性を持たせたい場合は、TFS 2010 オブジェクト モデルを使用することをお勧めします。チーム エクスプローラーまたは Visual Studio を並べてインストールする必要がないように、オブジェクト モデルを個別にダウンロードしてインストールできます。

TFS クライアント オブジェクト モデル 2010をインストールしてから、Visual Studio 2010 前方互換性パッチを Visual Studio 2012 と共にインストールすると、2010 ユーザーだけでなく、2012 ユーザーも接続できるようになります。

TFS クライアント オブジェクト モデル 2012を VS2010 と共にインストールすることもできますが、これには .NET 4.5 がインストールされている必要があるため、この方法では Windows XP を使用してクライアントにサービスを提供することはできません。

最後の代替手段は、アプリケーション/ライブラリの 2 つのバージョンをビルドすることです。1 つは 2010 オブジェクト モデルに対して、もう 1 つは 2012 バージョンに対してです。インストールするバージョンをインストーラーに決定させることができます。

注: 最後のシナリオは、抽象化による分岐を使用して拡張し、実行時に TFS 固有のバイナリの適切なバージョンをロードすることができます。インターフェイスを使用してそれをすべて抽象化します。

于 2013-01-16T10:08:50.120 に答える