我使用了树冠,我无法使用waitFor
方法。
我试图像这样使用它:
waitFor noBlockUI
其中noBlockUI函数是:
let noBlockUI () =
(someElement "div.blockUI").IsNone
现在,waitFor调用是在F#模块中的一个函数中,我从C#项目中调用该函数。
我发现我必须将FSharp.Core添加到我的C#项目中以使任何调用工作。 FSharp有几个Microsoft编写的NuGet包:
如果我使用4.0.0软件包,那么当执行使用waitFor命中方法时,我会收到此错误:
System.MissingMethodException:找不到方法:' Microsoft.FSharp.Core.FSharpOption`1 canopy.core.someElement(System.String)'。
但如果我使用4.3.0.0软件包,那么当我尝试运行测试时,我会立即得到这个:
System.TypeInitializationException:'。$ canopy.core'的类型初始值设定项。抛出一个例外。 ----> System.IO.FileLoadException:无法加载文件或程序集' FSharp.Core,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其中一个依赖项。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)
我能做些什么让waitFor
工作?
答案 0 :(得分:1)
尝试添加包含以下内容的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.0.0" newVersion="4.3.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>