Невозможно деактивировать шаблон сайта (решение) после создания и удаления нового сайта.
В SharePoint 2010 я создал новый шаблон сайта из существующего сайта и нового сайта, используя этот шаблон. После удаления нового сайта я не могу деактивировать шаблон сайта, чтобы иметь возможность удалить его. Вот исключение, которое я получаю:
System.ArgumentException: Value does not fall within the expected range.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Stack Trace:
[ArgumentException: Value does not fall within the expected range.]
Microsoft.SharePoint.SPWebCollection.get_Item(Guid id) +27763375
Microsoft.SharePoint.SPFeatureEnumeratorBase.GetCachedWeb(SPSite site, Guid webId, Guid featureId) +252
[SPFeatureIsOrphanedException: Unable to access web scoped feature (Id: 5c143ca0-e513-4fa5-93a6-a926352c982e) because it references a non-existent or broken web (Id: 196cdf6e-d4a1-4cb6-b962-591aaa3c5f43) on site 'http://win-9o8m2cks1v7'. Exception: System.ArgumentException: Value does not fall within the expected range.
at Microsoft.SharePoint.SPWebCollection.get_Item(Guid id)
at Microsoft.SharePoint.SPFeatureEnumeratorBase.GetCachedWeb(SPSite site, Guid webId, Guid featureId)]
Microsoft.SharePoint.SPFeatureEnumeratorBase.GetCachedWeb(SPSite site, Guid webId, Guid featureId) +22713369
Microsoft.SharePoint.SPFeatureEnumeratorBase.GetNextFeatureFromRowset(GetFeaturesState state, SqlDataReader reader, SPSite site) +464
Microsoft.SharePoint.SPSiteFeatureEnumerator.System.Collections.IEnumerator.MoveNext() +38
Microsoft.SharePoint.SPFeatureQueryResultCollection.System.Collections.IEnumerator.MoveNext() +26338677
Microsoft.SharePoint.SPUserSolutionCollection.RemoveFeatureInstancesAndDefinition(SPFeatureDefinition featdef) +770
Microsoft.SharePoint.SPUserSolutionCollection.Remove(SPUserSolution solution) +279
Microsoft.SharePoint.WebControls.SolutionItemButton.DeactivateItem() +464
Microsoft.SharePoint.WebControls.SPLinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +72
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +29
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2981
Я уже опустошил мусорную корзину. Кто-нибудь знает, как я могу деактивировать и удалить этот шаблон сайта?
2 ответа
Вы говорите, что опустошили корзину. Вы уверены, что выбросили все переработанные предметы в ОБА корзины? Если нет, попробуйте это:
Перейдите на страницу настроек сайта для корневого веб-сайта вашего семейства сайтов. Под заголовком "Администрирование семейства сайтов" щелкните ссылку "Корзина". В меню "Быстрый запуск" выберите "Элементы корзины конечного пользователя", затем выберите все отображаемые элементы и нажмите ссылку "Удалить выбор" в верхней части списка элементов. Теперь выберите "Удалено из корзины конечного пользователя" в меню быстрого запуска и сделайте то же самое.
Теперь вернитесь в галерею решений, и вы сможете деактивировать и удалить свое решение.
Проверьте свой код деактивации. Там у вас есть код, который вызывает эту проблему. Что я предлагаю, так это запустить страницу функций, присоединить visual studio ко всем процессам w3wp и поставить точку останова в деактивации функций. Это должно показать вам, что происходит не так.
Я предполагаю, что вы создаете веб-объект, который больше не существует.