【发布时间】:2017-06-29 03:23:11
【问题描述】:
我一直在使用 Xamarin Forms 和 MVVMCross 库开发我的应用程序,我遇到了一个错误,导致 Xamarin.Forms。我想我会下载 Xamarin Forms 的源代码并调试它。我已经克隆了 git 存储库,然后将这些项目添加到我的解决方案中:
- Xamarin.Forms.Core
- Xamarin.Forms.Maps
- Xamarin.Forms.Maps.Android
- Xamarin.Forms.Platform
- Xamarin.Forms.Platform.Android
- Xamarin.Forms.Platform.Android(转发器)
- Xamarin.Forms.Platform.Android.FormsViewGroup
- Xamarin.Forms.Xaml
我已删除这些库的 NuGet 引用并替换了我的项目中的引用。应用程序正在构建中,此时一切正常,但是当我将其部署到模拟器时,应用程序崩溃了。这是堆栈跟踪:
android.runtime.JavaProxyThrowable: System.ArgumentException: 元素 不是 Xamarin.Forms.View 类型参数名称:元素在 Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement 元素)[0x00011] 在 F:\workspace\Xamarin.Forms\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:139 在 Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement 元素)[0x00022] 在 F:\workspace\Xamarin.Forms\Xamarin.Forms.Platform.Android\Platform.cs:289 在 Xamarin.Forms.Platform.Android.Platform.AddChild (Xamarin.Forms.VisualElement 视图,System.Boolean 布局)[0x0001d] in F:\workspace\Xamarin.Forms\Xamarin.Forms.Platform.Android\Platform.cs:530 在 Xamarin.Forms.Platform.Android.Platform.SetPage (Xamarin.Forms.Page newRoot) [0x000a2] 在 F:\workspace\Xamarin.Forms\Xamarin.Forms.Platform.Android\Platform.cs:414 在 Xamarin.Forms.Platform.Android.FormsApplicationActivity.Inte 在 md59d637456c2e899bd4a90a05345a07db3.MvxFormsApplicationActivity.n_onCreate(Native 方法)在 md59d637456c2e899bd4a90a05345a07db3.MvxFormsApplicationActivity.onCreate(MvxFormsApplicationActivity.java:31) 在 android.app.Activity.performCreate(Activity.java:5231) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233) 在 android.app.ActivityThread.access$800(ActivityThread.java:135) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:136) 在 android.app.ActivityThread.main(ActivityThread.java:5001) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:515) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 在 dalvik.system.NativeStart.main(Native Method)
看起来,Xamarin 找不到 NavigationPage 类的视图 rednerer。 我正在使用 Xamarin.Android 7.0 和 Java 8 进行编译。
【问题讨论】:
-
请包含您拉下的 Xamarin.Forms 代码的相应分支/标记。
-
@JonDouglas 我已从 2.3.3 分支中撤出
-
@JonDouglas 现在我已将空白应用程序添加到 Xamarin.Forms 解决方案,将所有 NuGet 引用替换为 Xamarin.Forms 的项目引用,并且 ContentPage 出现相同的错误。我应该做些什么来使任何应用程序与 Xamarin 源一起工作?也许这里有一些我不知道的步骤?
-
微软在 devblogs 上的说明:Debugging Xamarin Open Source Frameworks: Part 1.
标签: c# android xamarin xamarin.android xamarin.forms