0
コードは以下のVisual Studioで働くに失敗したが、Azureの機能でコードはVSで動作しますが、Azureの機能
Functions.HttpTriggerCSharp1. Newtonsoft.Json: Type specified in JSON 'JliffModel.Segment, JliffModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' is not compatible with 'JliffModel.ISubUnit, JliffModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Path 'units[0].segments[0].$type', line 9, position 28.
で失敗します。これは関数ランタイムの問題ですか?
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
});