.net core ';忽略';基于串行连接的DTR

.net core ';忽略';基于串行连接的DTR,.net-core,serial-port,.net Core,Serial Port,我正在开发.NET core 3.0 windows/linux应用程序,该应用程序使用串行端口与多种类型的打印机(财政打印机)通信。它在多种设备上运行良好,但其中一种设备的驱动程序没有实现DTR功能 因此,如果我用C编写一个根本不设置DTR的代码,应用程序就会工作,但是如果我从.NET Core打开一个串行连接,框架会将DTR设置为false,然后在set\u DtrEnable方法中出现一个错误:“连接到系统的设备没有运行” 有没有办法在.NET Core中打开一个串行端口而不使用该设置?关

我正在开发.NET core 3.0 windows/linux应用程序,该应用程序使用串行端口与多种类型的打印机(财政打印机)通信。它在多种设备上运行良好,但其中一种设备的驱动程序没有实现DTR功能

因此,如果我用C编写一个根本不设置DTR的代码,应用程序就会工作,但是如果我从.NET Core打开一个串行连接,框架会将DTR设置为false,然后在set\u DtrEnable方法中出现一个错误:“连接到系统的设备没有运行”

有没有办法在.NET Core中打开一个串行端口而不使用该设置?关于如何克服这个问题有什么想法吗?编写一个小型的C应用程序并通过它运行所有的通信,总有一种黑客/斜杠的方法,但它似乎像是用猎枪猎杀蚊子


[编辑:]设备内置USB到串行适配器,这会导致问题。

可以考虑以下措施

  • 通知设备供应商并纠正设备驱动程序

  • 如果可以使用try-catch捕获错误,并且在错误发生后继续使用其他函数,则将忽略该错误

  • 排除对此类打印机/设备驱动程序的支持


  • 谢谢你的意见。我们将尝试与供应商解决问题。至于错误捕获,我不能做任何事情,因为它在打开端口时崩溃,而端口保持关闭。排除支持目前还不是一个真正的选择,主要是出于商业原因。