【发布时间】:2015-08-06 22:25:41
【问题描述】:
我有一个名为 ServiceLayer 的类库,其中包含以下代码:
IProductService.cs
public interface IProductService
{
void AddNewProduct(Product product);
IList<Product> GetAllProducts();
}
ProductService.cs
public class ProductService : IProductService
{
readonly IDbSet<Product> _products;
public ProductService(IUnitOfWork uow)
{
_products = uow.Set<Product>();
}
public void AddNewProduct(Product product)
{
_products.Add(product);
}
public IList<Product> GetAllProducts()
{
return _products.Include(x => x.Category).ToList();
}
}
我安装了 Structuremap.MVC5,所以在DefaultRegistry 文件中我有以下代码:
DefaultRegistry.cs
public DefaultRegistry()
{
Scan(
scan =>
{
scan.TheCallingAssembly();
scan.WithDefaultConventions();
scan.With(new ControllerConvention());
});
For<IUnitOfWork>().HybridHttpOrThreadLocalScoped().Use(() => new ApplicationDbContext());
}
但是结构图不起作用并给了我这个异常:
“StructureMap.StructureMapConfigurationException”类型的异常 发生在 StructureMap.dll 中,但未在用户代码中处理
附加信息:没有注册默认实例,无法自动确定类型“MEF.ServiceLayer.IProductService”
所以我的问题是,结构映射如何扫描除主项目之外的另一个类库?
【问题讨论】:
标签: c# asp.net asp.net-mvc-5 structuremap