Prism 6.3.0是否与旧版Unity相关(我似乎无法升级)

时间:2017-12-18 18:34:41

标签: unity-container prism prism-6

我使用最新版本的Prism for WPF(6.3.0)和Unity获得了WPF应用程序。只是几个模块。它很棒。

当我为我的解决方案管理NuGet包时,它告诉我有一个新版本的Unity(5.4.0)可用。不幸的是,如果我尝试更新到该版本,我将无法再构建。

很清楚地知道原因:通过此方法升级统一会从我的项目中删除对它的所有引用(Unity)。具体来说,以下3个引用完全从我的所有项目中消失而没有任何替代:

  • Microsoft.Practices.Unity
  • Microsoft.Practices.Unity.Configuration
  • Microsoft.Practices.Unity.RegistrationByConvention

(当然,Prism的引用仍然存在)

错误消息告诉我IUnityContainer是在未引用的程序集中定义的(Microsoft.Practices.Unity.4.0.0.0)。鉴于它删除了这些组件,这一切都有意义。

如果我尝试重新添加Unity,则在搜索时,“添加项目引用”对话框甚至无法找到Microsoft.Practices.Unity。

现在这不是 这笔交易。我不需要升级。而且我很容易回复。但是我想知道为什么这会失败以供将来参考。

  1. 这是否意味着Prism与旧版本的Unity绑在一起而我不应该升级?
  2. 这是否意味着类型已移至不同的命名空间,我需要进行其他修复?
  3. 其他一些原因?

1 个答案:

答案 0 :(得分:2)

在Unity 5更新中包括命名空间的更改,正如您所注意到的那样,这是一个重大的突破性变化。 Prism 6没有计划支持Unity 5,但目前的Prism 7预览(可用于WPF)已经更新了Common Service Locator和Unity。 https://www.nuget.org/packages/Prism.Unity/7.0.0.336-pre