TeamFoundation Client v10和v11之间的兼容性

时间:2013-01-16 03:33:47

标签: visual-studio tfs2010 tfs2012 tfs-sdk

我正在开发一个需要与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客户端程序集更改为v10时。现在,只有Visual Studio Team Explorer 2012的用户会收到“TeamFoundation Client v10”缺失的异常。

如果用户必须拥有特定版本的Visual Studio Team Studio且不同版本的TeamFoundation客户端程序集彼此不兼容,请告诉我们吗?或者我犯了一个错误? 有没有解决方案?

1 个答案:

答案 0 :(得分:3)

当您使用TFS客户端对象模型时,必须在客户端计算机上安装该版本的对象模型。 Visual Studio 2012安装并使用2012版本的对象模型(11.0.0.0),2010使用2010版本。

如果希望应用程序与Visual Studio 2010和2012兼容,那么最好的办法是使用TFS 2010对象模型。您可以单独下载和安装对象模型,这样您就不需要并排安装Team Explorer或Visual Studio。

Installing the TFS Client Object Model 2010然后在Visual Studio 2012旁边安装Visual Studio 2010 Forward Compatibility Patch应允许2012用户连接,以及2010年用户。

您也可以在VS2010旁边安装TFS Client Object Model 2012,但由于这需要安装.NET 4.5,您将无法以这种方式使用Windows XP为客户端提供服务。

最后一种方法是构建两个版本的应用程序/库,一个针对2010对象模型,另一个针对2012版本。您可以让安装程序决定安装哪个版本。

注意:可以使用抽象分支扩展最后一个场景,并在运行时加载正确版本的TFS特定二进制文件。使用接口将所有内容抽象出来。