0

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

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

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

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

YSOD 截图

4

2 回答 2

0

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

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

于 2020-10-12T11:08:23.950 回答
0

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

我以前也遇到过类似的问题,但我们发现升级为我们替换了丢失的文件,所以不妨试一试升级。

于 2020-03-24T23:09:26.533 回答