Kentico 错误文件“/CMSModules/Chat/Controls/SupportChatHeader.ascx”不存在

Kentico error The file '/CMSModules/Chat/Controls/SupportChatHeader.ascx' does not exist

我正在尝试设置用于将 Kentico 11 升级到 12 的开发机器。版本 11 受 TFS 源代码控制,并且包未添加到源代码控制。

在开发机器上,我使用 NuGet 添加了 Kentico.Libraries 和 Kentico.Libraries.Web.UI 包。

开发机器上的解决方案正在编译,但当我尝试浏览到 Kentico CMS 时出现此运行时错误

The file '/CMSModules/Chat/Controls/SupportChatHeader.ascx' does not exist

我的假设是丢失的文件已被删除或未添加到 TFS,这在某种程度上可以解释它们的缺失。如果您有其他正常运行的环境(UAT 或可能是生产环境),那么我会考虑从它们复制回文件以更新本地环境。

我以前遇到过一次类似的问题,但我们发现升级为我们替换了丢失的文件,因此值得尝试一下升级。

我在使用 Kentico 修补程序升级时遇到过几次这个问题。在我的特殊情况下,我不需要 CMS.Chat 模块,因此通过 Kentico 安装管理器将其卸载。但是,因为我的 CMS 项目引用了 Kentico.Libraries NuGet 包,所以我的 CMSApp 项目将程序集引用添加回 CMS.Chat.dll 程序集 - 这次是从 NuGet 包文件夹中引用。

在这种情况下,我只是删除了对我不需要的 DLL 的程序集引用,这样它们就不会被复制到 bin 文件夹中。我认为如果 DLL 存在于 bin 文件夹中,那么 Kentico 认为该模块存在,然后将尝试加载控件,但当然如果 Kentico 模块被卸载,那么 ASCX 文件也会被卸载,这是是什么导致了异常。