FSharp.Core: не удалось загрузить файл или сборку
У меня есть следующая ошибка при попытке запустить тест:
{System.IO.FileLoadException: не удалось загрузить файл или сборку 'FSharp.Core, версия =3.3.1.0, культура = нейтральная, PublicKeyToken=b03f5f7f11d50a3a' или одна из ее зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040) Имя файла: 'FSharp.Core, версия =3.3.1.0, культура = нейтральная, PublicKeyToken=b03f5f7f11d50a3a' в Register.RegisterResponse.__ DebugDisplay ()
Tests.dll
FSharp.Core: 3.1.2.5
Целевая среда выполнения F#: 4.3.1.0
Целевая структура: 4.6
Тип вывода: библиотека классов
ManageAccount.dll
FSharp.Core: 3.1.2.5
Целевая среда выполнения F#: 3.3.1.0
Целевая среда: переносимое подмножество.NET (.Net Framework 4.5, ASP.Net Core 1.0, Windows 8)
Тип вывода: библиотека классов
Затем я добавил следующую конфигурацию приложения в свой тестовый проект:
<?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="3.1.2.5" newVersion="3.3.1.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Если мне нужен конфиг приложения, какое значение должно быть установлено для моего bindingRedirect?
2 ответа
Пытаться <bindingRedirect oldVersion="0.0.0.0-999.999.999.999" newVersion="3.3.1.0" />
, Это то, что большинство F# проектов, похоже, делают для FSharp.Core. (Или же newVersion="4.3.1.0"
, или даже newVersion="4.4.0.0"
если вы обновитесь до более новой версии FSharp.Core).
Вы должны использовать новейшую версию (4.3.1.0
в этом случае) в bindingRedirect/newVersion
иначе вы, вероятно, получите ошибки из кода в Tests.dll
сборка, которая опирается на более новую версию.
В качестве альтернативы вы можете обновить ссылку в одной из сборок (понизить Tests.dll
или обновить ManageAccount.dll
) так что они оба используют одну и ту же версию.