есть надежное и безопасное средство:
1 - создать список с пользовательским интерфейсом SharePoint
2 - добавить столбец в список в пользовательском интерфейсе SharePoint
Создайте аппликативную страницу, которая получает схему списка, и все готово:
SPList mylist=SPContext.Current.Web.Lists["myNewList"];
string schema = mylist.SchemaXml;
schema = schema.Replace("<", "<");
schema = schema.Replace(">", ">");
string myAddedColumnSchema = mylist.Fields["MyAddedColumn"].SchemaXml;
myAddedColumnSchema = myAddedColumnSchema .Replace("<", "<");
myAddedColumnSchema = myAddedColumnSchema .Replace(">", ">");
Response.Write(schema);
Response.Write("<br>");
Response.Write("<br>"); Response.Write(myAddedColumnSchema );
Response.Write("<br>");
Response.Write("<br>");
Это дает вам схему списка с полем, а также только строку поля в схеме списка (конечно, скопируйте результат в Visual Studio и используйте «Формат документа», потому что на веб-странице он просто нечитаем.
Вы не можете использовать эту схему списка, скопировав и вставив ее в схему списка SharePoint 2010, но вы можете найти место, в котором XAML соответствует вашему настраиваемому полю.
После этого вам нужно создать пользовательский тип контента только для вашего настраиваемого поля.
В SharePoint 2007 вы можете поместить локальный тип контента, соответствующий настраиваемому полю, в схему списка, но ЭТО ЗАВЕРШЕНО. (Я думаю ... если кто-то может это сделать, я буду рад ошибаться; -))
Затем установите функцию списка с новой схемой и активируйте ее на сайте.
Затем установите функцию «Тип контента» и активируйте ее.
Затем создайте список на основе новой схемы, разрешите выбор типа контента для этого списка и добавьте новый тип контента.
Все элементы, основанные на новом типе контента, смогут использовать новое поле.