我正在尝试将解决方案从 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 或再次打包解决方案时我做错了什么。