c# - 为什么 System.IO.Ports.SerialPort.GetPortNames() 会产生 DirectoryNotFoundException?
问题描述
只有一行:
System.IO.Ports.SerialPort.GetPortNames();
调试的时候效果很好,但是发布的版本会产生DirectoryNotFoundException:
System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\dev'.
at System.IO.Enumeration.FileSystemEnumerator`1.CreateDirectoryHandle(String path, Boolean ignoreNotFound)
at System.IO.Enumeration.FileSystemEnumerator`1.Init()
at System.IO.Enumeration.FileSystemEnumerator`1..ctor(String directory, Boolean isNormalized, EnumerationOptions options)
at System.IO.Enumeration.FileSystemEnumerable`1..ctor(String directory, FindTransform transform, EnumerationOptions options, Boolean isNormalized)
at System.IO.Enumeration.FileSystemEnumerableFactory.UserFiles(String directory, String expression, EnumerationOptions options)
at System.IO.Directory.InternalEnumeratePaths(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
at System.IO.Ports.SerialPort.GetPortNames()
at ...
在磁盘 D 中的某处运行时,它会尝试查找D:\dev
而不是C:\dev
.
创建目录可以让它工作,但是为什么需要这样的目录呢?
解决方案
谢谢大家。在我更新了 nuget 包(System.IO.Ports)之后,问题似乎不再存在了。
我还没有找到原因,尽管我尝试将其版本改回来,但也没有重现异常。
推荐阅读
- tfs - TFS 2015 vNext 构建目录不是空的错误
- azure - 使用 Api 网关 IP 进行后端调用
- javascript - 根据复选框显示隐藏内容,如果选中一个复选框禁用另一个复选框
- spring-boot - th:field="${something}" 和 th:field="*{something}" 有什么区别?
- javascript - javascript导出语法之间有什么区别?
- html - 如何从 FileList 中的视频中获取预览图像?HTML 反应
- deep-learning - 如何从 MRI 切片中获取通道 = 3?
- razor - Asp.net core 3.0 razor pages - 从列表创建动态网格
- apache-nifi - 如何在 nifi 中增加 Base64EncodeContent 1.9.2 组大小限制
- ios - 使用 Codable 解析嵌套的无键 JSON