C# 使用C中的凭据连接到TFS#

C# 使用C中的凭据连接到TFS#,c#,tfs,C#,Tfs,我正在尝试使用以下方式连接到TFS: TfsTeamProjectCollection teamProjectCollection = new TfsTeamProjectCollection(new Uri(teamProjectCollectionUrl)); 但是有证书。例如,我想使用凭据“myusername”和“mypassword”连接到“”…为其设置凭据的正确方法是什么 使用凭据连接后,我知道如何执行我需要的所有其他操作。MSDN介绍了如何使用凭据连接到TFS: 当连接到T

我正在尝试使用以下方式连接到TFS:

TfsTeamProjectCollection teamProjectCollection 
  = new TfsTeamProjectCollection(new Uri(teamProjectCollectionUrl));
但是有证书。例如,我想使用凭据“myusername”和“mypassword”连接到“”…为其设置凭据的正确方法是什么


使用凭据连接后,我知道如何执行我需要的所有其他操作。

MSDN介绍了如何使用凭据连接到TFS:

当连接到Team基金会时,可以使用ICRealEdvices对象 服务器指定要模拟的标识。这一战略不起作用 需要特殊权限,但您必须能够获得 创建ICredentials对象的标识的密码

您还可以在以下情况下指定ICredentialsProvider的实现: 连接到Team Foundation服务器来处理新请求 资格证书系统调用 ICredentialsProvider,指定在 ICredentials对象指定的凭据不可用 已成功验证或授权执行该操作

要提示用户输入凭据,可以使用UICredentialsProvider 类,它通过显示登录来实现ICredentialsProvider 对话框,提示用户输入新凭据

编辑:多读一些书,最正确的新方法是使用

TfsClientCredentials


NetworkCredentials类实现ICredentials接口,并允许您针对AD进行身份验证

NetworkCredential cred = new NetworkCredential("Username", "Password", "Domain");
将NetworkCredential对象作为构造函数的一部分传递

有关必须调用的新构造函数的更多信息,请参见此处:

现在的最佳实践是使用TfsClientCredentials类,它如下所示:

NetworkCredential cred = new NetworkCredential("Username", "Password", "Domain");
BasicAuthCredential basicCred = new BasicAuthCredential(cred);
TfsClientCredentials tfsCred = new TfsClientCredentials(basicCred);

就我个人而言,我一直只使用NetworkCredential。

我真的看不到您在TfsClientCredentials中设置要使用的凭据的位置……比如如何设置密码和用户名?本文对此进行了解释,如果您想了解一个使用tfs的好项目,这是一个很好的例子,可以用它来完成。在stackoverflow这里也有这个答案