1

我有一个 Ektron 8.2 站点,我试图将 Quartz.NET 集成到其中,以便运行一些调度。Quartz.NET 需要一个库 Common.Logging。该库引入了冲突并破坏了 App_Code/VBCode 中的 Ektron 代码。

例如来自 Utilities.vb 的以下代码

Case Is = Common.EkEnumeration.FolderType.Community
      imageURL &= "images/ui/icons/folderCommunity.png"
Case Common.EkEnumeration.FolderType.Catalog
      imageURL &= "images/ui/icons/folderGreen.png"

现在给出编译时错误-

App_Code\VBCode\Utilities.vb(703,0): error BC30456: 'EkEnumeration' is not a member of 'Common'.

看来 Common.Logging 与 Ektron.Cms.Common 冲突(Ektron 文件有一个Imports Ektron.Cms声明)。是否可以指定库的优先级?或者命名空间一个导入的库?

更新 Utilities.vb 代码由 Ektron 编写。我想要么不更改此代码,要么进行最小更改,因为任何更改都需要在 Ektron 升级时重新完成。这实际上是 2 个库之间的冲突 - Ektron 和 Quartz.Net。我可以在不更改任一库代码的情况下解决此冲突吗?是否有别名库的配置设置?

4

2 回答 2

1

A simple solution is to use the full namespace, Ektron.Cms.Common.EkEnumeration, rather than relying on the include to sort things out automatically.

I.e.

Case Is = Ektron.Cms.Common.EkEnumeration...

Not elegant, but should get you working again.

于 2013-02-22T16:10:12.240 回答
0

另一种选择是使用命名空间别名

using EkCommon = Ektron.Cms.Common;

所以你的代码看起来像:

EkCommon.EkEnumeration.FolderType.Community
于 2013-02-22T20:14:57.133 回答