我如何将 umbraco 6 实时站点迁移到 visual studio 中的版本 7 站点?

How might I migrate an umbraco 6 live site a to version 7 site in visual studio?

我被交给了升级内部网站的工作,因为我是开发人员。 当前站点在 umbraco 6 下 运行,我被告知它已损坏。 我的机器上 visual studio 2015 上有 umbraco 7 运行。 要求我把网站迁移到我的机器上,确保运行,签入,让老板拉过来检查,最后发布。

我如何从(可能)损坏的第 6 版实时站点中提取页面设计、内容和自定义代码,并将其导入我机器上的第 7 版站点运行?

首先我会备份数据库并将其恢复为新版本以进行测试。

类似于网站名称。umbraco7.cms

关于数据库损坏,您有哪些详细信息?

这样你可以根据需要多次破解它,直到你做对为止。

如果可以的话,我会尝试升级 nuget 包吗? 从 6-7 升级应该不是一个大问题,它将执行数据库升级。 您需要确保 umbraco 配置使用 Webforms 而不是默认的 MVC razor 视图。有关更多信息,请参见此处:https://our.umbraco.org/documentation/reference/templating/

If you prefer to work with Webforms, you can change the default template engine in the /Config/umbracoSettings.config file, find this section and set the type you'd like to use (Mvc or WebForms):

<templates>
    <defaultRenderingEngine>WebForms</defaultRenderingEngine>
</templates>

另一种选择是创建一个新的干净解决方案并安装要升级到的最新 Umbraco 版本。安装后,将连接字符串重置为您当前的站点数据库,并将 umbracoConfigurationStatus appSetting 设置为您当前使用的版本。

<add key="umbracoConfigurationStatus" value="7.7.1" />

当您第一次构建和 运行 网站时,它会识别出您已经安装了 umbraco 并将在此解决方案中执行更新。

干净的 umbraco 安装将默认使用 Razor 模板,您可能需要将其切换回 webforms(参见之前关于此的评论)或手动将视图从 webforms 迁移到 razor。

我无法充分表达在生产数据库之外执行此操作的要求,进行备份并 运行 根据需要多次执行此过程,直到获得干净的构建。

如有疑问,请参阅升级文档:https://our.umbraco.org/documentation/getting-started/setup/upgrading/general

需要注意的一件事是,在 v6 和 v7 之间,DataTypes 的工作方式发生了巨大变化,所以如果你有一个相当普通的 umbraco 网站,你可以直接升级,但如果你使用第三个派对包等,那么你也必须更新它们。