2

私は、win32MFCアプリケーションによって起動されるクラスライブラリになるようにアプリケーションを作成しました。私の各ビューは、ホストされているMFCアプリケーションのサブディレクトリにある基本クラスライブラリとともに配置されている個別のアセンブリです。

私の質問は、ルートディレクトリの代わりにこのサブディレクトリからのアセンブリを使用して、エクスポートされたクラスの依存関係をMEFに解決させるにはどうすればよいですか?

これが私が欲しいものです:

ParentFolder
 myapp.exe
 SubFolder
     myMvvmWindow.dll
     myMvvmSubWindow.dll
     *Microsoft.Expression.Interactions.dll*

これは私が今持っていなければならないものです:

  ParentFolder
     myapp.exe
     *Microsoft.Expression.Interactions.dll*
     SubFolder
         myMvvmWindow.dll
         myMvvmSubWindow.dll
4

2 に答える 2

1

app.config ファイルでこれを行うこともできます。

app.config なしでアセンブリ プローブ パスを設定することは可能ですか?

これは一般的に私がそれを処理する方法です。

于 2011-09-23T18:42:29.590 に答える
0

MEF は、CLR の通常のアセンブリ読み込みメカニズムを使用して依存関係を見つけるため、このシナリオを処理しません。

ただし、 AppDomain.AssebmlyResolveを処理することで、特定のサブディレクトリに対してこれを簡単に回避できます。メインディレクトリで解決されないアセンブリのサブフォルダーを確認すると、それらを自分で読み込んで、この機能を適切に行うことができます。

于 2011-09-23T18:31:58.317 に答える