从外部应用程序查询Kentico博客文章时,导致“对象类型'cms.licensekey'找不到”的原因是什么?

时间:2017-05-30 18:27:40

标签: c# kentico

从外部(桌面)应用程序查询Kentico 8博客文章时,我得到一个例外:

  

[ObjectQueryBase.Object]:找不到对象类型'cms.licensekey'。

我可以毫无问题地查询网页,网站设置等。

代码:

CMSApplication.Init();
DataSet posts = BlogHelper.GetBlogPosts(siteName, aliasPath, null, true, null, null, true);

2 个答案:

答案 0 :(得分:2)

此错误表示Kentico无法初始化包含cms.licensekey对象类型定义的模块。在这种情况下,我们讨论的是CMS.LicenseProvider.dll程序集中包含的许可模块。

这通常可能是由于无法定位DLL本身或其中一个依赖项(或其依赖项,递归)。

在Kentico 10中,依赖关系是:

  • CMS.Core
  • CMS.Base
  • CMS.DataEngine
  • CMS.Helpers
  • CMS.IO
  • CMS.EventLog
  • CMS.MacroEngine
  • Mono.Cecil能做到

您必须确保所有这些(当然还有CMS.LicenseProvider本身)都存在于您应用的bin文件夹中。

但是有一种更好的方式 - 你可以使用Kentico.Libraries NuGet包,它会为你带来所有必要的dependencies关注documentation

答案 1 :(得分:0)

v8.1和v8.2中修复了一些与博客和许可有关的错误,因此我建议修补最新的v8.x修补程序,以帮助缓解您遇到的任何问题。

转到DevNet并在固定错误中搜索v8 for" Blog"你会看到问题。