Posted on:
Categories: SharePoint;PowerShell
Description:

Scenario

You open a Site using SharePoint Designer, when you click on "List and Libraries", no Lists are displayed.

Solution

  1. ULS Logs shows the following Stack Trace:
    1. Original error: System.ArgumentException: Feature '32fc3d44-5bbb-4ea5-84f7-3c4f277fe138' for list template '10000' is not installed in this farm. The operation could not be completed.
      at Microsoft.SharePoint.SPFeatureManager.<>c__DisplayClass19.<GetFeatureRootAndListSchemaPaths>b__18()
      at Microsoft.SharePoint.SPSecurity.RunAsUser(SPUserToken userToken, Boolean bResetContext, WaitCallback code, Object param)
      at Microsoft.SharePoint.SPFeatureManager.GetFeatureRootAndListSchemaPaths(Byte[]& userToken, Guid& tranLockerId, Int32 nZone, Guid databaseid, Guid siteid, Guid webid, Guid featid, Int32 ltid, String& sPathToFeatureRoot, String& sPathToSchemaXml)
      at Microsoft.SharePoint.Library.SPRequestInternalClass.GetListContentTypes(String bstrUrl, String bstrListName, ISPDataCallback pXMLCallback)
      at Microsoft.SharePoint.Library.SPRequest.GetListContentTypes(String bstrUrl, String bstrListName, ISPDataCallback pXMLCallback)
      at Microsoft.SharePoint.SPContentTypeCollection.FetchCollection(IList`1 exceptions) at Microsoft.SharePoint.SPList.get_DefaultContentTypeOrder()
      at Microsoft.SharePoint.SPFolder.get_ContentTypeOrder() at Microsoft.SharePoint.SPFolder.get_ContentTypeOrder_Client()
      at Microsoft.SharePoint.ServerStub.SPFolderServerStub.WriteOnePropertyValueAsJson(JsonWriter writer, Object target, ClientQueryProperty field, ProxyContext proxyContext)
      at Microsoft.SharePoint.Client.ServerStub.WriteAsJson(JsonWriter writer, Object obj, ClientObjectQuery objectQuery, ProxyContext proxyContext)
      at Microsoft.SharePoint.Client.ServerStub.WriteAsJsonWithMonitoredScope(JsonWriter writer, Object value, ClientObjectQuery objectQuery, ProxyContext proxyContext)
  2. Based on this, it looks like we have a List which was deployed by a feature, and that feature no longer exists on the farm.
  3. Let's find the list and delete it. Alternatively, if you can find the wsp, you can re-reploy it.
  4. I used the following script to find and delete the list:
    1. $web = get-spweb http://site;
    2. $list = $web.Lists | ? {$_.TemplateFeatureId -eq "32fc3d44-5bbb-4ea5-84f7-3c4f277fe138"};
    3. $list.delete();
  5. SharePoint Designer will now display all the lists.