我正在尝试使用ServiceStack将一个简单的json字符串反序列化为Dto对象:
public class TestDto
{
public int MyProp { get; set; }
}
var json = JsonSerializer.DeserializeFromString<TestDto>("{\"MyProp\":6}");
我得到例外:
[System.TypeInitializationException] =
{"The type initializer for 'ServiceStack.Text.Json.JsonReader`1' threw an exception."}
// With the inner exception:
"Object reference not set to an instance of an object."
// And the stack trace:
at ServiceStack.Text.Common.JsReader`1.GetCoreParseFn[T]()
at ServiceStack.Text.Common.JsReader`1.GetParseFn[T]()
at ServiceStack.Text.Json.JsonReader`1..cctor()
我在Windows 8.1上使用Xamarin在Visual Studio中进行开发。 ServiceStack代码位于可移植库中。目前,我正在直接从单元测试中触发可移植库代码。
以下是ServiceStack的Nuget包信息:
<package id="ServiceStack.Text" version="4.0.36"
targetFramework="portable-net45+win+MonoAndroid10+xamarinios10+MonoTouch10" />
知道我在这里缺少什么吗?
答案 0 :(得分:3)
使用PCL clients and Json Serializer is in the HelloMobile project的文档,特别是您需要安装 ServiceStack.Client NuGet包,其中包含支持您运行的平台所需的平台特定扩展:< / p>
PM> Install-Package ServiceStack.Client
对于iOS,您还应explicitly initialize the PCL library使用:
IosPclExportClient.Configure();