Sharepoint 2013 Sharepoint 2013-分类法-Microsoft.Sharepoint.Taxonomy.TaxonomySession.GetTaxonomySession”;

Sharepoint 2013 Sharepoint 2013-分类法-Microsoft.Sharepoint.Taxonomy.TaxonomySession.GetTaxonomySession”;,sharepoint-2013,taxonomy,csom,Sharepoint 2013,Taxonomy,Csom,我正在使用C#更新管理元数据字段。 下面是获取term的TermId的代码 string termId = string.Empty; try { TaxonomySession tSession = TaxonomySession.GetTaxonomySession(CC); TermStore termStore = taxonomySession.GetDefaultSiteCollecti

我正在使用C#更新管理元数据字段。 下面是获取term的TermId的代码

        string termId = string.Empty;

        try
        {
            TaxonomySession tSession = TaxonomySession.GetTaxonomySession(CC);
            TermStore termStore = taxonomySession.GetDefaultSiteCollectionTermStore();
            TermSet tset = ts.GetTermSet(termSetId); // I have proper Guid here, checked this in SharePoint 2013 server.

            LabelMatchInformation lmi = new LabelMatchInformation(CC);

            lmi.Lcid = 1033;
            lmi.TrimUnavailable = true;
            lmi.TermLabel = "xyz"; //Name of the term.

            TermCollection termMatches = tset.GetTerms(lmi);

            CC.Load(tSession);
            CC.Load(ts);
            CC.Load(tset);
            CC.Load(termMatches);
            CC.ExecuteQuery();

            if (termMatches != null && termMatches.Count() > 0)
                termId = termMatches.First().Id.ToString();
        }
        catch (Exception ex)
        {
            var d = ex.Message;
        }

        return termId;

    }
但我得到的例外是: “无法从null对象调用方法或检索属性。以下调用堆栈返回的对象为null。\”GetDefaultSiteCollectionTermStore\r\nMicrosoft.SharePoint.Taxonomy.TaxonomySession.GetTaxonomySession“

我曾尝试从Sharepoint2013手动加载,在那里效果很好。 少了什么吗? 谢谢你的帮助

  • 转到托管元数据服务(central admin中的服务内应用程序)
  • 选择托管元数据服务代理(尝试单击文本周围的空白区域,而不是文本本身),然后单击属性
  • 设置应用程序为关键字和术语集的默认存储

  • 归功于用户1545314和谷歌