Ошибка при импорте решения в Visual Studio 2010 и при применении веб-шаблона - PullRequest
1 голос
/ 05 октября 2010

Я пытаюсь импортировать решение из wsp-файла в проект SharePoint 2010 в Visual Studio 2010. Файл решения получается из шаблона сайта, который я экспортировал, используя опцию «Safe as template» веб-сайта.

После выбора файла решения, которое я экспортировал, и указания отдельных элементов, которые я хочу импортировать (я выбираю все), Visual Studio начинает импортировать решение. Когда он завершает работу с последним элементом, отображается сообщение об ошибке:

Операция импорта решения SharePoint завершена, но с ошибками. В результате проект может не развернуться успешно.

Чтобы проверить, был ли импорт в порядке или поврежден, я снова упаковал решение и попытался повторно развернуть его с помощью кода, создав новую коллекцию веб-сайта, загрузив файл решения (в комплекте с Visual Studio) как пользовательское решение (изолированное решение) коллекция веб-сайтов, активация всех функций решения и применение веб-шаблона к корневому веб-сайту семейства веб-сайтов. В точке, где применяется шаблон, требуется много времени, пока не произойдет SPException со следующим сообщением:

<nativehr>0x80131600</nativehr><nativestack></nativestack>

Сообщение внутреннего исключения на самом деле не лучше, оно говорит:

<nativehr>0x8107058a</nativehr><nativestack></nativestack><nativehr>0x80131600</nativehr><nativestack></nativestack>

StackTrace:

  [COMException (0x8107058a): <nativehr>0x8107058a</nativehr><nativestack></nativestack><nativehr>0x80131600</nativehr><nativestack></nativestack>]
   Microsoft.SharePoint.Library.SPRequestInternalClass.ApplyWebTemplate(String bstrUrl, String bstrWebTemplateContent, Int32 fWebTemplateContentFromSubweb, Int32 fDeleteGlobalListsWithWebTemplateContent, String& bstrWebTemplate, Int32& plWebTemplateId) +0
   Microsoft.SharePoint.Library.SPRequest.ApplyWebTemplate(String bstrUrl, String bstrWebTemplateContent, Int32 fWebTemplateContentFromSubweb, Int32 fDeleteGlobalListsWithWebTemplateContent, String& bstrWebTemplate, Int32& plWebTemplateId) +172

[SPException: <nativehr>0x80131600</nativehr><nativestack></nativestack>]
   Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx) +27257906
   Microsoft.SharePoint.Library.SPRequest.ApplyWebTemplate(String bstrUrl, String bstrWebTemplateContent, Int32 fWebTemplateContentFromSubweb, Int32 fDeleteGlobalListsWithWebTemplateContent, String& bstrWebTemplate, Int32& plWebTemplateId) +27639363
   Microsoft.SharePoint.SPWeb.ApplyWebTemplate(String strWebTemplate) +1218
   Microsoft.SharePoint.ApplicationPages.TemplatePickerUtil.ApplyWebTemplateAndRedirect(SPWeb Web, String strWebTemplate, Nullable`1 bSharedNav, Boolean bOnTopNav, Boolean bOnQuickLaunch, Page page, Boolean bDeleteOnError) +1870
   Microsoft.SharePoint.ApplicationPages.TemplatePickPage.BtnSubmit_Click(Object sender, EventArgs e) +129
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +115
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +140
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +29
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2981

Чтобы проверить, что ошибка является результатом процесса импорта или упаковки решения, я использовал тот же код для создания коллекции веб-сайтов, но на этот раз с использованием исходного wsp-файла, который не был импортирован в Visual Studio и снова упакован. И на этот раз веб-шаблон может быть применен без каких-либо ошибок.

Поэтому мне интересно, что я делаю неправильно, когда я импортировал решение в Visual Studio или когда я снова упаковал решение.

1 Ответ

1 голос
/ 03 августа 2011

Если вы проверите окно вывода Visual Studio после импорта, вы скорее всего увидите что-то подобное в выводе «Инструменты SharePoint»

Общее количество товаров для импорта: 161 Всего импортированных товаров: 158 Общее количество предметов, не импортированных из-за ошибок: 3

Затем, если вы прокрутите вверх строки, в которых подробно описывается, что импортируется, вы увидите описательные ошибки для каждого элемента, который не прошел.

В моем случае это было

Модуль импорта: _catalogswfpubApproval - SharePoint 2010_Features \ ReviewWorkflowsSPD1033 ... Произошла ошибка при импорте модуля: _catalogswfpubApproval - SharePoint 2010_Features \ ReviewWorkflowsSPD1033 '

Указанный путь, имя файла или оба они слишком длинные. Полное имя файла должно содержать не более 260 символов, а имя каталога должно содержать не более 248 символов.

Что достаточно ясно.

Я просто воссоздал проект с путем к проекту, близким к системному корню, и он успешно импортирован.

...