使用 vssClientCredentials 进行 VSTS 身份验证

Chr*_*ris 2 c# azure-devops

我目前正在尝试使用下面的代码连接到 VSTS 项目,之前在显示的对话框中输入凭据后已成功连接。

if (!IsConnected)
{
    sourceControl = release.SourceControl;
    connection = new VssConnection(new Uri(sourceControl), new VssClientCredentials());
    workItemTrackingHttpClient = connection.GetClient<WorkItemTrackingHttpClient>();
}
Run Code Online (Sandbox Code Playgroud)

对话框不再显示并抛出异常:

TF400813:资源不可用于匿名访问。需要客户端身份验证。

我不知道任何可能导致此问题的更改,任何帮助将不胜感激。

sta*_*SFT 5

您可以从注册表中删除缓存的凭据:(Computer\HKEY_CURRENT_USER\Software\Microsoft\VSCommon\14.0\ClientServices\TokenStorage\VisualStudio删除VssApp键)

您还可以指定凭证存储:

var c = new VssClientCredentials();
c.Storage = new VssClientCredentialStorage(storageKind: "VssApp2", storageNamespace: "VisualStudio");
connection = new VssConnection(new Uri(sourceControl), c);
Run Code Online (Sandbox Code Playgroud)