1

Calibrun.MicroのHelloScreensサンプルとほぼ同じ機能を必要とするアプリに取り組んでいます。コードをWPFアプリに転送しましたが、実行しようとすると、BootStrapperGetInstanceメソッドでエラーが発生し続けます。

コントラクトWpfApplication.Framework.IShellのインスタンスを見つけることができませんでした。

私の設定は

 protected override void Configure()
    {
        container = new CompositionContainer(
           new AggregateCatalog(AssemblySource.Instance.Select(x => new AssemblyCatalog(x)))
           );

        var batch = new CompositionBatch();

        batch.AddExportedValue<IWindowManager>(new WindowManager());
        batch.AddExportedValue<IEventAggregator>(new EventAggregator());
        batch.AddExportedValue(container);

        container.Compose(batch);
    }

それがIoCにあるものなのか、それとも何なのかわからない。どんな助けでも素晴らしいでしょう。ありがとう!!!

4

2 に答える 2

1

さて、私はついにそれを理解しました。構成でこれらの2行が欠落していました

 batch.AddExportedValue<Func<IMessageBox>>(() => _container.GetExportedValue<IMessageBox>());
 batch.AddExportedValue<Func<CustomerViewModel>>(() => _container.GetExportedValue<CustomerViewModel>());
于 2012-10-16T15:14:52.023 に答える
0

それは間違いなくIoCに関連しています。デレクが言ったように、エクスポート属性を確認してください。また、ShellViewModelが別のアセンブリにある場合は、ブートストラッパーのSelectAssemblies()メソッドもオーバーライドする必要があることに注意してください。

于 2012-10-16T07:57:10.123 に答える