如何解决涉及 CurrentIndex 和内部异常的 CSVHelper 错误“路径不是有效形式”
框架 4.7.2
C#
CSVHelper 27.0.4
问题:
使用 GetRecords<T>
时,CSVReader 在 CurrentIndex 92 处抛出 ReaderException。
我不知道 CurrentIndex 是什么索引。为了使我的故障排除尽可能简单,我有一个带/不带 CRLF 的单行 CSV 文件。无论哪种方式都相同的错误。只有 46 列。
这是我的 CSVConfig:
csvConfiguration = new CsvConfiguration(CultureInfo.CurrentCulture);
csvConfiguration.Delimiter = ",";
csvConfiguration.HasHeaderRecord = false;
csvConfiguration.Quote = '\'';
csvConfiguration.BadDataFound = null;
csvConfiguration.MissingFieldFound = null;
这是我尝试读取 CSV 文件的地方
using (StreamReader reader = new StreamReader(base.FiletoImport.FiletoImport.FullName))
{
using (CsvReader csvReader = new CsvReader(reader,csvConfiguration))
{
recordlist.AddRange(csvReader.GetRecords<T>());
}
}
这是我的 csvReader 本地人: Local Debug Window,showing most things are in order
有一个内在的例外 “该路径不具有法律形式”
在 System.IO.Path.NewnormalizePath(String path,Int32 maxPathLength,Boolean expandShortPaths)
在 System.IO.Path.normalizePath(String path,Boolean fullCheck,Boolean expandShortPaths)
在 System.IO.Path.GetFullPathInternal(String path)
在 System.IO.FileInfo.Init(String fileName,Boolean checkHost)
在 System.IO.FileInfo..ctor(String fileName)
在 CsvHelper.Expressions.RecordCreator.CreateT
在 CsvHelper.Expressions.RecordManager.CreateT
在 CsvHelper.CsvReader.d__87`1.MoveNext()
StreamReader 的文件路径是:\\[a server that is not my dev pc]\[share]\[folder]\onerow2021-03-23_001029715.ParcelManifest-Memphis.wms
编辑:我想通了...
我传递给 GetRecords<T>
的类有一个最终属性,我既没有 Index 属性也没有 Ignore 属性。添加忽略属性解决了异常。
解决方法
我传递给 GetRecords 的类有一个最终属性,我既没有 Index 属性也没有 Ignore 属性。添加忽略属性解决了异常。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。