その同じ codeplex リンクに実行し続けます...この特定のメソッドの実装にはあまり役に立ちません。いくつかの試行錯誤の後、私はこれを機能させ、カスタム コンテンツ タイプ (つまり、BaseTemplate > 100000) からリストを作成しようとすると、「無効なリスト テンプレート」エラーを回避しました。この関数は、ある SPWeb から SPList 定義 (ListToCopy) を取得し、それを別の 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;
}