Продолжайте сталкиваться с той же самой ссылкой кодплекса ... не очень полезной для этой конкретной реализации метода.После некоторых проб и ошибок я все-таки заставил это работать, и он обошел ошибку «Недопустимый шаблон списка» при попытке создать списки из пользовательского типа контента (то есть BaseTemplate> 100000).Функция берет определение SPList (ListToCopy) из одного SPWeb и копирует его в другой SPWeb (NewWeb).На данный момент единственной отсутствующей ссылкой является последний параметр, docTemplateType, который я был вынужден указать вручную (101 - MS Word).Не уверен, как получить его из списка источников.
public static Guid CopyListDefToAWeb(String SourceWebUrl, SPList ListToCopy, SPWeb NewWeb)
{
Guid newListGuid = Guid.Empty;
if (Convert.ToInt32(ListToCopy.BaseTemplate) < 10000)
{
newListGuid = NewWeb.Lists.Add(ListToCopy.Title, ListToCopy.Description, ListToCopy.BaseTemplate);
}
else
{
String newListUrl = ListToCopy.Title.Replace(" ", String.Empty);
newListGuid = NewWeb.Lists.Add(ListToCopy.Title, ListToCopy.Description, newListUrl, ListToCopy.TemplateFeatureId.ToString(), Convert.ToInt32(ListToCopy.BaseTemplate), "101");
}
return newListGuid;
}