Код ниже работает для меня. Это было взято из этого сообщения на форуме . Обратите внимание, что невозможно удалить страницу публикации, если она задана в качестве целевой страницы по умолчанию.
try
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(p_sSitePath))
{
using (SPWeb web = site.OpenWeb())
{
PublishingWeb pubWeb = null;
if (PublishingWeb.IsPublishingWeb(web))
{
pubWeb = PublishingWeb.GetPublishingWeb(web);
foreach (SPListItem currentItem in pubWeb.PagesList.Items)
{
if(PublishingPage.IsPublishingPage(currentItem))
{
PublishingPage page = PublishingPage.GetPublishingPage(currentItem);
if (page.Name != pubWeb.DefaultPage.Name)
{
currentItem.File.Delete();
}
}
}
}
}
}
});
}
catch (Exception ex)
{
}