【发布时间】:2012-12-17 23:19:03
【问题描述】:
我是 DI 概念的新手,也是结构图的新手。我正在尝试完全填充我的所有接口都在AssemblyA 中并且我所有的实现都在AssemblyB 中的场景。我想使用 Structuremap 在构造函数中注入 AssemblyB 类的实例,该类依赖于来自 AssemblyA 的接口
public class Customer(ICustomerService)
{
}
ICustomerService 在 AssemblyA 中,CustomerService 类在 assemblyB 中。我希望 Structuremap 在此构造函数中注入 CustomerService 实例。我假设如果类的名称与前缀为和I 的接口名称相同。 Structuremap 会自动识别。
我写了如下配置。
x =>
{
x.Scan(scan =>
{
scan.Assembly("AssemblyA");
scan.Assembly("AssemblyB");
scan.TheCallingAssembly();
scan.WithDefaultConventions();
});
但它给了我错误
StructureMap Exception Code: 202
No Default Instance defined for PluginFamily AssemblyA.ICustomerService, AssemblyA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
我想使用默认约定并避免将每个接口注册到一个类。
【问题讨论】:
标签: dependency-injection dependencies structuremap