techl / MonoRemoteDebugger

Other
83 stars 18 forks source link

Exception during start on EV3 Monobrick #57

Open krm2020 opened 3 years ago

krm2020 commented 3 years ago

Hi, I would need some help.

Originally posted by @hbraasch in https://github.com/techl/MonoRemoteDebugger/issues/29#issuecomment-265998311

krm2020 commented 3 years ago

... with the issue above. It looks similar to #29. It would be very nice if you can have a look on it or give me some tips. The console output on starting the Debug Server and the versions as well as the files on the EV3 device please find below. I already tried to find out more about the "Missing method .ctor in assembly ...". It seems to occur also on other device types than EV3. Someone wrote about that the linker is to restrictive with unused objects (?). So, I think the problem doesn not have to do necessarily with the Mono on the brick. Could it be found in the Visual Studio Debug-Server project? Or is it problem with the path? Thanks in advance.

Mono version: 2.10.9 Mono CLR: v4.0.30319 (I think this corresponds to .NET 4.6.x) (Firmware: 1.2.0.39486, Image 1.1.0.0 -> the target is ARM)

root@EV3:~/MonoRemoteDebugger.Server# mono MonoRemoteDebugger.Server.exe MonoRemoteDebugger.Server v1.5.2 Missing method .ctor in assembly /home/root/MonoRemoteDebugger.Server/MonoRemoteDebugger.SharedLib.dll, type System.Runtime.CompilerServices.ExtensionAttribute Can't find custom attr constructor image: /home/root/MonoRemoteDebugger.Server/MonoRemoteDebugger.SharedLib.dll mtoken: 0x0a000001

Unhandled Exception: System.TypeLoadException: Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'MonoRemoteDebugger.SharedLib'. at MonoRemoteDebugger.Server.Program.Main (System.String[] args) [0x00000] in :0 [ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'MonoRemoteDebugger.SharedLib'. at MonoRemoteDebugger.Server.Program.Main (System.String[] args) [0x00000] in :0 root@EV3:~/MonoRemoteDebugger.Server#

EV3 files

krm2020 commented 3 years ago

Just a thought: it looks like the exception is thrown on instancing some object(s) ... (?)

techcap commented 3 years ago

Can you add this code in your project?

namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Method)] public sealed class ExtensionAttribute : Attribute { } }

krm2020 commented 3 years ago

Thanks for your tipp! I tried it just with the result below. I guess, now I need to replace the NLog.dll to a version that is compatible with Mono 2.10.9 What do you think? If I would be right, do you know where I can find a compiled dll respectively the project to do so... I have not the possibility to install a newer mono. Thanks for your help 2nd time.

Output Putty after trying it

krm2020 commented 3 years ago

Maybe the other way would be to try an oder version of the remote debugger on the EV3 device. Which version of your project could you recommend?

techcap commented 3 years ago

@krm2020 MissingMethodException came from NLog nuget package. I'm considering removing NLog dependency.

krm2020 commented 3 years ago

Hi, did you already remove the NLog dependency as you have written on Nov 23 2020 ? Regards

techcap commented 3 years ago

I didn't do it yet.