5

TFSAPIを使用してテストプランを取得しようとしています。

TfsTeamProjectCollection tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://xxxxxxx:8080/tfs/DefaultCollection"));

var service = (ITestManagementService)tfs.GetService(typeof(ITestManagementService));

変数「service」は常にnullを返します。

何か考えがありますか、なぜですか?

4

2 に答える 2

4

Get Serviceコマンドを呼び出す前に、チームプロジェクトコレクションに対して認証されていることを確認してください。このコードスニペットは私にとって正しく機能します:

TfsTeamProjectCollection tpc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("https://tfs.companyname.com/tfs/DefaultCollection"));
tpc.EnsureAuthenticated();

ITestManagementService service = tpc.GetService<ITestManagementService>();
于 2012-10-12T15:56:05.923 に答える
2

おそらく、異なるバージョンの参照アセンブリに対してリンクしていて、異なるバージョンのVisualStudioアセンブリを混在させているのでしょうか。例:

  • Microsoft.TeamFoundation.Clientv11.0(VS 2012)
  • Microsoft.TeamFoundation.TestManagement.Clientv12.0(VS 2013)

良い(null以外の)値を返す GetService<ITestManagementService>()場合でも、常にnullを返すという同じ問題がありました。GetService<VersionControlServer>()

MSDNに投稿された解決策-VersionControlServerは常にnullを返します:私はいくつかのv11.0(VS2012)およびv12.0(VS2013)アセンブリへの参照を持っていました。すべての参照をv11.0に変更すると、修正されました。

于 2014-07-29T20:42:48.210 に答える