Json.Net在Xamarin / MonoTouch共享库中抛出奇怪的错误

时间:2015-03-02 16:50:17

标签: c# xamarin.ios xamarin json.net portable-class-library

我正在Xamarin / Monotouch解决方案的共享库项目中创建一个通用存储库。存储库通过http连接到REST服务并接收json。我使用json.net反序列化我传入的json。我的仓库中有以下方法:

    public async Task<List<T>> GetAll()
    {
        List<T> result = null;
        using (var client = new HttpClient())
        {
            client.BaseAddress = new Uri(_baseApiString + _resourceName);
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            HttpResponseMessage response = await client.GetAsync("");
            if (response.IsSuccessStatusCode)
            {
                var json = await response.Content.ReadAsStringAsync ();
                result = JsonConvert.DeserializeObject<List<T>>(json); //this is where the trouble starts
            }
        }
        return result;
    }

当我打电话

result = JsonConvert.DeserializeObject<List<T>>(json);

我收到以下错误:

无法从程序集'mscorlib,Version = 2.0.5.0,Culture = neutral,PublicKeyToken = 7cec85d7bea7798e'加载类型'System.EmptyArray`1 [Reflect.Business.Review]'。

我最初想使用RestSharp.Shared(它使用json.net),所以我可以使用RestSharp api。这会引发完全相同的错误。

那么,你有什么想法让json.net在xamarin共享库项目中保持良好的运行状态吗?我做错了什么?

谢谢!

0 个答案:

没有答案