2011-10-19 2 views
3

.NET 4에서 xUnit으로 작동하는 Unquote 라이브러리를 얻으려고하고 있습니다. 테스트를 실행하는 데 별 도움이되지 않습니다. 그래서 나는 그것을 할 수있는 가장 간단한 재생 단계로 나눴다. 아무도 제가 누락 된 부분을 알고 있습니까?인용구 : 무엇이 누락 되었습니까?

  1. 새 F # 라이브러리 프로젝트를 만듭니다.
  2. NuGet을 사용하여 xUnit 및 Unquote 참조를 추가하십시오. 나는 맺다 홈 페이지에서 직접 실제 테스트를 얻었으나, 그것을 실행하지 않기 때문에 내용이 중요하지 않습니다

다음 코드

  • 붙여 넣기 ....

    module Tests 
    
    open Xunit 
    open Swensen.Unquote 
    
    [<Fact>] 
    let ``demo Unquote xUnit support``() = 
        test <@ ([3; 2; 1; 0] |> List.map ((+) 1)) = [1 + 3..1 + 0] @> 
    

    그럼 난 어셈블리를 컴파일하고 xUnit.net GUI 테스트 러너에로드 (64 비트, CLR 4) 내가 테스트를 실행하지 않을 때 다음과 같은 오류가 발생합니다 :

    Tests.demo Unquote xUnit support : System.MissingMethodException : Method not found: 
    'Microsoft.FSharp.Collections.FSharpList`1<Microsoft.FSharp.Quotations.FSharpExpr> Swensen.Unquote.Extensions.Expr.ReduceFully(Microsoft.FSharp.Quotations.FSharpExpr)'. 
    Stack Trace: 
        at Tests.demo Unquote xUnit support() 
    
  • 답변

    6

    을 절대로 마음, 나는 그것을 알아 냈다. 저는 VS 11 미리보기를 사용하고 있습니다. 프로젝트에서 .NET 4.0을 목표로하고 있어도 FSharp.Core.dll의 잘못된 버전을 참조하고 있습니다.

    C : \ Program Files (x86) \ 참조 어셈블리 \ 마이크로 소프트 \ FSharp 3.0 \ 런타임 \ 4.0 \ \ FSharp.Core.dll

    내가 대신이 하나를 참조하도록 변경, 모든 것이 제대로 작동 시작 :

    C : \ 프로그램 파일 (x 86을) \ Reference Assemblies \ Microsoft \ FSharp \ 2.0 \ Runtime \ v4.0 \ FSharp.Core.dll