MEFを使用してプラグインスタイルのアーキテクチャを作成していますが、Imが合成例外を取得しています。パートからのエクスポートを取得できません
ここに詳細があります。
私は次のコードを持っている:私は次の例外がスローされ得る
if (!this.pluginDictionary.ContainsKey(plugin.Value.ModuleName))
:
Exception = {"The composition produced a single composition error. The root cause is provided below. Review the CompositionException.Errors property for more detailed information. 1) The calling thread must be STA, because many UI components require this.
これは、すべての仕事をしていたし、私は私を変えた行で
AggregateCatalog catalog = new AggregateCatalog();
catalog.Catalogs.Add(new DirectoryCatalog(pluginDirectory));
CompositionContainer container = new CompositionContainer(catalog);
container.ComposeParts(this);
// add to dictionary
foreach (Lazy<IGX3PluginInterface> plugin in plugins)
{
if (!this.pluginDictionary.ContainsKey(plugin.Value.ModuleName))
{
}
}
をプラグインはSystem.Windows.Windowクラスから継承します。これが失敗の原因となりますか?
HERESにプラグインヘッダ:GX3ClientPluginはSystem.Windows.Windowクラスを拡張
[Export(typeof(IGX3PluginInterface))]
public partial class MainWindow : GX3ClientPlugins.GX3ClientPlugin
。これは完全な関連性があるが、いけない
イムかなり確信してyunderstandそれ:) http://mef.codeplex.com/discussions/81717
私はあなたが必要とする他のどのような情報教えてください?
ありがとうございます。お返事ありがとうございます。 – user589195