我正在尝试获取Unquote http://code.google.com/p/unquote/在 .NET 4 中使用 xUnit 的库,但我根本没有运气让测试运行。因此,我将其分解为最简单的重现步骤。有人知道我可能会错过什么吗?
- 创建一个新的 F# 库项目。
- 使用 NuGet 添加 xUnit 和 Unquote 引用。
- 粘贴以下代码...
我直接从 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()
没关系,我已经弄清楚了。我正在使用 VS 11 预览版,尽管我在项目中以 .NET 4.0 为目标,但该项目引用了错误版本的 FSharp.Core.dll:
C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\3.0\Runtime\v4.0\FSharp.Core.dll
我将其更改为引用这个,一切都开始正常工作:
C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v4.0\FSharp.Core.dll
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)