2

我试图在 N+1 天的 MvvmCross 中完成第 6 课,但无法让 SimpleRestService 工作。

05-22 16:14:38.156 I/mvx(2849):40.20 创建 MapViewModel 类型的视图模型时出现问题 - 问题 MvxException:创建 MyApp.Core.Services.SimpleRestService 时无法解析 IMvxJsonConverter 类型的参数 jsonConverter 的参数

Cirrious.CrossCore.Exceptions.MvxException:无法从定位器 MvxDefaultViewModelLocator 加载类型 MyApp.Core.ViewModels.MyViewModel 的 ViewModel

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;
    }
}

谢谢。

4

1 回答 1

7

错误消息说:

MvxException:创建 MyApp.Core.Services.SimpleRestService 时无法解析 IMvxJsonConverter 类型的参数 jsonConverter 的参数

这表明您没有在IMvxJsonConverterIoC 注册

你有吗?例如:

  • 你在 UI 项目中引用并初始化了 Json 插件吗?(如果您添加插件,Nuget 会为您执行此操作)
  • 或(高级选项)您是否创建并注册了自己的 IMvxJsonConverter?

在 N+1 N=6 视频中,Json 插件在大约 13:13 添加 - 参见http://www.youtube.com/watch?v=He6QvnLsPUA&feature=youtu.be&t=13m13s

于 2013-05-22T16:40:34.463 回答