Greg Mercer
Greg Mercer

Reputation: 914

Getting error calling ShowViewModel

Writing a sample app where I have a list of items, and then when the user clicks on a item - it uses ShowViewModel to display a detail page about the item. However, when call the method that calls ShowViewModel it crashes with the following error: "Could not resolve type with token 01000037 (from typeref, class/assembly MvvmCross.Core.ViewModels.MvxRequestedBy..."

The code for the sample app is here: https://github.com/gregmercer/FruitsAndVeggies

The full error message is here: https://github.com/gregmercer/FruitsAndVeggies/blob/master/error.txt

And the line that cause the error (when uncommented) is found here: https://github.com/gregmercer/FruitsAndVeggies/blob/master/FruitsAndVeggies.Core/ViewModels/FruitsViewModel.cs#L58

Upvotes: 0

Views: 170

Answers (2)

Cheesebaron
Cheesebaron

Reputation: 24460

The problem is that you are mixing MvvmCross versions.

So if you look at your packages.config for your core:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="MvvmCross" version="4.4.0" targetFramework="portable45-net45+win8+wpa81" />
  <package id="MvvmCross.Binding" version="4.4.0" targetFramework="portable45-net45+win8+wpa81" />
  <package id="MvvmCross.Core" version="4.4.0" targetFramework="portable45-net45+win8+wpa81" />
  <package id="MvvmCross.Platform" version="4.4.0" targetFramework="portable45-net45+win8+wpa81" />
</packages>

These are version 4.4.0

Then if we look at the Droid project:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="MvvmCross" version="5.0.2" targetFramework="monoandroid70" />
  <package id="MvvmCross.Binding" version="5.0.2" targetFramework="monoandroid70" />
  <package id="MvvmCross.Core" version="5.0.2" targetFramework="monoandroid70" />
  <package id="MvvmCross.Droid.Shared" version="5.0.2" targetFramework="monoandroid70" />
  <package id="MvvmCross.Droid.Support.Core.UI" version="5.0.2" targetFramework="monoandroid70" />
  <package id="MvvmCross.Droid.Support.Fragment" version="5.0.2" targetFramework="monoandroid70" />
  <package id="MvvmCross.Droid.Support.V7.AppCompat" version="5.0.2" targetFramework="monoandroid70" />
  <package id="MvvmCross.Droid.Support.V7.RecyclerView" version="5.0.2" targetFramework="monoandroid70" />
  <package id="MvvmCross.Platform" version="5.0.2" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="25.3.1" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.Annotations" version="25.3.1" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.Compat" version="25.3.1" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.Core.UI" version="25.3.1" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.Core.Utils" version="25.3.1" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.Design" version="25.3.1" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.Fragment" version="25.3.1" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.Media.Compat" version="25.3.1" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.Transition" version="25.3.1" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.v7.AppCompat" version="25.3.1" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.v7.RecyclerView" version="25.3.1" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.Vector.Drawable" version="25.3.1" targetFramework="monoandroid70" />
  <package id="Xamarin.Build.Download" version="0.4.3" targetFramework="monoandroid70" />
</packages>

These are version 5.0.2, which is newer than 4.4.0.

Consolidate your packages and use same versions across all your projects.

Upvotes: 2

Martijn00
Martijn00

Reputation: 3559

To pass parameters you either need to inherit from a generic MvxViewModel< Parameters> or update to MvvmCross 5.0 which has improved support for passing objects without trouble.

Look at this sample as a reference: https://github.com/MvvmCross/MvvmCross/tree/develop/TestProjects/Navigation

Upvotes: -1

Related Questions