2017-02-08 1 views
0

아래 코드는 Visual Studio에서 작동에 실패하지만 푸른 기능에코드 VS에서 작동하지만 푸른 기능

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 
       }); 

답변

0

하늘색 함수의 경우와 다른 버전의 Newtonsoft.Json을 사용했을 것입니다. 로그에서 어떤 버전이로드되었는지 확인할 수 있습니다. 예를 들면 다음과 같습니다.

xxxx-xx-xxT19:02:52.800 Installing Newtonsoft.Json x.x.x. 

차이점이 있는지 확인하십시오. project.json 파일에 특정 버전을 넣을 수 있습니다.

{ 
    "frameworks": { 
    "net46":{ 
     "dependencies": { 
     "Newtonsoft.Json": "9.0.1" 
     } 
    } 
    } 
} 
관련 문제