C# API资源位置未注册

C# API资源位置未注册,c#,.net,tfs,tfs-sdk,C#,.net,Tfs,Tfs Sdk,我能够创建项目/删除/重命名所有内容,但当它用于获取组时,它会说“API资源位置ebbe6af8-0b91-4c13-8cf1-777c14858188未在上注册”,请帮助 public PagedGraphGroups GetAllGroups() { VssConnection connection = Context.Connection; GraphHttpClient graphClient = connection.GetClient<G

我能够创建项目/删除/重命名所有内容,但当它用于获取组时,它会说“API资源位置ebbe6af8-0b91-4c13-8cf1-777c14858188未在上注册”,请帮助

public PagedGraphGroups GetAllGroups()
    {
        VssConnection connection = Context.Connection;
        GraphHttpClient graphClient = connection.GetClient<GraphHttpClient>();
        //error coming in next line...
        PagedGraphGroups groups = graphClient.GetGroupsAsync().Result;

        foreach (var group in groups.GraphGroups)
        {
            LogGroup(group);
        }

        return groups;
    }
public PagedGraphGroups GetAllGroups()
{
VssConnection connection=Context.connection;
GraphHttpClient graphClient=connection.GetClient();
//下一行出现错误。。。
PagedGraphGroups=graphClient.GetGroupsAsync().Result;
foreach(groups.GraphGroups中的变量组)
{
对数组(组);
}
返回组;
}
您可以使用ListApplicationGroups来获取应用程序组列表

TeamFoundationIdentity[] ListApplicationGroups(
    string scopeId,
    ReadIdentityOptions readOptions
)
示例代码

var applicationGroups = identityManagementService.ListApplicationGroups(projectcollection.Uri.AbsoluteUri, ReadIdentityOptions.None);

再看看这个类似的问题:

这可能有两个问题

API资源位置{0}未在{1}上注册

1。使用URL

我认为它应该没有默认集合,所以在您的示例中

2。使用TFS/API版本(我自己也有这个问题)

2.1

首先在TFS管理中检查TFS服务器的版本 比如说

C:\程序文件\微软Team Foundation Server 2018 \Too\TFSMGMT.exe

了解TFS服务器版本后,您可以查看它支持的API版本

例如,TFS 2018更新1支持API版本4.0

2.2

然后检查您使用的DLL调用的API版本。我在nuget网站上找不到这个信息

更新:您可以在此处检查哪个dll版本支持哪个TFS版本:

但正如这里所描述的 您可以使用ILSpy检查方法传递的API版本

在您的情况下,方法是:

GetGroupsAsync

您可以使用

就我而言,它看起来是这样的

因此,nuget版本16.153.0的API使用5.1.1调用

因此,在我的情况下,TFS 2018 UPDATE 1不支持API版本5.1.1,因此我将需要降级nuget或升级TFS服务器版本(或两者兼有)