Ektron app_code和库之间的ASP.Net库名称冲突

时间:2013-02-22 05:10:11

标签: webforms quartz.net ektron

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

E.g。以下代码来自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升级时重新进行。这实际上是两个库之间的冲突--Ektron和Quartz.Net。我可以在不更改任何一个库的代码的情况下解决此冲突吗?是否存在别名库的配置设置?

2 个答案:

答案 0 :(得分:1)

一个简单的解决方案是使用完整的命名空间Ektron.Cms.Common.EkEnumeration,而不是依赖于include来自动排序。

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

不优雅,但应该让你再次工作。

答案 1 :(得分:0)

另一种选择是使用namespace alias

using EkCommon = Ektron.Cms.Common;

所以你的代码看起来像:

EkCommon.EkEnumeration.FolderType.Community