2017-09-01 134 views
0

我按照MvvmCross网站上的测试文档。我可以注册我的模拟调度程序,除了当我的任何视图模型执行ShowViewModel时,一切都可以工作。这给了我一个System.MissingMethodException。MvvmCross ShowViewModel方法丢失

我的测试类是一个类库(.Net 4.5)。

我有一个WPF应用程序,并在那里一切工作正常。但由于某种原因,我的测试类库给了我这个问题。我已经删除/重新安装了所有NuGet包,取消选中/检查了所有对我测试的视图模型所在的PCL的引用。

1)为什么我得到这个异常?

1.1)这可能是我错过了一些dll吗?

2)ShowViewModel的实际具体定义在哪里?我能找到的唯一参考文献是MxvNavigationObject,但这是一个抽象类。

+0

已修复。请参阅Joagwa的答案中的评论。 – Ash

回答

0

你的Viewmodel类(我希望你试图调用它)从MvxViewModel继承吗?因为这是ShowViewModel方法的地方(通过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

是的。我解决了这个问题。这是MvvmCross的版本问题。我卸载了v5.1.1并安装了4.3.0,以匹配我的PCL。现在它可以工作。 – Ash