Ecco un po 'di codice che non vincerà premi per la complessità:Trivial frammento di codice F # non funziona sotto MONO
[<EntryPoint>]
let main argv =
let i = 1I
printfn "One is %A\n" i
0 // return an integer exit code
E' compilato nel modo seguente: "c:/Program Files (x86)/Microsoft SDK/F #/3.0/Framework/v4.0/Fsc.exe "--out: numericstest.exe --debug: completo --target: exe --standalone Program.fs
In Windows produce l'attesa risultato. Tuttavia sotto Mono 3.0.7 compilato sotto Ubuntu si dice invece:
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
Cosa faccio di sbagliato per favore? Grazie molto.
Funziona bene con un int. Sfortunatamente, ho davvero bisogno di bigints. Sembra fallire anche con codice collegato staticamente quando presumibilmente ha la copia corretta dei numeri (già provato una versione collegata in modo dinamico, stesso risultato). Spero davvero che la risposta definitiva non sia "aspetta che Mono maturi" –
@JoeHuha - Il tuo codice funziona bene per me con F # 3.0 e mono 2.10.2. Penso che ci sia un problema con la tua installazione. –
Mono sta maturando abbastanza bene, specialmente da quando Xamarin è stato tagliato da Novell l'anno scorso. In ogni caso, proverò il tuo codice domani (se non è già stato risolto) e vedrò se mi imbatto nello stesso bug. Almeno così avrai un'idea migliore dell'ambito del bug. –