Как заставить waitFor работать при использовании навеса?
Я использую навес, и я не могу получить waitFor
метод для работы.
Я пытаюсь использовать это так:
waitFor noBlockUI
где функция noBlockUI:
let noBlockUI () =
(someElement "div.blockUI").IsNone
Теперь вызов waitFor находится в функции в модуле F#, и я вызываю эту функцию из проекта C#.
Я обнаружил, что мне нужно добавить FSharp.Core в мой проект на C#, чтобы все вызовы работали. Существует несколько пакетов NuGet, созданных Microsoft для FSharp:
Если я использую пакет 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
работать?
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>