0

.Net Windowsアプリケーション(コードジェネレーター)で、TFSサービスからプログラムでファイルをチェックアウトしたいと思います。TFSサービスからVS2010のファイルに問題なくアクセスしてチェックアウトできますが、プログラムは常に戻ります

「TF30064:サーバーへのアクセスが許可されていません」

私は次のような多くのことを試しました:

var account = new NetworkCredential(Username, Password);
tfs.TfsTeamProjectCollection teamProjectCollection = 
    new tfs.TfsTeamProjectCollection(new Uri(anUrl), account);
teamProjectCollection.Authenticate();

どんな助けでも大歓迎です

4

2 に答える 2

0

アプリケーションを自分で実行していて、TFSにアクセスできる場合は、次のことを実行できます。

var uri = new Uri("http://tfsserver:8080/tfs/MyCollection");
using (var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(uri))     
{         
    tfs.EnsureAuthenticated(); 
    //Your code goes here...
}
于 2013-03-04T20:42:31.680 に答える
0

ご覧ください:コンソールアプリケーションからTeamFoundationServerに接続します

コンソールアプリケーションについて説明していますが、WinFormアプリでもすべてのヒントを使用できます。

特に、(別のユーザーに代わって行動する(なりすまし))のこの部分:

認証された資格情報の使用

Team Foundation Serverに接続するときにICredentialsオブジェクトを使用して、偽装するIDを指定できます。この戦略には特別な権限は必要ありませんが、ICredentialsオブジェクトを作成するにはIDのパスワードを取得できる必要があります。Team Foundation Serverに接続して新しいクレデンシャルの要求を処理するときに、ICredentialsProviderの実装を指定することもできます。システムは、ICredentialsオブジェクトによって指定された資格情報が正常に認証または操作の実行を許可されていない場合に、新しい資格情報を要求するために指定したICredentialsProviderの実装を呼び出します。ユーザーに資格情報の入力を求めるには、UICredentialsProviderクラスを使用できます。このクラスは、ログオンダイアログボックスを表示してユーザーに新しい資格情報の入力を求めることにより、ICredentialsProviderを実装します。

于 2013-03-04T20:43:05.467 に答える