If you get “Site Content Type in Use” error while deleting the content type.
Change the default content type for the list/library, which uses this content type.
Then try to delete the content type.
|
||||||
Site Content Type in Use – Error while Deleting Content TypeIf you get “Site Content Type in Use” error while deleting the content type.
Change the default content type for the list/library, which uses this content type. Then try to delete the content type. 2 comments to Site Content Type in Use – Error while Deleting Content TypeLeave a Reply |
||||||
Copyright © 2024 MSTechBlogs - All Rights Reserved Powered by WordPress & Atahualpa |
How to find in which libraries this content type is used?
Refer to the discussion in my forum :
http://www.mstechblogs.com/Forums/viewtopic.php?f=8&p=12&sid=cee7f065bed1fc88d9759c66b373d4dd#p12
You can use Object Model to find :
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”];
if (obsolete != null) // We have a content type. usages = SPContentTypeUsage.GetUsages(obsolete);
{
IList
if (usages.Count > 0) // It is in use.
{
Console.WriteLine(“The content type is in use in the following locations:”);
foreach (SPContentTypeUsage usage in usages)
Console.WriteLine(usage.Url);
}
else // The content type is not in use.
{
// Delete it.
Console.WriteLine(“Deleting content type {0}…”, obsolete.Name);
webSite.ContentTypes.Delete(obsolete.Id);
}
}
else // No content type found.
{
Console.WriteLine(“The content type does not exist in this site collection.”);
}
}
}
Console.Write(“\nPress ENTER to continue…”);
Console.ReadLine();
}
}
}
Other Option would be using SQL query (beware its bit risky)
SELECT *
FROM AllUserData
WHERE (tp_DirName LIKE ‘%’)
AND ((tp_ContentType = ‘Document’) and tp_ListId=’C8723B19-0DAB-4F19-B195-3399D5375752′)
You will find items referenced by content type. Delete this referenced items using query below.
DELETE
FROM AllUserData
WHERE (tp_DirName LIKE ‘%’)
AND ((tp_ContentType = ‘Document’) and tp_ListId=’C8723B19-0DAB-4F19-B195-3399D5375752′)