Тип контента для SharePoint 2010 был создан с помощью фичи (возможности). В нее входили столбцы сайта, типы контента и список, использующий несколько типов контента. В один момент при добавлении из Visual Studio нового поля в типы контента в журнале заметил, что VS не может обновить типы контента. Попытка удалить через веб-интерфейс привела к ошибке.

Дальше начался траблшутинг:

  1. Попробовал удалить типы контента. Зашел в раздел "Параметры сайта / Типы контента сайта", выбрал нужный тип, удалить. Ошибка " Тип контента "Квартира" является частью компонента приложения"
  2. Удалил сайт, на котором были список и фичи и создал новый сайт с таким же именем. Типы контента остались на месте, удаление закончилось ошибкой как и в п.1.
  3. Попробовал удалить через консоль SharePoint.

 

В результате снова ошибка:

Microsoft.SharePoint.SPException: Тип контента "Квартира" является частью компонента приложения.  
 at Microsoft.SharePoint.SPContentTypeCollection.DeleteFromWeb(SPContentTypeId id, String strName)   
 at Microsoft.SharePoint.SPContentTypeCollection.Delete(SPContentTypeId id)   
 at Microsoft.SharePoint.SPContentType.Delete()   
 at Microsoft.SharePoint.ApplicationPages.ManageContentTypePage.DeleteContentType()   
 at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)   
 at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

 

Удалению типа контента мешало то, что существовал список, использующий тот самый тип, который я хотел удалить. Тип контента был опубликован на уровне SPWeb. При удалении SPWeb вместе с содержимым перемещается в корзину. Не удаляет, а перемещает! Поэтому для исправления ошибки нужно просто зайти в корзину и удалить из нее сайт. Можно вообще просто очистить корзину.