[英]Why System.IO.Ports.SerialPort.GetPortNames() produces a 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 package (System.IO.Ports) 后,問題似乎不再存在。
我還沒有找到原因,盡管我嘗試將其版本改回來,但也沒有重現異常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.