Mvvmcross Android - 在找到MvxBinding的资源ID时出错

时间:2013-08-28 19:04:30

标签: mvvmcross xamarin-studio

我试图在Xamarin Studio上关注Stuart' N + 1的FirstDemo教程。

我收到以下异常:

[mono] Unhandled Exception:
[mono] Cirrious.CrossCore.Exceptions.MvxException: Error finding resource ids for MvxBinding - please make sure ResourcesToCopy are linked into the executable ---> System.InvalidCastException: Cannot cast from source type to destination type.
[mono]   at Cirrious.MvvmCross.Binding.Droid.ResourceHelpers.MvxAndroidBindingResource..ctor () [0x000ed] in /Users/stuartlodge/Documents/GitHub/Mvx/MvvmCross/Cirrious/Cirrious.MvvmCross.Binding.Droid/ResourceHelpers/MvxAndroidBindingResource.cs:57 
[mono]   --- End of inner exception stack trace ---
[mono]   at Cirrious.MvvmCross.Binding.Droid.ResourceHelpers.MvxAndroidBindingResource..ctor () [0x00142] in /Users/stuartlodge/Documents/GitHub/Mvx/MvvmCross/Cirrious/Cirrious.MvvmCross.Binding.Droid/ResourceHelpers/MvxAndroidBindingResource.cs:72 
[mono]   at Cirrious.MvvmCross.Binding.Droid.ResourceHelpers.MvxAndroidBindingResource.Initialise () [0x0000b] in /Users/stuartlodge/Documents/GitHub/Mvx/MvvmCross/Cirrious/Cirrious.MvvmCross.Binding.Droid/ResourceHelpers/MvxAndroidBindingRe

我从XS-iOS-Mac/bin/Release/Mvx/Droid/导入了以下引用:

  • Cirrious.CrossCore.dll
  • Cirrious.CrossCore.Droid.dll
  • Cirrious.MvvmCross.Binding.dll
  • Cirrious.MvvmCross.Binding.Droid.dll
  • Cirrious.MvvmCross.dll
  • Cirrious.MvvmCross.Droid.dll
  • Cirrious.MvvmCross.Localization.dll

在你问之前,是的,我在MvxBindingAttributes.xml目录上有Resources/values,是的,它被标记为Android Resource

提前致谢。

2 个答案:

答案 0 :(得分:0)

无法找到资源ID时会生成错误消息。

这些resourceid应该由Resource类中的android和xamarin工具在与安装文件相同的命名空间中生成。

尝试搜索生成的资源文件 - 那里是mvx常量吗?名称空间是否正确?

如果这没有帮助,可以将您的代码与github上完成的参考解决方案进行比较。或者也可以尝试在Mac上使用xamarin studio的其他n + 1视频之一。

答案 1 :(得分:0)

我不太确定我是如何设法修复它的。

我可能从VS2012目录而不是XS-iOS-Mac获得了二进制文件。我在选择正确的二进制文件源方面遇到了各种各样的问题。

即使我在Mac上工作,有时很多问题只能通过引用VS2012来解决。我认为这些依赖关系存在一种模式,但直到现在我才通过反复试验使我的教程正常工作。