2017-09-01 10 views
0

J'ai suivi la documentation sur les tests sur le site Web de MvvmCross. Je suis capable d'enregistrer mon répartiteur simulé et tout fonctionne sauf lorsque l'un de mes modèles de vue exécute ShowViewModel. Cela me donne une exception System.MissingMethodException.Méthode MvvmCross ShowViewModel manquante

Ma classe de test est une bibliothèque de classes (.Net 4.5).

J'ai une application WPF, et tout fonctionne bien là-dedans. Mais pour une raison quelconque, ma bibliothèque de classes de test me donne ce problème. J'ai supprimé/réinstallé tous les paquets NuGet, décoché/vérifié toutes les références à ma PCL où se trouvent les modèles de vue que je suis en train de tester.

1) Pourquoi ai-je cette exception?

1.1) Pourrait-il y avoir une DLL que je manque?

2) Où est la définition concrète réelle pour ShowViewModel? La seule référence que je peux trouver est MxvNavigationObject, mais c'est une classe abstraite.

+0

Fixé. Voir le commentaire dans la réponse de Joagwa. – Ash

Répondre

0

Est-ce que votre classe Viewmodel (où j'espère que vous essayez de l'appeler) hérite de MvxViewModel? car c'est là où la méthode ShowViewModel est (via MvxNavigatingObject)

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using MvvmCross.Core.ViewModels; 

namespace App1.ViewModels 
{ 
    public class MainViewModel : MvxViewModel 
    { 
     public MainViewModel() 
     { 
      ShowViewModel(typeof(SecondViewModel)); 
     } 
    } 
} 
+0

Oui c'est. J'ai corrigé le problème. C'était un problème de version avec MvvmCross. J'ai désinstallé v5.1.1 et installé 4.3.0, pour correspondre à celui de ma PCL. Maintenant ça marche. – Ash