基于Xamarin.Forms的MvvmCross开发:找不到MvvmCross.Forms.Core命名空间求助
Hey there! Let's break down why you're hitting this issue and walk through the most likely fixes:
核对MvvmCross版本与教程的匹配度
开源项目的文档经常会跟不上代码更新的节奏,这很常见。如果你用的是MvvmCross v8及以上的新版本,MvvmCross.Forms.Core这个命名空间大概率已经被合并或迁移到其他核心包中了。比如原来这个命名空间下的关键类型(像MvxFormsApplication),现在直接放在MvvmCross.Forms命名空间里。确认NuGet包安装是否完整
检查你的Xamarin.Forms项目有没有装对必要的MvvmCross包:MvvmCross(核心框架包)MvvmCross.Forms(Xamarin.Forms集成包)
还要确保所有包的版本一致——混合不同版本很容易引发命名空间或程序集异常。如果是通过NuGet安装的,试试清理解决方案、删除bin和obj文件夹,再重新还原包,排除缓存问题。
结合GitHub最新源码调整引用
你已经去GitHub查源码了,这步做得很棒!找到你原本想从MvvmCross.Forms.Core里使用的类型,看看它们在当前版本的代码库里移到了哪里。比如你要找的MvxFormsApplication,在新版本里就属于MvvmCross.Forms命名空间,直接更新你的using语句就行。检查教程是否针对旧版本MvvmCross
如果你看的教程是针对v7及更早版本的,那MvvmCross.Forms.Core在当时确实是合法命名空间。要是想完全跟着教程走,可以安装和教程匹配的特定版本MvvmCross,只是要注意旧版本可能没有最新的bug修复和功能。
如果这些步骤都没解决问题,补充一些细节(比如你的MvvmCross版本、具体要使用的类型、项目配置)会帮我们更快定位问题!
内容的提问来源于stack exchange,提问作者Charles Crawford

