次のような LoadFrom ローディング コンテキストを使用して、ネイティブ コードから相互運用シナリオで使用する WPF アセンブリがあります。
AppDomain.CreateInstanceFrom("c:\mydlls\mywpfstuff.dll", "myclass")
mydlls は、実行可能ファイルが置かれているフォルダーとは異なることに注意してください。これは、私もロードする通常の非 ui .NET dll に対しては正常に機能しますが、これを実行しようとするとエラーが発生します。AppDomain.CurrentDomain.AssemblyResolve イベント ハンドラーをアタッチし、読み込みに失敗したイベントを取得しました。ResolveEventArgs の名前は「mywpfstuff.resources」で、RequestingAssembly は空です。「mywpfstuff.resources」という名前のファイルがなく、このアセンブリを自分で解決する方法がわかりませんでした。
エラーを引き起こすコード行は InitializeComponent(); です。メインのユーザー コントロール コンストラクターを呼び出します。
内部 XAML (BAML?) メカニズムがいくつかのリソースを読み込もうとしているように思えますが、LoadFrom コンテキストの代わりにその標準の Load コンテキストを使用します。
この問題を回避する方法はありますか、できれば WPF に LoadFrom コンテキストを使用させるか、それが不可能な場合は手動でアセンブリを解決する方法はありますか?