我怎样才能在使用树冠时等待工作?

时间:2014-07-21 22:08:22

标签: f# canopy-web-testing

我使用了树冠,我无法使用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工作?

1 个答案:

答案 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>