采取以下无用程序:
class Program
{
static void Main(string[] args)
{
IUnityContainer unityContainer = new UnityContainer();
IWindsorContainer windsorContainer = new WindsorContainer();
Program unityProgram = unityContainer.Resolve<Program>();
Program castleProgram = windsorContainer.Resolve<Program>();
}
}
UnityContainer 将返回一个 Program 实例,而 Windsor 容器将抛出 ComponentNotFoundException。
我可以看到这两种行为的论据并且不介意我最终得到的结果,但是 Prism V2 Drop 8(撰写本文时的最新版本)在内部依赖于 Unity 行为,请求尚未注册的类。
与其为 Prism 找到并注册所有这些类,不如让 Windsor 表现得像 Unity。我在谷歌上没有找到任何可以帮助我做到这一点的东西(尽管我的术语可能是错误的)而且温莎文档非常糟糕......
任何人都可以提出解决这个问题的方法吗?