C# 基本身份验证要求与服务器建立安全连接。在TFS中

C# 基本身份验证要求与服务器建立安全连接。在TFS中,c#,visual-studio,tfs,C#,Visual Studio,Tfs,我尝试使用凭据连接我的TFS服务器。但我收到错误“基本身份验证需要与服务器的安全连接”。 string username = "adminuser"; string pwd = "mypassword"; string domain = "http://localhost:8080/tfs/defaultcollection"; NetworkCredential networkCredential = new Netwo

我尝试使用凭据连接我的TFS服务器。但我收到错误“基本身份验证需要与服务器的安全连接”。

 string username = "adminuser";
            string pwd = "mypassword";
            string domain = "http://localhost:8080/tfs/defaultcollection";
            NetworkCredential networkCredential = new NetworkCredential(username, pwd);
            BasicAuthCredential basicAuthCredential = new BasicAuthCredential(networkCredential);
            TfsClientCredentials tfsClientCredentials = new TfsClientCredentials(basicAuthCredential)
            {
                AllowInteractive = false
            };
            TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(new Uri(domain), tfsClientCredentials);
            tfs.EnsureAuthenticated();

我的tfs没有https。任何其他方法都可以修复它,但浏览器级别的操作正常

请尝试使用以下代码:

String collectionUri = "http://localhost:8080/tfs/defaultcollection";
VssCredentials creds = new VssClientCredentials();
creds.Storage = new VssClientCredentialStorage();
VssConnection connection = new VssConnection(new Uri(collectionUri), creds);

BasicAuthCredential需要https://,我相信,我无法使用https://访问我的TFS。所以我找到了另一种从NetworkCredential到VssCredentials的方法

string username = "adminuser";
        string pwd = "mypassword";
        string domain = "http://localhost:8080/tfs/defaultcollection";

        NetworkCredential networkCredential = new NetworkCredential(username, pwd);
        //BasicAuthCredential basicAuthCredential = new BasicAuthCredential(networkCredential);
        Microsoft.VisualStudio.Services.Common.WindowsCredential winCred = new Microsoft.VisualStudio.Services.Common.WindowsCredential(networkCredential);
        VssCredentials vssCred = new VssClientCredentials(winCred);

        TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(new Uri(domain), vssCred);
        tfs.EnsureAuthenticated();
尝试使用新的API: