找不到Unity Container RegisterInstance方法

时间:2018-09-10 17:24:25

标签: c# wpf unity-container

我使用的是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的情况下更新棱镜不会导致问题。

1 个答案:

答案 0 :(得分:1)

版本5.8.11中的命名空间仅为Unity

using Unity;

...但是您不能不更新Prism而仅更新Unity。您的Prism版本与此版本的Unity不兼容。