2014-05-12 2 views
3

VS2013 Professional Edition에서 FParsec을 어떻게 실행합니까? VS2013에서 FParsec을 실행하는 방법

나는 다음과 같은 nuget 패키지를 사용하는 tryed :

을 나는 내 자신에 https://bitbucket.org/fparsec/main의 소스 코드를 컴파일하고 생성 된 DLL을 사용하려고 : FParsec.dllFParsecCS.dll.

하지만 항상 튜토리얼 코드를 실행하는 다음과 같은 예외가 어느 쪽이든에서

:

System.MissingMethodException 
Method not found: 
    Microsoft.FSharp.Core.FSharpFunc`2<FParsec.CharStream`1<!!0>,FParsec.Reply`1<Double>> FParsec.CharParsers.pfloat()" 

사람이 FParsec가 VS2013에서 실행 얻을 수있는 단계별 솔루션을 제공 할 수 있습니까?

open FParsec 

[<EntryPoint>] 
let main args = 
    let str s = pstring s // This line works 
    let floatBetweenBrackets = str "[" >>. pfloat .>> str "]" // This line breaks 
    Console.ReadKey() |> ignore 
    0 
+0

튜토리얼 코드가 실패했다면 도움이 될 것입니다. 오류를 보여주는 잘린 예도 제공 할 수 있습니다. –

답변

6

시도를 다음과 같은 내용으로 프로젝트에 대한 App.config를 추가 :

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-4.3.1.0" newVersion="4.3.1.0" /> 
     </dependentAssembly> 
    </runtime> 
</configuration> 

이 FSharp.Core의 버전을 확인하고이 패치를

내가 실행하려고 코드입니다 필요한 경우 스 니펫.

+2

감사합니다. 그게 효과가 있었어! 동일한 문제가있는 모든 사용자를위한 힌트 : 다음 명령을 사용하여 dll의 publicKeyToken을 실행할 수 있습니다. 'sn.exe -T "PathToDLL" sn.exe-Tool은 다음 위치에 있습니다. C : \ Program 파일 (x86) \ Microsoft SDKs \ Windows \ v8.1A \ bin \ NETFX 4.5.1 Tools'. 아마도이 경로를 편집해야합니다. –