PDA

View Full Version : حرفه ای: بعضی از assembly ها فایل های so رو پیدا نمی کنند.



FastCode
دوشنبه 01 اسفند 1390, 12:32 عصر
سلام.
پس از چند هفته تلاش تونستم یه برنامه ویندوز رو تبدیل کنم به مونو.
این برنامه دو تا فایل اجرایی داره.
Server و Client.
NSLib و Esfand
server رو اول تبدیل کردم.
و کار کرد.
Client یک خطای عجیب میده:

behrooz@behrooz:~/Desktop/Projects/Esfand/Esfand/bin/Release$ ./Esfand.exe

Unhandled Exception: System.InvalidProgramException: Invalid IL code in System.Windows.Forms.Control:get_ModifierKeys (): method body is empty.

at Esfand.Program.Main (System.String[] a) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidProgramException: Invalid IL code in System.Windows.Forms.Control:get_ModifierKeys (): method body is empty.

at Esfand.Program.Main (System.String[] a) [0x00000] in <filename unknown>:0


دقیقتر:

behrooz@behrooz:~/Desktop/Projects/Esfand/Esfand/bin/Release$ MONO_LOG_LEVEL="debug" MONO_LOG_MASK="all" mono --runtime=v4.0 --config Esfand.exe.config Esfand.exe
Mono: gc took 57 usecs
Mono: Assembly Loader probing location: '/usr/local/lib/mono/4.0/mscorlib.dll'.
Mono: Image addref mscorlib[0xc84c50] -> /usr/local/lib/mono/4.0/mscorlib.dll[0xc83eb0]: 2
Mono: AOT failed to load AOT module /usr/local/lib/mono/4.0/mscorlib.dll.so: /usr/local/lib/mono/4.0/mscorlib.dll.so: cannot open shared object file: No such file or directory

Mono: Assembly Loader loaded assembly from location: '/usr/local/lib/mono/4.0/mscorlib.dll'.
Mono: Config attempting to parse: '/usr/local/lib/mono/4.0/mscorlib.dll.config'.
Mono: Config attempting to parse: '/usr/local/etc/mono/assemblies/mscorlib/mscorlib.config'.
Mono: Assembly mscorlib[0xc84c50] added to domain Esfand.exe, ref_count=1
Mono: Config attempting to parse: 'Esfand.exe.config'.
Mono: Assembly Loader probing location: 'Esfand.exe'.
Mono: Image addref Esfand[0xd02910] -> /home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/Esfand.exe[0xd01bf0]: 2
Mono: Assembly Esfand[0xd02910] added to domain Esfand.exe, ref_count=1
Mono: AOT failed to load AOT module /home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/Esfand.exe.so: /home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/Esfand.exe.so: cannot open shared object file: No such file or directory

Mono: Assembly Loader loaded assembly from location: 'Esfand.exe'.
Mono: Config attempting to parse: '/home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/Esfand.exe.config'.
Mono: Config attempting to parse: '/usr/local/etc/mono/assemblies/Esfand/Esfand.config'.
Mono: Assembly Loader probing location: 'Esfand.exe'.
Mono: AOT failed to load AOT module /home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/Esfand.exe.so: /home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/Esfand.exe.so: cannot open shared object file: No such file or directory

Mono: Assembly Ref addref Esfand[0xd02910] -> mscorlib[0xc84c50]: 2
Mono: Config attempting to parse: '/home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/Esfand.exe.config'.
Mono: Assembly Loader probing location: '/home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.Drawing.dll'.
Mono: Image addref System.Drawing[0xd0be60] -> /home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.Drawing.dll[0xd0b350]: 2
Mono: Assembly System.Drawing[0xd0be60] added to domain Esfand.exe, ref_count=1
Mono: AOT failed to load AOT module /home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.Drawing.dll.so: /home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.Drawing.dll.so: cannot open shared object file: No such file or directory

