在Visual Studio 2010中导入解决方案期间以及应用Web模板时出错

时间:2010-10-05 15:29:11

标签: visual-studio-2010 sharepoint-2010 sitetemplate

我正在尝试将解决方案从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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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

就我而言,它是

  

导入模块:_catalogswfpubApproval - SharePoint 2010_Features \ ReviewWorkflowsSPD1033 ...   导入“Module:_catalogswfpubApproval - SharePoint 2010_Features \ ReviewWorkflowsSPD1033”

时出错      

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

这很清楚。

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