2016-05-13 6 views
0

を開始したとき、私は現在、この1つは私のシェルに必要であるとき、私のプリズムモジュールに欠落しているサードパーティのDLL(telerik)をロードする方法を探しています第三のDLLをロードします。私はカスタムModuleCatalogPrismは、モジュールが

マイCustomModuleCatologとboostrapperを作成している

は私のモジュールははIModuleとしてフラグが立てられたDLLを見つけるANS管理カタログにそれらを参照するために担当しています。

これは問題なく動作します。

唯一の問題は、私のmoduleAの開始時に、それはTelerik.Windows.Controls.gridviewが必要になる、ということです。 このDLLはシェルプロジェクトに参照されません。 私はシェルプロジェクトに必要なDLLを参照する必要はありません。

このDLLがロードされていないので、だから私はエラーを取得しています。

私の質問は:

は、モジュール(だけ欠けている1)によって、必要なときに、すべての第三のDLLをロードするためのエレガントな方法はありますか?

CustomModuleCatalogue からこの依存関係を直接ロードするか、IModule.Initializeを呼び出すときにロードする必要がありますか? 別の方法がありますか?

Thxです。

+0

エラーメッセージの詳細について教えてください。 – toumir

答えて

1

私はシェルのと同じにモジュールの出力フォルダを設定することによって、これを処理。私のモジュールの1つが何かを参照すると、それは出力にコピーされ、モジュールは実行時にそれを見つけます。

モジュールフォルダが別の場合は、シェル内でAppDomain.AssemblyResolveイベントを処理する必要があります(たとえば、Resolve assembly references from another folderを参照)。

+0

私は本当に/ ModuleName1、モジュール/ ModuleName2 etcフォルダ名モジュール内の私のモジュールを維持したいが... だから、あなたがrecommandは私のシェルプロジェクトからAppDomain.CurrentDomain.AssemblyResolveを監視することですか? は、私はそれを、私はこのような何かを見ていた試し:) – pix

+0

を与えるだろうが、私は、これはそれを行うための最もelegent方法です感じていません。 :/ – pix

関連する問題