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();
}
}
}
Créer une Application de Console avec le code ci-dessus et lancer ce projet. Ce code va vous dire les bibliothèques dans lesquelles ces types de contenu sont attachés. Alors allez simplement que les bibliothèques et les supprimer le joint types de contenu. Puis, enfin, supprimer le type de contenu de Site de des Actions du Site> Paramètres -> Types de Contenu de Site ou vous pouvez utiliser le code ci-dessus ainsi à supprimer le type de contenu.
Cela a fonctionné pour moi, l'espoir il peut également travailler pour vous !!!
Merci.