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

将 Kentico 11 升级到 Kentico 12 SP1 后出现以下错误。

我采取的行动: 1.我已经删除了Kentico dll的所有引用并添加了新的引用。 2. BIN文件夹和VS中的所有DLL(解决方案和发布的网站)都属于版本12,而不是错误上写的11。还有相关的依赖项(我有它与 ILSPY)。 3. 我删除了 C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/ 的所有文件 4. 我清除了缓存并重置了 IIS。 5. 该程序集没有出现在我的解决方案的任何文件中(甚至没有出现在 WEB.config 中)。 6. 我检查了项目 Web.csproj 的文件,它包含没有版本、Culture 和 PublicKeyToken 的程序集 (CMS.DataEngine) - 我像其他 kentico 程序集一样添加了它 没有版本 11.0.0.0 的迹象,为什么网站要搜索那个版本???

谢谢你,

【问题讨论】:

    标签: c# asp.net .net content-management-system kentico


    【解决方案1】:

    如果您在升级过程中收到任何错误,这可能会导致 /Lib 目录中的 DLL 无法更新。

    我建议转到 /Lib 目录并检查文件属性以确保您的文件版本为 12.0.xxx 而不是 11.0.xxx 版本。升级后应该不需要手动重新添加/更新项目中的引用。

    在 /Lib 目录中验证您的 DLL 版本后,删除 /CMS/Bin 目录并重建您的应用程序。

    【讨论】:

    • 嗨,布伦登,我经常这样做。这些路径中的所有 Kentico DLL 文件都属于版本 12: - CMS/Bin - Custom Projects/Bin -Lib -Bin 文件夹在已发布的网站中。 VS中Kentico的所有DLL引用都是12版,没有11版的迹象
    • @idan 你的web.config 中有绑定重定向,告诉ASP.NET 尝试加载CMS.DataEngine 程序集的旧版本(11.0)吗?
    • @idan 有时,另一个正在寻找特定版本的依赖程序集的程序集可能会导致加载错误的版本。检查您的 /bin 是否有任何 11.0.x CMS.*.dll 文件
    • 如果您有自定义程序集项目,请删除对 Kentico DLL 的所有引用并重新添加它们,选择 v12 DLL。
    • 我建议安装一个新的 Kentico 实例并查看 web.config 文件和参考,以确保您的项目设置正确。我们在每次执行升级时都会验证这一点。
    【解决方案2】:

    我找到了解决办法。 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
      相关资源
      最近更新 更多