2013-04-26 4 views
5

altında çalışmıyor/Program Files (x86)/Microsoft SDKs/F #/3.0/Framework/v4.0/Fsc.exe "--out: numericstest.exe --debug: tam --target: exe --standalone Program.fsÖnemsiz pasajı karmaşıklık için bir ödül kazanmak değil kodun biraz MONO

Windows altında beklenenleri üretiyor sonuç. Ancak Mono 3.0.7 altında Ubuntu altında derlenmiştir, bunun yerine diyor ki:

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 

Neyi yanlış yapıyorum? Çok teşekkürler.

cevap

2

Kodunuzda yanlış bir şey yok - bu istisnanın neden olduğu kodunuzdan kaynaklanıyor. Makinenizdeki System.Numerics.dll aksamı ile ilgili bir sorun var gibi görünüyor; ya da düzgün yüklenmemiş, yanlış derlenmiş (örneğin, Mono C# derleyicisi tarafından), ya da bu gibi çalışmıyor gibi bir tür yönlendirme yapıyor, vb.

Kod olmadan çalıştırırsanız ne olur? BigInteger kullanarak (I son eki)?


Kodunuzu VirtualBox altında çalışan Ubuntu (12.04, 32 bit) VM'de denedim. Kod derlendi ve beklendiği gibi koştu.

Derleme/Çalıştır

[email protected]:~/Desktop$ fsharpc --out:JoeHuha.exe --debug:full --target:exe --standalone JoeHuha.fs 
F# Compiler for F# 3.0 (Open Source Edition) 
Freely distributed under the Apache 2.0 Open Source License 
[email protected]:~/Desktop$ mono JoeHuha.exe 
One is 1 

Mono sürüm bilgisi Bir int ile gayet güzel çalışıyor

[email protected]:~/Desktop$ mono -V 
Mono JIT compiler version 3.0.5 (master/1643364 Fri Feb 22 19:31:07 EST 2013) 
Copyright (C) 2002-2012 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com 
    TLS:   __thread 
    SIGSEGV:  altstack 
    Notifications: epoll 
    Architecture: x86 
    Disabled:  none 
    Misc:   softdebug 
    LLVM:   supported, not enabled. 
    GC:   Included Boehm (with typed GC and Parallel Mark) 
+0

: Burada isterseniz çıkış var. Maalesef gerçekten büyüklere ihtiyacım var. Sayısal olarak doğru bir kod kopyasına sahip olduğu zaman, statik olarak bağlantılı kodla bile başarısız olur (zaten dinamik olarak bağlantılı bir versiyon, aynı sonuç denenmiş). Umarım nihai cevap "Mono olgunlaşıncaya kadar beklemez" –

+0

@JoeHuha - Kodunuz F # 3.0 ve mono 2.10.2 ile benim için iyi çalışıyor. Yüklemenizde bir sorun olduğunu düşünüyorum. –

+0

Mono, özellikle Xamarin'in geçen yıl Novell'den indirilmesinden bu yana oldukça güzel olgunlaşıyor. Her halükarda, kodunuzu yarın deneyeceğim (eğer çözülmediyse) ve aynı hataya girip girmediğimi göreceğim. Bu şekilde en azından hatanın kapsamı hakkında daha iyi bir fikre sahip olacaksınız. –