【发布时间】:2013-04-12 22:55:19
【问题描述】:
您好,我在 C# 中创建了一个 Dot Net 应用程序,以使用 System.Management 命名空间获取 USB 设备信息,如 DeviceID、Caption、ClassGUID 等。我正在使用 ManagementObjectSearcher 方法从 Win32_DiskDrive 获取值。它在 Windows 上运行良好。我想在 Linux 机器上运行它。您可以使用 Mono 在 Linux 机器上运行 Dot Net 应用程序。
http://mono-project.com/Main_Page当我使用 Mono 在 Linux 上运行我的应用程序的 exe 时,我收到以下错误:
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
谁能帮我解决这个问题。我想知道如何使用 System.Management 命名空间在 Linux 机器上运行我的 Dot Net exe 来检索 USB 设备的信息
谢谢
【问题讨论】:
-
这可能在 Mono 上不受支持,因为 Linux(以及可能的其他平台)上的系统管理内容大不相同
-
有什么方法可以在 Linux 上获取 USB 信息,如 USB ID、设备信息、制造商等,我可以将它集成到我的点网应用程序中。
标签: c# .net linux mono system.management