在我的解决方案中,我有5个项目,我需要使用strucuremap。这是我的代码:
private static readonly Lazy<Container> _containerBuilder =
new Lazy<Container>(defaultContainer, LazyThreadSafetyMode.ExecutionAndPublication);
public static IContainer Container
{
get { return _containerBuilder.Value; }
}
private static Container defaultContainer()
{
var container = new Container(ioc =>
{
// map same interface to different concrete classes
ioc.For<IUser>().Use<EFUserService>();
ioc.For<IUnitOfWork>().Use(() => new ApplicationDBContext())();
});
container.AssertConfigurationIsValid();
return container;
}
在这一行:
ioc.For<IUnitOfWork>().Use(() => new ApplicationDBContext())();
我收到此错误:
&#39;的DbContext&#39;在未引用的程序集中定义。您必须添加对程序集&#39; EntityFramework,Version = 6.0.0.0,Culture = neutral,PublicKeyToken = 19f9d7d4cc76b670&#39;
的引用
我在这个项目中添加了所有项目(这个主项目),在所有项目中更新了EF(6.1.3),我使用了strucuremap 4.5.1。
问题是什么?为什么要告诉我这个错误?我该如何解决这个问题?
答案 0 :(得分:0)
在您使用Entity Framework的项目中,您需要右键单击References
,然后点击Add Reference
。从这里,您可以导入实体框架的程序集,使其可用于您的项目。