我正在尝试根据我保存的模板创建一个列表 . 下面的代码应该得到名称为"ContactList"的列表,但我总是得到一个错误,即该名称的列表不存在 . (也尝试过功能ID)

var listTemplate = site.ListTemplates.First(lt => lt.Name == "ContactList");

如果我循环遍历所有列表模板,我只会返回“标准”模板 . 如果我按“添加应用程序”,我可以看到我的模板列表在那里,我可以添加它 .

clientContext.Load(site, s => s.ListTemplates);
     foreach (var s in site.ListTemplates)

如何按代码添加基于现有模板的列表?或者甚至可以这样做?我只能添加一个标准的“自定义列表”

整码:

var site = clientContext.Web;

        clientContext.Load(site, s => s.ListTemplates);
        clientContext.ExecuteQuery();

        var listCreationInfo = new ListCreationInformation
        {
            Title = "ContactTest",
            Description = "ContactTest",
        };

        var listTemplate = site.ListTemplates.First(lt => lt.Name == "ContactList");
        listCreationInfo.TemplateFeatureId = listTemplate.FeatureId;
        listCreationInfo.TemplateType = listTemplate.ListTemplateTypeKind;
        site.Lists.Add(listCreationInfo);
        clientContext.ExecuteQuery();