我一直在探索在Mac 上的 Xamarin Studio 上使用MVVM Cross 。我已经在 YouTube 上浏览了N+1 天的 MvvmCross教程,我遇到了一个希望其他人经历过的障碍。
教程使用 PCL 和 VS 2012,但由于我使用的是 Mac,所以我必须使用 Xamarin Studio。我了解 Xamarin Studio 不支持 PCL,因此我创建了一个基本 C# 项目,然后将库链接到 Xamarin.Android 项目。我已经阅读了很多 MvvmCross 帖子,包括这篇文章,但还没有找到解决方案。
该项目成功构建并似乎成功部署到模拟器,但我无法让应用程序在模拟器上运行。该应用程序立即关闭,我收到的唯一错误是 Xamarin Studio 的应用程序输出中的以下非描述性消息。
[monodroid-gc] GREF GC Threshold: 1800
[mono] Stacktrace:
[mono]
[mono]
[mono] Unhandled Exception:
[mono] System.NullReferenceException: Object reference not set to an instance of an object
[mono] [ERROR] FATAL UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object
我设置了多个断点,但无法触发任何断点,看来错误是在我的代码运行之前发生的。我下载了项目的示例代码并成功运行,所以我逐行检查错误但没有成功(我什至用示例中的那些文件替换了我的类文件。我已经确认所有的 DLL 都是正确。我正在使用来自https://github.com/slodge/MvvmCross-Binaries的预编译库。
我真的不确定下一步该去哪里确定这个错误的原因。有没有其他人经历过这个?我知道 Xamarin 和 MvvmCross 都专注于 Visual Studio 集成和 PC 开发;MvvmCross 是否足够稳定,可以在 Mac 的 Xamarin Studio 上使用?有谁知道我的错误可能是什么,或者接下来要尝试什么?
我知道这是一个相当不确定的问题,但我希望我不是唯一一个遇到这种情况的人。我试图尽可能地进行描述,但如果有人需要更多信息,请告诉我。谢谢。