是否可以從共享位置或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