我使用最新版本的Prism for WPF(6.3.0)和Unity获得了WPF应用程序。只是几个模块。它很棒。
当我为我的解决方案管理NuGet包时,它告诉我有一个新版本的Unity(5.4.0)可用。不幸的是,如果我尝试更新到该版本,我将无法再构建。
很清楚地知道原因:通过此方法升级统一会从我的项目中删除对它的所有引用(Unity)。具体来说,以下3个引用完全从我的所有项目中消失而没有任何替代:
(当然,Prism的引用仍然存在)
错误消息告诉我IUnityContainer是在未引用的程序集中定义的(Microsoft.Practices.Unity.4.0.0.0)。鉴于它删除了这些组件,这一切都有意义。
如果我尝试重新添加Unity,则在搜索时,“添加项目引用”对话框甚至无法找到Microsoft.Practices.Unity。
现在这不是 这笔交易。我不需要升级。而且我很容易回复。但是我想知道为什么这会失败以供将来参考。
答案 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