【发布时间】:2017-06-25 11:39:54
【问题描述】:
下面的代码在 Visual Studio 中工作,但失败了
函数.HttpTriggerCSharp1。 Newtonsoft.Json: JSON 'JliffModel.Segment, JliffModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'中指定的类型与'JliffModel.ISubUnit, JliffModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'。路径'units[0].segments[0].$type',第 9 行,位置 28。
在 Azure 函数中。这是 Functions 运行时的问题吗?
var model2 = new JliffModel.File("en-US", "de-DE",
new List<JliffModel.Unit>()
{
new JliffModel.Unit("1",
new JliffModel.Segment(
new List<JliffModel.IElement>() {new JliffModel.TextElement("New fluent source.")},
new List<JliffModel.IElement>() {new JliffModel.TextElement("New fluent target.")}
)
),
new JliffModel.Unit("2", new List<JliffModel.ISubUnit>() {
new JliffModel.Segment(
new List<JliffModel.IElement>() {new JliffModel.TextElement("Unit 2, Segment 1 source")},
new List<JliffModel.IElement>() {new JliffModel.TextElement("Unit 2, Segment 1 target")}
),
new JliffModel.Ignorable()
})
});
var binder = new JliffModel.JliffSerializationBinder("JliffModel.{0}, JliffModel");
string output = JsonConvert.SerializeObject(model2,
Formatting.Indented,
new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver(),
TypeNameHandling = TypeNameHandling.Auto,
Binder = binder
});
var model = JsonConvert.DeserializeObject<JliffModel.File>(output,
new JsonSerializerSettings
{
TypeNameHandling = TypeNameHandling.Auto,
Binder = binder
});
【问题讨论】: