MvvmCross: ошибка с JSON в SimpleRestService.cs

Я пытаюсь выполнить Урок 6 в N+1 Days of MvvmCross, но не могу заставить SimpleRestService работать.

05–22 16:14:38.156 I/mvx ( 2849): 40.20 Проблема с созданием viewModel типа MapViewModel — проблема MvxException: не удалось разрешить параметр для параметра jsonConverter типа IMvxJsonConverter при создании MyApp.Core.Services.SimpleRestService

Cirrious.CrossCore.Exceptions.MvxException: не удалось загрузить ViewModel для типа MyApp.Core.ViewModels.MyViewModel из локатора MvxDefaultViewModelLocator

SimpleRestService.cs идентичен учебнику, за исключением пространства имен и интерфейса.

namespace MyApp.Core.Services
{
public class SimpleRestService
    : ISimpleRestService
{
    private readonly IMvxJsonConverter _jsonConverter;

    public SimpleRestService(IMvxJsonConverter jsonConverter)
    {
        _jsonConverter = jsonConverter;
    }

    public void MakeRequest...
    private void MakeRequest...
    private T Deserialize<T>(string responseBody)
    {
        var toReturn = _jsonConverter.DeserializeObject<T>(responseBody);
        return toReturn;
    }
}

Спасибо.


person Neil    schedule 22.05.2013    source источник


Ответы (1)


В сообщении об ошибке говорится:

MvxException: не удалось разрешить параметр для параметра jsonConverter типа IMvxJsonConverter при создании MyApp.Core.Services.SimpleRestService

Это говорит о том, что у вас нет IMvxJsonConverter, зарегистрированного в IoC.

У вас есть один? например.:

  • Вы ссылались и инициализировали плагин Json в проекте пользовательского интерфейса? (Nuget сделает это за вас, если вы добавите плагин)
  • или (расширенный вариант) вы создали и зарегистрировали свой собственный IMvxJsonConverter?

В видео N+1 N=6 плагин Json добавлен примерно в 13:13 — см. http://www.youtube.com/watch?v=He6QvnLsPUA&feature=youtu.be&t=13m13s

person Stuart    schedule 22.05.2013
comment
Точно. Я установил пакет NuGet в Core, но не в проект Droid. Спасибо! - person Neil; 22.05.2013