1

我正在使用机盖,但我无法使用该waitFor方法。

我正在尝试像这样使用它:

waitFor noBlockUI

noBlockUI 函数是:

let noBlockUI () =
    (someElement "div.blockUI").IsNone

现在,waitFor 调用位于 F# 模块中的一个函数中,我正在从 C# 项目中调用该函数。

我发现我必须将 FSharp.Core 添加到我的 C# 项目中才能使任何调用正常工作。有几个 Microsoft 为 FSharp 编写的 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,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)

有什么想法我可以做些什么waitFor来工作吗?

4

1 回答 1

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>
于 2014-07-22T10:07:52.450 回答