是否可以从共享位置或GAC与Unity引用程序集?从共享位置或带有Unity的GAC引用程序集
假设我有两个项目(同一解决方案下):
- MyProject.Data(库接口)
- MyProject.Data.EntityFramework(库实体框架试行)
我想要在一个ASP.NET MVC应用程序(MyProject.Web)中使用IoC,该应用程序也处于相同的解决方案下,但我不想为接口和实现添加项目引用。理想情况下,我想向接口添加项目引用,并从共享位置或GAC加载实现。这可以防止MyProject.Web中的任何代码创建特定实现的实例 - 这应该始终由IoC提供程序完成。
我可以决定创建一个nHibernate实现,IoC将使交换机更容易。如果有任何直接的耦合,这将是一场噩梦。这导致我回到这个问题。让我们删除开发人员在不询问IoC容器如何解析接口的情况下实例化具体实现的可能性。
感谢您的回复。我不介意使用XML,但我明白你的观点。也许他们将在未来添加此功能。 – 2011-05-31 20:04:49
不客气,祝你好运:) – 2011-05-31 20:45:20
我要创建一个单独的IoC项目,它将引用接口和实现项目。这将包含一个使用流畅语法(win)创建的容器。 Web项目可以引用IoC项目和任何接口项目,从而将它从实现中解耦(win win)。 – 2011-06-01 13:13:17