我正在使用C#更新管理元数据字段。 以下是获取术语的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;
}
但是我得到的异常是:“无法从空对象调用方法或检索属性。以下调用堆栈返回的对象为空。“GetDefaultSiteCollectionTermStore \r\nMicrosoft.SharePoint.Taxonomy.TaxonomySession.GetTaxonomySession”。
我已经尝试手动从Sharepoint2013加载,那里运行良好。是否有什么遗漏?感谢您的帮助。