【问题标题】:YSOD Could not load file or assembly CMS.DataEngine - after Kentico 11.0.0 upgrade to Kentico 12 SP1YSOD 无法加载文件或程序集 CMS.DataEngine - 在 Kentico 11.0.0 升级到 Kentico 12 SP1 之后
【发布时间】:2020-04-04 23:00:20
【问题描述】:

刚刚使用 MVC 将 Kentico 11.0.0 升级到使用 https://docs.kentico.com/k12sp/installation/upgrading-to-kentico-12 的 Kentico 12 SP1

升级过程中没有问题。

Kentico CMS 在本地 IIS 和 Azure 应用程序上运行良好。

MVC 站点在本地 IIS 上运行良好。

但 staging MVC 站点在 Azure 应用程序中显示此错误:

“/”应用程序中的服务器错误。 无法加载文件或程序集 'CMS.DataEngine,版本=11.0.0.0,文化=中性, PublicKeyToken=834b12a258f213f9' 或其依赖项之一。这 定位程序集的清单定义与程序集不匹配 参考。 (HRESULT 异常:0x80131040)

【问题讨论】:

  • 如果解决方案中添加了任何自定义程序集项目或自定义类,请检查它们的引用 - 可能其中之一仍在引用旧版本的 DLL。如果您正在使用它,我还会检查全局程序集缓存并刷新引用。

标签: asp.net-mvc azure-web-app-service kentico


【解决方案1】:

发布时必须删除旧文件

警告

在执行此操作之前备份您的 Kentico CMS 发布版本的媒体文件夹。那是存储媒体库文件的地方。数据库只包含一个引用。发布并确认 CMS 已启动后,您将在媒体库应用程序中的每个图像旁边看到一个黄色感叹号。从备份中恢复文件夹,以便媒体库文件同步。

【讨论】:

    【解决方案2】:

    我发现来自 kentico 11 的几个 DLL 留在了 bin 文件夹中,这就是导致此错误的原因,而 VS 项目编译成功而没有任何问题:

    一旦我删除它们,它们都开始正常工作并且网站成功加载。

    【讨论】:

      【解决方案3】:

      我有同样的错误。 Lib文件夹存在于文件资源管理器的解决方案文件夹中,但与以前的版本(Kentico 11)不同,当我执行升级时,Lib文件夹不在Visual Studio中的解决方案下!我已经在解决方案下的 Visual Studio 中添加了该文件夹,其中包含 Lib 文件夹中的所有 DLL 和 XML 文件。我已经执行了“干净的解决方案”,构建了所有项目并发布了它。现在可以了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-26
        • 2017-04-03
        • 1970-01-01
        • 2018-03-14
        • 1970-01-01
        相关资源
        最近更新 更多