我使用的是Unity 4.0.1版,并且我已更新为5.8.11版
在更新之前,我有这条线工作
using Microsoft.Practices.Unity;
class Bootstrapper : UnityBootstrapper
{
protected override void ConfigureContainer()
{
base.ConfigureContainer();
this.Container.RegisterInstance<Manager>(new Manager());
}
}
RegisterInstance
方法没有问题,因为我使用的是Microsoft.Practices.Unity
名称空间。但是,更新后,代码不再编译。我进行了真正的搜索,发现两个版本之间的兼容性出现了问题,但是我找不到解决方法。
更新
使用Unity
名称空间无效。我仍然收到相同的编译时错误
在未引用的程序集中定义了类型'IUnityContainer'。您必须添加对程序集“ Microsoft.Practices.Unity,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 6d32ff45e0ccc69f”的引用。
更新 在不更新Prism的情况下更新Unity仍然会导致相同的问题,但是有趣的是,在不更新Unity的情况下更新棱镜不会导致问题。
答案 0 :(得分:1)
版本5.8.11中的命名空间仅为Unity
:
using Unity;
...但是您不能不更新Prism而仅更新Unity。您的Prism版本与此版本的Unity不兼容。