在mono(mac)上运行F#exe

在mono(mac)上运行F#exe,f#,mono,F#,Mono,我已经成功地用安装了Mono(包括F#),并且一直在使用交互式shell。我还可以编译F#源文件,生成.NET EXE,但当我尝试使用Mono运行它时,会出现以下错误: Unhandled Exception: System.TypeLoadException: Could not load type '<StartupCode$HelloWorld>.$HelloWorld' from assembly 'HelloWorld, Version=0.0.0.0, Culture=n

我已经成功地用安装了Mono(包括F#),并且一直在使用交互式shell。我还可以编译F#源文件,生成.NET EXE,但当我尝试使用Mono运行它时,会出现以下错误:

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'.

我也读过,但解决方案并不能解决我的问题。有什么想法吗?

事实证明,我在两个不同的位置安装了两个不同的mono版本-2.10.6 in
/opt/local/lib/mono
和2.10.9 in
/Library/Frameworks/mono.framework
fsi
命令是与后者附带的
fsi.exe
的符号链接,而
mono
命令本身是指向前者的另一个符号链接


经验教训:确保你没有安装同一软件的两个版本

你应该安装
printfn
而不是
println
-为了让代码编译哎哟,我在帖子中打了个错字;修理。。。感谢您注意到:)我在MacBookPro上使用fsc/fsc2和mono 2.10.5构建一个liner并没有问题。另一个问题似乎只涉及缺少FSharp程序集-而不是您在这里遇到的问题。是的,我可以生成文件并获取
HelloWorld.exe
,但当我尝试使用mono运行它时,它会给我错误。我想我的mono安装可能搞砸了/@Jwosty:为什么不试试默认包含F#的?跨平台软件包非常过时,可能与最近的Mono平台不兼容。实际问题是,Fsharp lib在其中一个GAC中,而不是在另一个GAC中-运行的
fsi/fsc
使用了好的GAC,但使用
Mono Helloworld.exe
将与坏的GACOh一起运行,所以我的问题基本上和另一个问题一样,只是“半途而废”:P
printfn "Hello world"