hier ein Stück Code, das nicht Auszeichnungen für Komplexität gewinnen:Trivial Schnipsel von F # -Code funktioniert nicht unter MONO
[<EntryPoint>]
let main argv =
let i = 1I
printfn "One is %A\n" i
0 // return an integer exit code
Es kompiliert wie folgt: „c:/Program Files (x86)/Microsoft SDKs/F #/3.0/Framework/v4.0/Fsc.exe "--out: numericstest.exe --debug: voll --target: exe --standalone Program.fs
Unter Windows produziert es das erwartete Ergebnis. Allerdings unter Mono 3.0.7 kompiliert unter Ubuntu sagt es stattdessen:
mono numericstest.exe
Unhandled Exception: System.InvalidProgramException: Invalid IL code in System.Numerics.BigInteger:get_One(): method body is empty.
at Program.main (System.String[] argv) [0x00000] in <filename unknown>:0[ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidProgramException: Invalid IL code in System.Numerics.BigInteger:get_One(): method body is empty.
at Program.main (System.String[] argv) [0x00000] in <filename unknown>:0
Was mache ich bitte falsch? Danke vielmals.
Es mit einem int ganz gut funktioniert. Leider brauche ich wirklich Bigints. Es scheint sogar mit statisch verknüpftem Code zu versagen, wenn es vermutlich die korrekte Kopie von Zahlen hat (bereits eine dynamisch verknüpfte Version versucht, dasselbe Ergebnis). Ich hoffe wirklich, die ultimative Antwort wird nicht "warten bis Mono reift" –
@JoeHuha - Ihr Code funktioniert gut für mich mit F # 3.0 und Mono 2.10.2. Ich denke, es gibt ein Problem mit Ihrer Installation. –
Mono reift sehr gut, besonders seit Xamarin letztes Jahr von Novell abgeschnitten hat. In jedem Fall werde ich morgen deinen Code ausprobieren (wenn es nicht schon gelöst ist) und sehen, ob ich auf denselben Bug stoße. Auf diese Weise haben Sie zumindest eine bessere Vorstellung vom Umfang des Fehlers. –