【问题标题】:System.IO.FileNotFoundException: Could not load assembly...perhaps doesn't exist in the Mono for Android Profile?System.IO.FileNotFoundException:无法加载程序集...可能在 Mono for Android 配置文件中不存在?
【发布时间】:2017-10-16 21:48:57
【问题描述】:

尝试从 Visual Studio 编译我的 Android 应用程序时出现以下错误(我正在使用 Xamarin 插件)。

加载程序集时出现错误 2 异常:System.IO.FileNotFoundException:无法加载程序集“PresentationUI,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”。也许它在 Mono for Android 配置文件中不存在?

文件名:“PresentationUI.dll”位于 Xamarin.Android.Tuner.DirectoryAssemblyResolver.Resolve(AssemblyNameReference

参考,ReaderParameters 参数)在 Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(List`1

程序集、AssemblyDefinition 程序集、布尔顶层)在 Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(List`1

程序集,AssemblyDefinition 程序集,布尔顶级)在 Xamarin.Android.Tasks.ResolveAssemblies.Execute()

我环顾四周,发现这个forum post 看起来像一个类似的问题。我找不到 PresentationUI.dll 程序集。

关于我为什么会收到此错误以及如何修复它的任何建议?

更新

我发现问题实际上来自使用 Microsoft.Practices.Prism.dll 中的 DelegateCommand 是不是因为 Xamarin 不支持这个程序集?

干杯,

【问题讨论】:

    标签: c# xamarin.android xamarin


    【解决方案1】:

    PresentationUI 是 WPF(Windows 上的 UI 框架)的一部分,在 Xamarin.Android 等移动平台上不可用。

    您必须重新创建应用程序的移动兼容 UI,以便为 Android 做好准备。

    Microsoft 将 Prism 设计为与 WPF 一起使用,所以是的,您不能在 Xamarin.Android 项目中使用它。 (不过,Prism 最新版本确实适用于 Xamarin Forms)。

    参考:.NET Cross Platform UI Frameworks

    【讨论】:

    • 感谢回复,只是想澄清一下 Prism 是 PresentationUI 的一部分吗?
    • 不,不是。但是,当您使用 Prism 时,运行时将尝试加载 WPF 核心程序集,其中包括 PresentationUI。
    • 现在这更有意义了。谢谢
    【解决方案2】:

    此异常意味着在您的移动项目代码中的某处,您正在使用来自 WPF 部分的 PresentationUI 的元素,如上所述,它不能在 Xamarin.Android 中使用。 只需检查您的代码并确保您没有使用 PresentationUI 中的内容。 希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2018-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多