すべてのアセンブリ プラグインが BLOB ストレージ内に格納されている Windows Azure アプリケーションで MEF を使用しています。BLOB ストレージには、プラグインだけでなく、プラグインによって参照されるすべてのアセンブリも格納されます。
プラグインをロードするコードは次のとおりです。
foreach (var pluginBytes in _pluginProvider.GetPlugins())
{
var pluginAssembly = AppDomain.CurrentDomain.Load(pluginBytes);
var assemblyCatalog = new AssemblyCatalog(pluginAssembly);
catalog.Catalogs.Add(assemblyCatalog);
}
残念ながら、サード パーツ アセンブリを参照するプラグインは、ComposeParts メソッドが CompositionContainer で呼び出されると、ReflectionTypeLoadException を引き起こします。
クラウド ソリューションのため、DirectoryCatalog を使用できません。この厄介な問題をどのように解決できますか?