Mono: Assembly Loader loaded assembly from location: '/home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.Drawing.dll'.
Mono: Config attempting to parse: '/home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.Drawing.dll.config'.
Mono: Config attempting to parse: '/usr/local/etc/mono/assemblies/System.Drawing/System.Drawing.config'.
Mono: Assembly Ref addref Esfand[0xd02910] -> System.Drawing[0xd0be60]: 2
Mono: Assembly Ref addref System.Drawing[0xd0be60] -> mscorlib[0xc84c50]: 3
Mono: Assembly Loader probing location: '/home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.Windows.Forms.dll'.
Mono: Image addref System.Windows.Forms[0xd0f300] -> /home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.Windows.Forms.dll[0xd0e480]: 2
Mono: Assembly System.Windows.Forms[0xd0f300] added to domain Esfand.exe, ref_count=1
Mono: AOT failed to load AOT module /home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.Windows.Forms.dll.so: /home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.Windows.Forms.dll.so: cannot open shared object file: No such file or directory

Mono: Assembly Loader loaded assembly from location: '/home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.Windows.Forms.dll'.
Mono: Config attempting to parse: '/home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.Windows.Forms.dll.config'.
Mono: Config attempting to parse: '/usr/local/etc/mono/assemblies/System.Windows.Forms/System.Windows.Forms.config'.
Mono: Assembly Ref addref Esfand[0xd02910] -> System.Windows.Forms[0xd0f300]: 2
Mono: Assembly Loader probing location: '/home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.dll'.
Mono: Image addref System[0xd18220] -> /home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.dll[0xd173c0]: 2
Mono: Assembly System[0xd18220] added to domain Esfand.exe, ref_count=1
Mono: AOT failed to load AOT module /home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.dll.so: /home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.dll.so: cannot open shared object file: No such file or directory

Mono: Assembly Loader loaded assembly from location: '/home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.dll'.
Mono: Config attempting to parse: '/home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.dll.config'.
Mono: Config attempting to parse: '/usr/local/etc/mono/assemblies/System/System.config'.
Mono: Assembly Ref addref System.Windows.Forms[0xd0f300] -> System[0xd18220]: 2
Mono: Assembly Ref addref System[0xd18220] -> mscorlib[0xc84c50]: 4
Mono: Assembly Ref addref System.Windows.Forms[0xd0f300] -> mscorlib[0xc84c50]: 5
Mono: Assembly Loader probing location: '/usr/local/lib/mono/gac/System.Core/4.0.0.0__b77a5c561934e089/System.Core.dll'.
Mono: Image addref System.Core[0xd28a10] -> /usr/local/lib/mono/gac/System.Core/4.0.0.0__b77a5c561934e089/System.Core.dll[0xd27d50]: 2
Mono: Assembly System.Core[0xd28a10] added to domain Esfand.exe, ref_count=1
Mono: AOT failed to load AOT module /usr/local/lib/mono/gac/System.Core/4.0.0.0__b77a5c561934e089/System.Core.dll.so: /usr/local/lib/mono/gac/System.Core/4.0.0.0__b77a5c561934e089/System.Core.dll.so: cannot open shared object file: No such file or directory

Mono: Assembly Loader loaded assembly from location: '/usr/local/lib/mono/gac/System.Core/4.0.0.0__b77a5c561934e089/System.Core.dll'.
Mono: Config attempting to parse: '/usr/local/lib/mono/gac/System.Core/4.0.0.0__b77a5c561934e089/System.Core.dll.config'.
Mono: Config attempting to parse: '/usr/local/etc/mono/assemblies/System.Core/System.Core.config'.
Mono: Assembly Ref addref Esfand[0xd02910] -> System.Core[0xd28a10]: 2
Mono: Assembly Ref addref System.Core[0xd28a10] -> mscorlib[0xc84c50]: 6
Mono: Assembly Ref addref System.Windows.Forms[0xd0f300] -> System.Drawing[0xd0be60]: 3
Mono: Assembly Loader probing location: '/usr/local/lib/mono/gac/Accessibility/4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll'.
Mono: Image addref Accessibility[0xd45a30] -> /usr/local/lib/mono/gac/Accessibility/4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll[0xd44d90]: 2
Mono: Assembly Accessibility[0xd45a30] added to domain Esfand.exe, ref_count=1
Mono: AOT failed to load AOT module /usr/local/lib/mono/gac/Accessibility/4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll.so: /usr/local/lib/mono/gac/Accessibility/4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll.so: cannot open shared object file: No such file or directory

