2011-10-19 14 views
3

.NETでxUnitを使用しているUnquoteライブラリを取得しようとしていますが、テストを実行するのに幸運を祈ることはありません。だから、私はできるだけ簡単な再生手順に踏み切った。誰かが私が逃しているかもしれないことを知っていますか?Unquote:私は何が欠けていますか?

  1. 新しいF#ライブラリプロジェクトを作成します。
  2. xUnitとUnquoteの参照を追加するには、NuGetを使用します。
  3. 、次のコードを貼り付け...

私は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リファレンスアセンブリ\マイクロソフト\ FSharp \ 3.0 \ランタイム\ V4.0 \ FSharp.Core.dll

私の代わりにこれを参照するように、それを変更し、すべてが正常に動作し始めた:

C:\プログラムファイル(x86の)\ Reference Assemblies \ Microsoft \ FSharp \ 2.0 \ Runtime \ v4.0 \ FSharp.Core.dll