无法将string转换为Microsoft.TeamFoundation.Client.TfsTeamProjectCollection的问题求助
无法将string转换为Microsoft.TeamFoundation.Client.TfsTeamProjectCollection的问题求助
嘿,我来帮你排查这个问题~
先把你用的代码贴出来方便对照:
WorkspaceInfo workspaceInfo = Workstation.Current.GetLocalWorkspaceInfo("$/UKNML1234_1"); Uri serverUri = workspaceInfo.ServerUri; TfsTeamProjectCollection server = new TfsTeamProjectCollection(serverUri); var versionControlServer = server.GetService<VersionControlServer>(); Workspace WS = workspaceInfo.GetWorkspace(versionControlServer.AuthorizedUser);
你遇到的错误核心是参数类型不匹配:GetWorkspace方法需要的是TfsTeamProjectCollection类型的服务器连接对象,但你传入的versionControlServer.AuthorizedUser只是一个字符串类型的用户名,自然会触发转换失败的报错。
给你两种简单的修复方案,选一个就能解决:
- 方案一:直接传入你已经创建好的
server实例(这就是符合要求的TfsTeamProjectCollection对象):
Workspace WS = workspaceInfo.GetWorkspace(server);
- 方案二:如果需要确保服务器认证状态,也可以先完成认证再获取工作区:
server.EnsureAuthenticated(); // 先确认已完成服务器认证 Workspace WS = workspaceInfo.GetWorkspace(server);
说白了就是GetWorkspace要的是TFS的服务器连接实例,不是单纯的用户名,换个参数就搞定啦~
备注:内容来源于stack exchange,提问作者ProgramMasher
相关产品推荐
相关产品推荐

