首页 > 解决方案 > Sitefinity 从 8.2 升级到 12.2 - 构建成功,但是在运行项目时它卡在中间,似乎什么都没有发生

问题描述

我试图使用 Sitefinity 升级文档将 Sitefinity 从 8.2 升级到 12.2。https://www.progress.com/documentation/sitefinity-cms/122/upgrade-from-sitefinity-cms-8.0-and-below

遵循的步骤:

  1. 从 Nuget 卸载旧版本
  2. 将 .Net 框架更改为 4.7.2
  3. 重新安装所有软件包
  4. 在 assemblyinfo.cs 中添加了一些属性
  5. 安装 Sitefinity 12.2
  6. 已卸载 Thunder、Dropbox 库、Telerik.Sitefinity.MobileAppBuilder、Telerik.Sitefinity.DAM Telerik.Sitefinity.EverliveConnector

现在构建成功了,但是卡住了。需要一些帮助。直接从8.2升级到12.2或者从8.2升级到10再从10升级到12.2可以吗?首选哪种方法?

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

标签: content-management-systemupgradesitefinitysitefinity-8

解决方案


从您帖子评论中的错误消息中:

Value of 'null' is not valid for 'stream'... 
Telerik.Sitefinity.Modules.Pages.PageTemplateHelper.UpdateDefaultTemplateImages(PageManager pageManager, LibrariesManager librariesManager, Album album) at Telerik.Sitefinity.Modules.Libraries.LibrariesModule.Upgrade(SiteInitializer initializer, Version upgradeFrom) at Telerik.Sitefinity.Services.ModuleBase.Install(SiteInitializer initializer, Version upgradeFrom) at Telerik.Sitefinity.Services.SystemManager.InitializeModuleTelerik.Sitefinity.Modules.Pages.PageTemplateHelper.UpdateDefaultTemplateImages(PageManager pageManager, LibrariesManager librariesManager, Album album) at 
Telerik.Sitefinity.Modules.Libraries.LibrariesModule.Upgrade
(SiteInitializer initializer, Version upgradeFrom) at Telerik.Sitefinity.Services.ModuleBase
.Install(SiteInitializer initializer, Version upgradeFrom) at Telerik.Sitefinity.Services.SystemManager.InitializeModule

由于页面模板缩略图的问题,升级似乎失败了。

我建议你对数据库运行这个 SQL 脚本——它将返回页面模板缩略图的所有图像记录(媒体内容):

select * from sf_media_content as mc
join sf_content_link as cl
on cl.child_item_id = mc.content_id
where parent_item_type = 'Telerik.Sitefinity.Pages.Model.PageTemplate'

查看返回的结果,看看是否有任何可疑的结果。

将结果导出到 csv 以便于访问。

然后做一个数据库备份。

然后,您可以选择其中一张图片,例如 default_url 为:/images/SystemLibrariesProvider/template-thumbnails/mvc_default 的图片并记录其 content_id,例如 78EB6662-F8C9-4A2E-85CA-966898D433F1

然后执行这条 SQL:

update sf_content_link
set child_item_id = '78EB6662-F8C9-4A2E-85CA-966898D433F1'
where parent_item_type = 'Telerik.Sitefinity.Pages.Model.PageTemplate'

然后终止进程并启动站点。

如果该图像良好,则应该继续升级,如果您不走运 - 然后从您的 CSV 中选择另一个 content_id 并使用新 ID 运行相同的更新 sql 脚本。重新启动并重复,直到它工作。

如果一切顺利 - 您最终会得到具有相同缩略图的所有页面模板,但这不是关键问题,可以稍后修复。


推荐阅读