.net 在Linux w/mono-access com端口上运行exe

.net 在Linux w/mono-access com端口上运行exe,.net,linux,mono,serial-port,.net,Linux,Mono,Serial Port,我有一个用.NET编写的exe文件。我没有访问源代码的权限。我正试图通过mono在Linux机器上运行它。exe文件用于通过USB com端口推送串行数据。exe的参数之一是com端口。我已经能够在Linux中安装USB到串行电缆,并使用ln-s/dev/ttyUSBn-com1将其引用到com1; 我在Linux shell中运行:~$mono XX.exe com1;然后我返回一个错误,似乎无法访问串行端口。见下文: System.NotImplementedException:方法或操作未

我有一个用.NET编写的exe文件。我没有访问源代码的权限。我正试图通过mono在Linux机器上运行它。exe文件用于通过USB com端口推送串行数据。exe的参数之一是com端口。我已经能够在Linux中安装USB到串行电缆,并使用ln-s/dev/ttyUSBn-com1将其引用到com1; 我在Linux shell中运行:~$mono XX.exe com1;然后我返回一个错误,似乎无法访问串行端口。见下文:

System.NotImplementedException:方法或操作未实现。 在System.IO.Ports.SerialPort.set_ReceivedBytesThreshold(Int32值)处,输入:0 at(wrapper remoting invoke with check)System.IO.Ports.SerialPort:set_ReceivedBytesThreshold(int) 在xxxxxxxxx(System.String comPort,Int32波特率)处输入:0 在xxxxxxxx.ProgramLauncher.Run(System.String[]args)处运行:0

总执行时间:00:00:00.0809760


我这样做是为了证明概念;查看此exe是否可以按原样多平台使用。如果我离基地很远,请告诉我。感谢您的帮助。

您使用的是什么版本的mono?mono 3.0非常旧,请至少升级到4.2.x(例如,这是ubuntu 16.04默认提供的版本),在ubuntu 16.04 mono上的虚拟机上运行它是4.4.0。同样的错误。有人认为这可能是虚拟盒分配USB端口的方式。我在运行Ubuntu12.04 LTS(我相信)的电脑上也尝试过同样的方法,但也有同样的错误。看来你找到了一个很好的错误修复程序来帮助一个开源项目,那么你使用的是什么版本的mono?mono 3.0非常旧,请至少升级到4.2.x(例如,这是Ubuntu16.04默认提供的版本)在Ubuntu16.04Mono上的虚拟机上运行它是4.4.0。同样的错误。有人认为这可能是虚拟盒分配USB端口的方式。我在运行Ubuntu12.04LTS(我相信)的pc上尝试了同样的方法,但也有同样的错误。看来你找到了一个很好的错误修复程序来帮助一个开源项目