Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t运行MVVMcros Xamarin.Forms项目_Xamarin_Xamarin.forms_Mvvmcross - Fatal编程技术网

Can';t运行MVVMcros Xamarin.Forms项目

Can';t运行MVVMcros Xamarin.Forms项目,xamarin,xamarin.forms,mvvmcross,Xamarin,Xamarin.forms,Mvvmcross,我正在尝试使用Xamarin.Forms配置MVVMCross。所以我正在创建XF项目,为viewmodels添加另一个PCL项目。接下来,我将安装所需的MVVMCross Nuget,包括MVVMCross.StarterPack、MVVMCross.Forms和MVVMCross.Presentation。然后我在项目中清理自动创建的垃圾箱。到目前为止,一切都在建设中。但当我在构建时将XF MainPage.xaml ContentPage更改为MvxContentPage时,出现以下错误:

我正在尝试使用Xamarin.Forms配置MVVMCross。所以我正在创建XF项目,为viewmodels添加另一个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     
“ResolveLibraryProjectImports”任务意外失败。 System.IO.FileNotFoundException:无法加载程序集“StormFinder,版本=0.0.0.0,区域性=中性,PublicKeyToken=”。也许它不存在于Mono for Android配置文件中? 文件名:“StormFinder.dll” 位于Java.Interop.Tools.Cecil.directorySassemblyResolver.Resolve(AssemblyNameReference,ReaderParameters参数) 位于Java.Interop.Tools.Cecil.directorySassemblyResolver.Resolve(字符串全名,ReaderParameters参数) 位于Java.Interop.Tools.Cecil.directorySassemblyResolver.Resolve(字符串全名) 位于Java.Interop.Tools.Cecil.directorySassemblyResolver.GetAssembly(字符串文件名) 在Xamarin.Android.Tasks.ResolveLibraryProjectImports.Extract(目录汇编解析器res,ICollection`1 jars,ICollection`1 ResolvedResourceDirectory,ICollection`1 ResolvedAssetDirectory,ICollection`1 resolvedEnvironments) 在Xamarin.Android.Tasks.ResolveLibraryProjectImports.Execute()中 位于Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ItaskeExecutionHost.Execute() 在Microsoft.Build.BackEnd.TaskBuilder.d_u26.MoveNext()StormFinder.Android上 StormFinder是我的XFUI项目。我尝试了一切,包括清洁、重新安装XF、MVVMCross,甚至开始新项目

我能做什么?
编辑: 项目可以在那里找到:

编辑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>
System.TypeLoadException:父类vtable无法初始化,原因是:类型MvvmCross.Forms.Presenter.Core.MvxFormsPagePresenter具有无效的vtable方法插槽7,方法为MvvmCross.Core.Views.MvxViewPresenter:Close(MvvmCross.Core.ViewModels.IMvxViewModel)程序集:/storage/emulated/0/Android/data/StormFinder.Android/files/.\uuuu override.\uuuuu/MvvmCross.Forms.Presenter.Core.dll类型:MvxFormsPagePresenter成员:
06-12 18:52:19.744 E/mono rt(1784):[错误]未处理的致命异常:System.TypeLoadException:父类vtable未能初始化,原因是:类型MvvmCross.Forms.Presenter.Core.MvxFormsPagePresenter具有无效的vtable方法插槽7和方法MvvmCross.Core.Views.MvxViewPresenter:Close(MvvmCross.Core.ViewModels.IMvxViewModel)程序集:/storage/emulated/0/Android/data/StormFinder.Android/files/.\uuuu override.\uuuuu/MvvmCross.Forms.Presenter.Core.dll类型:MvxFormsPagePresenter成员:

您需要在
主页
中包含
MvxContentPage
的名称空间

它需要如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<core1:MvxContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:StormFinder"
              xmlns:core="clr-namespace:MvvmCross.Forms.Presenter.Core;assembly=MvvmCross.Forms.Presenter.Core"
              xmlns:core1="clr-namespace:MvvmCross.Forms.Core;assembly=MvvmCross.Forms"
              x:Class="StormFinder.MainPage">

    <Label Text="{Binding Text}" 
           VerticalOptions="Center" 
           HorizontalOptions="Center" />
    <!-- core:MvxContentPage -->
</core1:MvxContentPage>


您的XF UI项目是PCL吗?还是共享?您是否从平台项目中引用了它?如果可以,请上载一个示例项目。这将有助于缩小问题的范围。@woelliJ我的XF是PCL,它被引用了。我把项目推到github。链接在帖子里。谢谢。现在正在建,但看看我帖子里的EDIT2。好吧,没关系。我把这个修好了。谢谢你的帮助。