0

CastleWindsorを使用してコンソールアプリにNHibernateの依存関係を登録および解決していますが、x86プラットフォームでビルドする限り、すべてが正常に機能します。しかし、このプラットフォームを「AnyCPU」または「x64」に変更すると、コンポーネントの解決が停止します。私が気付いていないCastleWindsorの問題がありますか、それとも何か間違ったことをしていますか?助けてください。これが私が使用しているいくつかのコードです(何も派手ではありません):

登録コード:

container.Register(Component.For<ILogger>()
.ImplementedBy<Log4netLog>(),
Component.For<Repository.INHibUnitOfWork>()
.ImplementedBy<Repository.NHibUnitOfWork>().LifestyleTransient()....

コードを解決します:

    _windsorContainer = new WindsorContainer();
        _windsorContainer.Install(FromAssembly.This());
        _windsorContainer.Resolve<ISessionFactory>();

最後の行でエラーが発生します。サービスISessionFactoryをサポートするためのコンポーネントが見つかりませんでした。x86構成でビルドすると、コードは正常に実行されます。

4

1 に答える 1

0

問題を見つけました。プロジェクトの1つ(20プロジェクトのリスト内)は、x86構成を使用してビルドするように設定されました。ビルド設定を変更した後、ANYCPU設定を使用してプロジェクトをビルドして実行することができました。フォローアップして正しい方向に向けてくれてありがとう。

于 2013-03-08T19:54:07.843 に答える