【发布时间】:2017-06-11 18:48:50
【问题描述】:
我正在尝试使用 Xamarin.Forms 配置 MVVMCross。所以我正在创建 XF 项目,为视图模型添加另一个 PCL 项目。接下来我正在安装所需的 MVVMCross nuget,包括 Mvvmcross.StarterPack、MVVMCross.Forms 和 MVVMCross.Presentation。然后我正在从自动创建的垃圾箱中清理项目。到这一刻,一切都在建立。但是当我在构建时将 XF MainPage.xaml ContentPage 更改为 MvxContentPage 时出现以下错误:
The "ResolveLibraryProjectImports" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load assembly 'StormFinder, Version=0.0.0.0, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
File name: 'StormFinder.dll'
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters)
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(String fullName, ReaderParameters parameters)
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(String fullName)
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.GetAssembly(String fileName)
at Xamarin.Android.Tasks.ResolveLibraryProjectImports.Extract(DirectoryAssemblyResolver res, ICollection`1 jars, ICollection`1 resolvedResourceDirectories, ICollection`1 resolvedAssetDirectories, ICollection`1 resolvedEnvironments)
at Xamarin.Android.Tasks.ResolveLibraryProjectImports.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() StormFinder.Android
StormFinder 是我的 XF UI 项目。我已经尝试了一切,包括清理、重新安装 XF、MVVMCross 甚至开始新项目。
我能做什么?
编辑:
项目可以在那里找到:https://github.com/straiser/StormFinder
编辑2: xaml 中的命名空间错误。项目正在建设中,但现在我遇到了另一个错误:
System.TypeLoadException: Parent class vtable failed to initialize, due to: Type MvvmCross.Forms.Presenter.Core.MvxFormsPagePresenter has invalid vtable method slot 7 with method MvvmCross.Core.Views.MvxViewPresenter:Close (MvvmCross.Core.ViewModels.IMvxViewModel) assembly:/storage/emulated/0/Android/data/StormFinder.Android/files/.__override__/MvvmCross.Forms.Presenter.Core.dll type:MvxFormsPagePresenter member:<none>
06-12 18:52:19.744 E/mono-rt ( 1784): [ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Parent class vtable failed to initialize, due to: Type MvvmCross.Forms.Presenter.Core.MvxFormsPagePresenter has invalid vtable method slot 7 with method MvvmCross.Core.Views.MvxViewPresenter:Close (MvvmCross.Core.ViewModels.IMvxViewModel) assembly:/storage/emulated/0/Android/data/StormFinder.Android/files/.__override__/MvvmCross.Forms.Presenter.Core.dll type:MvxFormsPagePresenter member:<none>
【问题讨论】:
-
您的 XF UI 项目是 PCL?还是共享?您是否从您的平台项目中引用过它?如果可以,请上传示例项目。这将有助于缩小问题范围。
-
@woelliJ 我的 XF 是 PCL,它被引用了。我将项目推送到 github。链接在帖子中。
标签: xamarin xamarin.forms mvvmcross