【问题标题】:System.IO.DirectoryNotFoundException when calling SerialDevice.FromIdAsync调用 SerialDevice.FromIdAsync 时出现 System.IO.DirectoryNotFoundException
【发布时间】:2020-03-10 19:07:04
【问题描述】:

我正在制作一个简单的帮助类来访问我的条形码扫描仪。我可以使用 SerialPort 构造函数来做到这一点:

new SerialPort("COM4", 9600, Parity.None, 8, StopBits.One);

但我希望我的班级能够自动检测正确的端口名称,所以我首先找到了 DeviceInformation:

var all = await DeviceInformation.FindAllAsync();

var foundBarcode = all.First(device => device.Name.ToLower().Contains("barcode"));

然后我尝试像这样得到它:

var serialDevice = await SerialDevice.FromIdAsync(foundBarcode.Id);

但是当我这样做时,我在 System.Private.CoreLib.dll 中得到“System.IO.DirectoryNotFoundException”。

我该如何解决?

PS。 我的清单中有串行通信功能。

【问题讨论】:

    标签: exception uwp serial-port barcode-scanner


    【解决方案1】:

    貌似找到了解决办法

    DeviceInformation.FindAllAsync();
    

    返回 id 不同的项目

    string selector = SerialDevice.GetDeviceSelector();
    var all = await DeviceInformation.FindAllAsync(selector);
    

    现在它可以工作了,我猜第一种方法会为模拟 COM 添加一些 USB 标识符。

    【讨论】:

      猜你喜欢
      • 2021-04-25
      • 2018-07-02
      • 1970-01-01
      • 2016-05-17
      • 2015-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-10
      相关资源
      最近更新 更多