2014-03-31 9 views
1

이상한 행동으로 실행했습니다.C# 클래스 - System.MissingMethodException (FSI에있는 경우)

내가 C#을 라이브러리를 사용하는 트링 오전 : FSI의 Neo4jClient

내 코드는 다음과 같습니다

#r "Neo4jClient.dll" 
#r "Newtonsoft.Json" 


open System 
open Neo4jClient 

// Define your library scripting code here 
let client = new GraphClient(new Uri("http://localhost:7474/db/data")) 
client.Connect() 

을 다음과 같은 오류에 이르게 그러나

System.MissingMethodException: Method not found: 'Void Newtonsoft.Json.JsonReader.set_DateParseHandling(Newtonsoft.Json.DateParseHandling)'. 
    at Neo4jClient.Serialization.CustomJsonDeserializer.Deserialize[T](String content) 
    at Neo4jClient.HttpContentExtensions.ReadAsJson[T](HttpContent content, IEnumerable`1 jsonConverters) in c:\TeamCity\buildAgent\work\5bae2aa9bce99f44\Neo4jClient\HttpContentExtensions.cs:line 20 
    at Neo4jClient.GraphClient.Connect() in c:\TeamCity\buildAgent\work\5bae2aa9bce99f44\Neo4jClient\GraphClient.cs:line 188 
    at <StartupCode$FSI_0013>[email protected]() in C:\Users\Mattia\Documents\Visual Studio 2012\Projects\GenChi\GenChiSnooper\Script.fsx:line 12 

, F # 응용 프로그램으로 실행하면 동일한 코드가 제대로 실행됩니다.

open System 
open Neo4jClient 

[<EntryPoint>] 
let main argv = 

    let client = new GraphClient(new Uri("http://localhost:7474/db/data")) 
    client.Connect(); 
    printfn "Went through..." 
    printfn "%A" argv 
    0 // return an integer exit code 

이 문제점이 라이브러리에만 해당되는지 확실하지 않습니다. 제 질문은 FSI와 함께 C# 라이브러리를 사용하기위한 해킹이 있습니까?

Tnx.

+1

또한 fsi에서 json dll을 참조 했습니까? –

+0

예, 했어요. 또한 json dll을 다운 그레이드하려고 시도했습니다 – NoIdeaHowToFixThis

+0

json에 대한 누락 된 dll은 오타라고 가정합니다. –

답변

1

관리자로 Visual Studio를 실행하십시오. 최신 Newtonsof.Json 패키지를 참조하십시오 :

#I @"..\packages\Neo4jClient.1.0.0.652\lib\net40" 
#I @"..\packages\Newtonsoft.Json.6.0.2\lib\net45" 

#r "Neo4JClient.dll" 
#r "Newtonsoft.Json.dll" 
let client = new GraphClient(new Uri("http://host:7474/db/data")) 
client.Connect() 
printfn "conntected" 
+0

관리자로 실행하면 문제가 해결되었습니다. 왜 그래도 모르겠다. 감사. – NoIdeaHowToFixThis