using System;
using System.Collections.Generic;
using Microsoft.SharePoint;
namespace Test
{
class ConsoleApp
{
static void Main(string[] args)
{
using (SPSite siteCollection = new SPSite("http://localhost"))
{
using (SPWeb webSite = siteCollection.OpenWeb())
{
// Get the obsolete content type.
SPContentType obsolete = webSite.ContentTypes["Test"];
// We have a content type.
if (obsolete != null)
{
IList usages = SPContentTypeUsage.GetUsages(obsolete);
// It is in use.
if (usages.Count > 0)
{
Console.WriteLine("The content type is in use in the following locations:");
foreach (SPContentTypeUsage usage in usages)
Console.WriteLine(usage.Url);
}
// The content type is not in use.
else
{
// Delete it.
Console.WriteLine("Deleting content type {0}...", obsolete.Name);
webSite.ContentTypes.Delete(obsolete.Id);
}
}
// No content type found.
else
{
Console.WriteLine("The content type does not exist in this site collection.");
}
}
}
Console.Write("\nPress ENTER to continue...");
Console.ReadLine();
}
}
}
Создайте консольное приложение с приведенным выше кодом и запустите этот проект.Этот код расскажет вам о библиотеках, к которым прикреплены типы контента.Затем просто зайдите в эти библиотеки и удалите прикрепленные типы контента.Затем, наконец, удалите тип контента из Действия сайта -> Настройки сайта -> Типы контента сайта, или вы также можете использовать вышеуказанный код, чтобы удалить тип контента.
Это сработало для меня, надеюсь, оно также может работать на вас!!!Спасибо.