无法使用 tfs API 在 c# 中检索 TFS 工作区
Can't retrieve TFS workspaces in c# with tfs API
我需要获取未映射到我的计算机上的 TFS 工作区的最新版本。
这是我的代码:
using (TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(
new Uri("http://tfs:8080/tfs/project"),
new NetworkCredential("tfs", "pwd")))
{
tfs.EnsureAuthenticated();
VersionControlServer vcs = tfs.GetService<VersionControlServer>();
Workspace w = vcs.GetWorkspace("VM-TFS", vcs.AuthorizedUser);
// Implement w.Get(.....)
}
问题是在 GetWorkspace()
我收到一个异常:"TF14061: the workspace VM-TFS;DELTA\tfs does not exist."
(用户名前的 'DELTA'
是我们的域。)
我确定用户名是正确的,他是工作区的所有者,工作区名称也是正确的。
更新
我发现了问题。最初我直接用智能感知导入了 .dll。这样我就觉得Visual Studio引用了他自带的dll。
我尝试删除所有这些并使用 NuGet 安装 'Microsoft.TeamFoundationServer.ExtendedClient',现在它可以工作了!
我已经用下面的代码进行了测试,得到了成功的结果,你可以试试:
using Microsoft.TeamFoundation.Client;
using System;
using Microsoft.TeamFoundation.VersionControl.Client;
namespace GetLatest
{
class Program
{
static void Main(string[] args)
{
TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(new Uri("http://tfsserver:8080/tfs/TeamProjectCollection"));
var versioncontrols = tfs.GetService<VersionControlServer>();
var workspace = versioncontrols.GetWorkspace("test", versioncontrols.AuthorizedUser);
workspace.Get();
}
}
}
我发现了问题。
最初我是直接用智能感知导入.dll。这样我觉得Visual Studio引用了他自带的dll。我尝试删除所有这些并使用 NuGet 安装 Microsoft.TeamFoundationServer.ExtendedClient
,现在它可以工作了!
我需要获取未映射到我的计算机上的 TFS 工作区的最新版本。
这是我的代码:
using (TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(
new Uri("http://tfs:8080/tfs/project"),
new NetworkCredential("tfs", "pwd")))
{
tfs.EnsureAuthenticated();
VersionControlServer vcs = tfs.GetService<VersionControlServer>();
Workspace w = vcs.GetWorkspace("VM-TFS", vcs.AuthorizedUser);
// Implement w.Get(.....)
}
问题是在 GetWorkspace()
我收到一个异常:"TF14061: the workspace VM-TFS;DELTA\tfs does not exist."
(用户名前的 'DELTA'
是我们的域。)
我确定用户名是正确的,他是工作区的所有者,工作区名称也是正确的。
更新
我发现了问题。最初我直接用智能感知导入了 .dll。这样我就觉得Visual Studio引用了他自带的dll。 我尝试删除所有这些并使用 NuGet 安装 'Microsoft.TeamFoundationServer.ExtendedClient',现在它可以工作了!
我已经用下面的代码进行了测试,得到了成功的结果,你可以试试:
using Microsoft.TeamFoundation.Client;
using System;
using Microsoft.TeamFoundation.VersionControl.Client;
namespace GetLatest
{
class Program
{
static void Main(string[] args)
{
TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(new Uri("http://tfsserver:8080/tfs/TeamProjectCollection"));
var versioncontrols = tfs.GetService<VersionControlServer>();
var workspace = versioncontrols.GetWorkspace("test", versioncontrols.AuthorizedUser);
workspace.Get();
}
}
}
我发现了问题。
最初我是直接用智能感知导入.dll。这样我觉得Visual Studio引用了他自带的dll。我尝试删除所有这些并使用 NuGet 安装 Microsoft.TeamFoundationServer.ExtendedClient
,现在它可以工作了!