Удалить тип контента во время деактивации функции
Я хочу удалить тип контента программно при деактивации функции. Я написал код для выполнения удаления:
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPWeb webSite =(SPWeb)properties.Feature.Parent)
{
webSite.AllowUnsafeUpdates = true;
// Get the obsolete content type.
SPContentType obsolete = webSite.ContentTypes["Examples8888 - CT1"];
// We have a content type.
if (obsolete != null)
{
IList<SPContentTypeUsage> usages = SPContentTypeUsage.GetUsages(obsolete);
// It is in use.
if (usages.Count <= 0)
{
obsolete.Delete();
// Delete it.
Console.WriteLine("Deleting content type {0}...", obsolete.Name);
webSite.ContentTypes.Delete(obsolete.Id);
}
}
}
});
Но это дает мне ошибку:
The content type is part of an application feature.
Этот тип контента нигде не используется, но я не могу его удалить.
Есть ли способ справиться с этой ошибкой?
Спасибо Прия
1 ответ
Убедитесь, что все ссылки также удалены и удалены из всех корзин.
Например, если список ссылается на тип содержимого, он будет перемещен в корзину, а sharePoint все равно увидит ссылку. Удалите из всех корзин (конечный пользователь и семейство сайтов) и повторите попытку.