Я пробую Infer.Net ( Библиотека F # для вероятностного программирования )
И запуск примеров в VS11 Beta приводит к ошибке:
Не удалось загрузить файл или сборку 'FSharp.Core, версия = 4.0.0.0,
Культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a 'или один из ее
зависимостей. Система не может найти указанный файл.
Если я открою dll, использовавший образцы infer.net в Reflector, один, probcomp.dll, скажет, что не может автоматически найти «FSharp.Core, Version = 4.0.0.0» и что мне нужно выбрать местоположение вручную .
Две вещи связаны?
Возможно ли, что probcomp.dll был скомпилирован со ссылкой «фиксированный путь» и что теперь это не совпадает на моей машине?
PS: конечно проекты fsharp с нуля работают нормально ..
PS2: dll, на которую ссылаются в visual studio, не показывает никаких признаков того, что они не найдены. И я могу открыть их в браузере объектов.
UPDATE
Ошибка происходит сильно при запуске программы, нет времени что-либо видеть.
Тем не менее, это происходит внутри программы: если следующая строка не называется
let coinsD = inferExpr <@ coins @>
Тогда ошибок не бывает.
При этом возникает следующая ошибка, в другом примере
Неудивительно, что именно от dll поведение странного в отражателе было странным.
Не удалось загрузить файл или сборку 'FSharp.Core, версия = 4.0.0.0,
Культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a 'или один из ее
зависимостей. Определение манифеста обнаруженной сборки не
соответствовать справочному номеру сборки . (Исключение из HRESULT: 0x80131040)
Подпись указанной функции довольно странно в браузере объектов:
public static IDistribution<b>inferExpr<b>(**unknown-type e**)
ДА, в отражателе после Я сказал ему, где найти Fsharp 4.0.0 при открытии dll, у него есть подпись
public static IDistribution<b> inferExpr<b>(FSharpExpr<b> e);
Эта dll должна иметь какие-то странные зависимости жестких ссылок, а рефлектор умнее (или нет ..), чем VS, чтобы понять это.
Чтобы сделать хорошее из плохого, если у вас есть какое-либо представление о том, что могло бы произойти в этой dll, это может быть поводом для изучения.