Mono: Assembly Loader loaded assembly from location: '/usr/local/lib/mono/gac/Accessibility/4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll'.
Mono: Config attempting to parse: '/usr/local/lib/mono/gac/Accessibility/4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll.config'.
Mono: Config attempting to parse: '/usr/local/etc/mono/assemblies/Accessibility/Accessibility.config'.
Mono: Assembly Ref addref System.Windows.Forms[0xd0f300] -> Accessibility[0xd45a30]: 2
Mono: Assembly Ref addref Esfand[0xd02910] -> System[0xd18220]: 3
Mono: Assembly Loader probing location: '/home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/NSLib.exe'.
Mono: Image addref NSLib[0xd58be0] -> /home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/NSLib.exe[0xd58190]: 2
Mono: Assembly NSLib[0xd58be0] added to domain Esfand.exe, ref_count=1
Mono: AOT failed to load AOT module /home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/NSLib.exe.so: /home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/NSLib.exe.so: cannot open shared object file: No such file or directory

Mono: Assembly Loader loaded assembly from location: '/home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/NSLib.exe'.
Mono: Config attempting to parse: '/home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/NSLib.exe.config'.
Mono: Config attempting to parse: '/usr/local/etc/mono/assemblies/NSLib/NSLib.config'.
Mono: Assembly Ref addref Esfand[0xd02910] -> NSLib[0xd58be0]: 2
Mono: Assembly Ref addref NSLib[0xd58be0] -> mscorlib[0xc84c50]: 7
Mono: Assembly Loader probing location: '/home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.Data.dll'.
Mono: Image addref System.Data[0xd9e2f0] -> /home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.Data.dll[0xd9d7e0]: 2
Mono: Assembly System.Data[0xd9e2f0] added to domain Esfand.exe, ref_count=1
Mono: AOT failed to load AOT module /home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.Data.dll.so: /home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.Data.dll.so: cannot open shared object file: No such file or directory

Mono: Assembly Loader loaded assembly from location: '/home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.Data.dll'.
Mono: Config attempting to parse: '/home/behrooz/Desktop/Projects/Esfand/Esfand/bin/Release/System.Data.dll.config'.
Mono: Config attempting to parse: '/usr/local/etc/mono/assemblies/System.Data/System.Data.config'.
Mono: Assembly Ref addref Esfand[0xd02910] -> System.Data[0xd9e2f0]: 2
Mono: Assembly Ref addref System.Data[0xd9e2f0] -> mscorlib[0xc84c50]: 8
Mono: Assembly Ref addref NSLib[0xd58be0] -> System[0xd18220]: 4

Unhandled Exception: System.InvalidProgramException: Invalid IL code in System.Windows.Forms.Control:get_ModifierKeys (): method body is empty.

at Esfand.Program.Main (System.String[] a) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidProgramException: Invalid IL code in System.Windows.Forms.Control:get_ModifierKeys (): method body is empty.

at Esfand.Program.Main (System.String[] a) [0x00000] in <filename unknown>:0


خیلی توی اینترنت گشتم.
از همه کسایی که دنبال راه حل میگشتن جلوترم(البته اونهایی که من پیدا کردم)

مشکل برنامه اینه که هیچ library ای رو load نمیکنه.
به gac ربط داره ولی نمیدونم چطوری

لیست فایلهای /usr/lib/mono رو attach کردم

FastCode
دوشنبه 01 اسفند 1390, 17:21 عصر
همینجاست که میگن دشمن سبب خیر شود.

Monodevelop هنگ کرد. بستمش.
chmod -R 777 .
chown -R somebody .
نصف پروژه غیب شد.
پروژه رو از اول ساختم.
فایل ها رو از git برگردوندم و برنامه کار کرد
یک مقدار روی برنامه کار کردم.دوباره خراب شد.
یکی به من بگه چی شد.

FastCode
پنج شنبه 04 اسفند 1390, 18:23 عصر
علت رو پیدا کردم.
وقتی clean میکردم dll های ویندوز از build ی که در ویندوز بوده پاک نمیشه.directory ه bin رو پاک کردم.
reference هایی رو هم که به ویندوز وابسته بودن (استفاده نمیکردن/فقط وابسته بودن) رو هم پاک کردم.