Sunny Dhanoe

Sunny Dhanoe

  • NA
  • 3
  • 2.2k

Running Dot Net exe on Linux Machine

Apr 12 2013 10:30 AM

Running Dot Net project exe on Linux which makes use of System.Management to get USB Device information

Hi, I have created a Dot Net application in C# to get USB Device Information like DeviceID, Caption, ClassGUID etc using System.Management Namespace. I'm using the ManagementObjectSearcher Method to fetch the value from Win32_DiskDrive. It's running fine on Windows. I want to run it on Linux machine. You can run Dot Net applications on Linux machine using Mono. http://mono-project.com/Main_Page

When i run my application's exe on Linux using Mono i get the following error:
Missing method .ctor in assembly /home/dvimay11/USBCamInfoNew/Debug/System.Management.dll, type System.Reflection.AssemblySignatureKeyAttribute
Can't find custom attr constructor image: /home/dvimay11/USBCamInfoNew/Debug/System.Management.dll mtoken: 0x0a000009

Unhandled Exception: System.TypeLoadException: Could not load type 'System.Reflection.AssemblySignatureKeyAttribute' from assembly 'System.Management'.
  at USBCamInfo.USBInfo.GetUSBDevices () [0x00000] in <filename unknown>:0 
  at USBCamInfo.USBInfo.LoadUSBInfo () [0x00000] in <filename unknown>:0 
  at USBCamInfo.USBInfo..ctor () [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) USBCamInfo.USBInfo:.ctor ()
  at USBCamInfo.Program.Main () [0x00000] in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Could not load type 'System.Reflection.AssemblySignatureKeyAttribute' from assembly 'System.Management'.
  at USBCamInfo.USBInfo.GetUSBDevices () [0x00000] in <filename unknown>:0 
  at USBCamInfo.USBInfo.LoadUSBInfo () [0x00000] in <filename unknown>:0 
  at USBCamInfo.USBInfo..ctor () [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) USBCamInfo.USBInfo:.ctor ()
  at USBCamInfo.Program.Main () [0x00000] in <filename unknown>:0

Can anyone help me to fix this issue. I wanted to know how i can run my Dot Net exe on a Linux machine using the System.Management Namespace to retrieve information of USB Device

Thanks


Answers (3)