【问题标题】:Xamarin + Unity IoCXamarin + Unity IoC
【发布时间】:2015-07-15 19:32:15
【问题描述】:

我是 Xamarin Forms 的新手,正在尝试将 Microsoft Unity IoC 框架集成到其中,以便在 iOS/Android 应用程序中使用。

添加 Nuget 包非常简单,但只要我添加一些实际引用 Unity 的内容(例如 public static UnityContainer Container { get; private set; }),我的应用程序就会在运行时死掉,并带有

但是,当我去运行它时,我的应用程序立即死掉,FileNotFoundExceptionMicrosoft.Practices.ServicesLocation

我可以说我的项目是设置similar to this tutorial project

【问题讨论】:

  • 你在哪个项目中添加了 nuget 包?您必须将其添加到 PCL、Android 和 iOS。
  • 我将它添加到每个 PCL 以及 *.iOS*.Droid 项目中。清理,重建,同样的结果。无论如何不应该引用级联(如在 Visual Studio 中)?
  • 我遇到了一些问题,它没有内置它们。你能检查一下nuget.org/packages/CommonServiceLocator 是否安装了吗?
  • Unity 有一个对 Common Service Locator 的软引用,这似乎会导致问题。如果你手动安装 CommonServiceLocator nuget 包应该没问题。
  • 兰迪你是对的。虽然我确实必须添加对 PCL 和 .iOS 应用程序的引用。如果你把它写成答案,我很乐意接受。谢谢

标签: c# xamarin unity-container


【解决方案1】:

Unity 引用了 Common Service Locator,但 NuGet 包没有将它作为依赖项。我相信这是设计使然(但我现在找不到它的文档)。

通常这不是问题,除非使用 UnityServiceLocator,但它会给您带来问题。如果您手动安装CommonServiceLocator NuGet Package,它将解决问题。

【讨论】:

  • 是的,这是设计使然。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-04
  • 1970-01-01
  • 2010-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多