この回答で提供されている以下のコードはしばらくの間は正常に機能しましたが、Microsoft.TeamFoundation.TeamFoundationServerUnauthorizedException: 'TF30063:https:// {mysite} .visualstudio.com /へのアクセスが許可されていません。再び。
var credentials = new VssClientCredentials();
credentials.PromptType = CredentialPromptType.PromptIfNeeded;
var teamProjects = new TfsTeamProjectCollection(tfsCollectionUri, credentials);
teamProjects.EnsureAuthenticated(); // exception thrown
Qどうすればこの問題を解決できますか?
奇妙な更新、
teamProjects.EnsureAuthenticated();
デバッガを読み込むPromptIfNeeded
ためcredentials.PromptType
。DoNotPrompt
のためにcredentials.PromptType
。観察上記のコードは、コンソールアプリケーションでは完全に機能しますが、Windowsフォームアプリケーションでは機能しません(つまり、例外がスローされます)。
Q1上記のコードをWindowsフォームアプリケーションで機能させるにはどうすればよいですか?
上記のコードをTask
(つまり別のスレッドで)実行すると、正常に機能します。レジストリ内の場所に資格情報が存在しないか、古くなっている場合(この回答を参照)、ウィンドウが開き、自分自身を認証できます。
なぜこれが機能するのか誰かが説明できますか?
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加