以编程方式连接到TFSPreview

Jef*_*ter 5 tfs tfs-sdk azure-devops

我正在尝试从C#应用程序连接到TFS Preview.

目前,我一直在试图进行身份验证.我添加了对TFS 2010 DLL的引用(我相信这些将使我能够连接,如果我错了请纠正我!)我的测试用例就像.我尝试连接的URL在表单中https://MYSERVERNAME.tfspreview.com/DefaultCollection

var teamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(workPath, new UICredentialsProvider());
teamProjectCollection.EnsureAuthenticated();
Run Code Online (Sandbox Code Playgroud)

这失败,出现以下异常.

服务器https://MYSERVER.tfspreview.com/ $/defaultcollection 无法使用Team Foundation服务.技术信息(针对管理员):TF400813:资源不可用于匿名访问.需要客户端验证.

我原本希望UICredentialsProvider在工厂方法中创建团队项目集合,并使用它来提供身份验证.TFS预览服务使用Windows Live身份验证,但我希望能够涵盖这一点.

正确方向的指针非常感谢!

Jef*_*ter 2

我发现您无法使用 TFS2010 DLL 连接到 TFSPreview,很可能是因为需要提供 Web 凭据才能访问该站点。

通过添加对 TFS2012 DLL(随 Visual Studio 2012 RC 提供,位于%PROGRAMFILESX86\Microsoft Visual Studio 11.0\Common7\IDE\ReferenceAssemblies\v2.0)的引用,我能够成功连接。

  • TFSPreview 服务使用 LiveId 作为凭据,该凭据仅在 TFS 2012 对象模型中受支持。请注意,将来您无需安装团队资源管理器即可以编程方式访问 TFS - TFS 2010 对象模型可作为独立安装程序使用,并且将来将提供 TFS 2012/TFSPreview 下载。Buck Hodges 博客文章中提到了 TFS 2010 下载 - http://blogs.msdn.com/b/buckh/archive/2012/07/14/standalone-installer-for-the-tfs-client-object-model .aspx (3认同)