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

簡単な解決策は、インクルードに依存して物事を自動的に分類するのではなく、完全な名前空間 Ektron.Cms.Common.EkEnumeration を使用することです。

いえ

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

エレガントではありませんが、再び作業できるようになるはずです。

于 2013-02-22T16:10:12.240 に答える