警告:私はウィンザーに本当に慣れていません。
複数のプロジェクトがある1つのソリューションがあります。すべてのインターフェイス(「フレームワーク」という名前)と、それらのインターフェイスへの具体的な実装を保持する他のインターフェイスを含むプロジェクトがあります。Windsorにこれらをバインドさせ、次のようにインターフェイスを解決しようとしています。
他のプロジェクトの1つは「Orders」と呼ばれ、フレームワークプロジェクトで定義されてOrder
いる実装するクラスがあります。IOrder
2つのプロジェクト間に参照があり、コンパイルされます。
インストーラーを作成した実際のウィンザー呼び出しを持つ別のプロジェクトがあります。
public class CoreInstaller : IWindsorInstaller
{
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(
AllTypes.FromAssemblyNamed("Framework"),
AllTypes.FromAssemblyNamed("Orders")
);
}
}
ウィンザーコンテナを次のようにインスタンス化します。
new WindsorContainer().Install(new CoreInstaller());
解決しようとするIOrder
と、次のように失敗します。
Castle.MicroKernel.ComponentNotFoundException:サービスFramework.IOrderをサポートするためのコンポーネントが見つかりませんでした
また、インストール関数でプロジェクトを反転してOrders
最初にロードしようとしましたが、同じエラーが発生します。
私を助けることができるWindsorユーザーはいますか?