MvvmCross:SimpleRestService.cs中的JSON错误

MvvmCross:SimpleRestService.cs中的JSON错误,json,mvvm,xamarin,mvvmcross,Json,Mvvm,Xamarin,Mvvmcross,我试图在MvvmCross的N+1天内完成第6课,但无法使SimpleRestService正常工作 05-22 16:14:38.156 I/mvx(2849):40.20创建MapViewModel类型的viewModel时出现问题-问题MvxException:在创建MyApp.Core.Services.SimpleRestService时未能解析IMvxJsonConverter类型的参数jsonConverter的参数 Cirriary.CrossCore.Exceptions.Mv

我试图在MvvmCross的N+1天内完成第6课,但无法使SimpleRestService正常工作

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

Cirriary.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;
    }
}
名称空间MyApp.Core.Services
{
公共类SimpleRestService
:ISimpleRestService
{
专用只读IMvxJsonConverter\u jsonConverter;
公共SimpleRestService(IMvxJsonConverter jsonConverter)
{
_jsonConverter=jsonConverter;
}
公共无效生成请求。。。
私人无效生成请求。。。
私有T反序列化(字符串响应库)
{
var toReturn=_jsonConverter.DeserializeObject(responseBody);
回归回归;
}
}

谢谢。

错误消息显示:

MvxException:创建MyApp.Core.Services.SimpleRestService时,未能解析IMvxJsonConverter类型的参数jsonConverter的参数

这表明您没有向IoC注册
IMvxJsonConverter

你有吗?例如:

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

在N+1 N=6视频中,Json插件是在13:13左右添加的-请参见

Spot on。我已经将NuGet软件包安装到Core,但没有安装到Droid项目。谢谢!