2017-06-11 2 views
1

J'essaie de configurer MVVMCrosswith Xamarin.Forms. Je suis donc en train de créer un projet XF, en ajoutant un autre projet PCL pour viewmodels. Ensuite, j'installe les puces MVVMCross nécessaires, y compris Mvvmcross.StarterPack, MVVMCross.Forms et MVVMCross.Presentation. Ensuite, je nettoie dans le projet de trashs créés automatiquement. À ce moment tout le bâtiment. Mais quand je change dans XF MainPage.xaml ContentPage à MvxContentPage dans la construction de temps, il est l'erreur suivante:Impossible d'exécuter le projet MVVMcros Xamarin.Forms

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 est mon projet UI XF. J'ai tout essayé, y compris le nettoyage, la réinstallation de XF, MVVMCross ou même le démarrage d'un nouveau projet.

Que puis-je faire?
EDIT: projet peuvent être trouvées ici: https://github.com/straiser/StormFinder

EDIT2: Il avait tort espace de noms en XAML. Le projet est construit maintenant, mais maintenant j'ai eu une autre erreur:

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> 
+0

Votre projet UI XF est un PCL? Ou partagé? L'avez-vous référencé depuis votre projet Platform? Si vous le pouvez, téléchargez un exemple de projet. Cela aidera à réduire le problème. – woelliJ

+0

@woelliJ Mon XF est PCL et il est réfréné. J'ai poussé le projet à github. Le lien est dans le message. – straiser

Répondre

1

Vous devez inclure l'espace de noms de la MvxContentPage dans votre MainPage.

Il doit ressembler à ceci:

<?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> 
+0

Merci. Il construit maintenant, mais regardez EDIT2 dans mon message. – straiser

+0

Ok, peu importe. J'ai réparé ceci. Merci pour l'aide. – straiser