我尝试使用旧 API 进行身份验证,因为我需要其中的一些方法,这些方法在新的 Rest API 中不可用。虽然在其余 API 中通过访问令牌进行身份验证工作正常,但所有使用旧 API 进行身份验证的尝试似乎都失败了。访问令牌背后的用户不是登录的 Windows 用户。我的代码如下所示:
var tokenCredentials = new VssBasicCredential(string.Empty, token);
var connectUrl = settings.ProjectCollectionUrl.ToUrl();
var vssConnection = new VssConnection(connectUrl, tokenCredentials);
// successful
await Task.Run(async () => await vssConnection.ConnectAsync());
// successful
await Task.Run(async () => await vssConnection.ParentConnection.ConnectAsync());
var projectCollection = new TfsTeamProjectCollection(vssConnection.Uri, vssConnection.Credentials);
// fails with with not authorized.
projectCollection.Authenticate();
我也尝试了其他几种方法(例如,从网络凭据中创建 win 凭据。但是所有尝试都失败并出现未经授权的异常。遗留 API 中是否有任何已知的严重错误?