1

我正在尝试将解决方案从 wsp 文件导入到 Visual Studio 2010 中的 SharePoint 2010 项目中。解决方案文件来自我使用网站的“安全模板”选项导出的网站模板。

选择我导出的解决方案文件并指定要导入的单个项目(我全选)后,Visual Studio 开始导入解决方案。当它完成最后一项时,它会显示一条错误消息:

SharePoint 解决方案导入操作已完成,但出现错误。因此,项目可能无法成功部署。

为了检查导入是否正常或损坏,我再次打包了解决方案,并尝试通过创建新网站集合的代码重新部署它,将解决方案文件(与 Visual Studio 打包)作为用户解决方案(沙盒解决方案)上传到网站集合,激活解决方案的所有功能并将 Web 模板应用到网站集的根网站。在应用模板时,需要很长时间才能发生 SPException 并显示以下消息:

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

内部异常的消息并不是真的更好,它说:

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

堆栈跟踪:

  [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

为了验证错误是由解决方案导入或打包过程引起的,我使用相同的代码创建网站集合,但这次使用未导入 Visual Studio 并再次打包的原始 wsp 文件。这一次,可以应用 Web 模板而不会出现任何错误。

所以我想知道当我将解决方案导入 Visual Studio 或再次打包解决方案时我做错了什么。

4

1 回答 1

1

如果您在导入后检查 Visual Studio 输出窗口,您可能会在“SharePoint Tools”输出中看到类似的内容

要导入的项目总数:161 成功导入的项目总数:158 因错误未导入的项目总数:3

然后,如果您在详细说明正在导入的内容的行中向上滚动,您将看到每个失败项目的描述性错误。

在我的情况下,它是

导入模块:_catalogswfpubApproval - SharePoint 2010_Features\ReviewWorkflowsSPD1033... 导入“模块:_catalogswfpubApproval - SharePoint 2010_Features\ReviewWorkflowsSPD1033”时出错

指定的路径、文件名或两者都太长。完全限定的文件名必须少于 260 个字符,目录名必须少于 248 个字符。

这很清楚。

我只是用靠近系统根目录的项目路径重新创建了项目,并成功导入。

于 2011-08-03T19:47:10.780 回答