2012-07-01 6 views
0

Я установил Mono успешно с mac installer (включая F #) и играл с интерактивной оболочкой. Я также могу скомпилировать F # исходные файлы просто отлично для создания .NET EXE, но когда я пытаюсь запустить его с Mono, я получаю ошибку:Запуск F # exe на mono (mac)

Unhandled Exception: System.TypeLoadException: Could not load type '<StartupCode$HelloWorld>.$HelloWorld' from assembly 'HelloWorld, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'. 
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Could not load type '<StartupCode$HelloWorld>.$HelloWorld' from assembly 'HelloWorld, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'. 

содержимое файла - HelloWorld.fs - это просто

printfn "Hello world" 

Я также читал this question, но решение не решает мою проблему. Есть идеи?

+0

Вы должны 'printfn' вместо' println' - получить код для компиляции –

+0

Упс, я сделал опечатку в должность; исправление ... Спасибо, что заметили это :) – Jwosty

+0

У меня нет проблем с построением этого однострочного файла с использованием fsc/fsc2 и с использованием mono 2.10.5 на моем Macbook Pro. Другой вопрос кажется, что он просто покрывает отсутствующую сборку FSharp - не проблема, с которой вы здесь сталкиваетесь. – ravuya

ответ

0

Оказывается, у меня было 2 разных моно версии, установленных в двух отдельных местах - 2.10.6 в /opt/local/lib/mono и 2.10.9 в /Library/Frameworks/Mono.framework. Команда fsi была символической ссылкой на fsi.exe, которая была отправлена ​​последним, а сама команда mono была другой символической ссылкой, указывающей на первую.

урок: Убедитесь, что вы не имеете две версии одного и того же программного обеспечения, установленного

+0

Фактическая проблема тогда была бы в том, что библиотеки Fsharp были в одном из GAC, но не в другом - запущен 'fsi/fsc' использовал хороший GAC, но использование' mono Helloworld.exe' было бы запущено с плохим GAC –

+0

О, так что у меня в основном была такая же проблема, как и у другого вопроса, только «на полпути»: P – Jwosty