c# - 在 c# 中使用 Csvhelper UseExcelLeadingZerosFormatForNumerics =true 配置时出现 MissingMethodException

标签 c# excel csv csvhelper

我正在使用 Csvhelper(2.16 版)将记录写入 csv 文件。

https://joshclose.github.io/CsvHelper/#getting-started

当生成的 csv 文件以 excel 格式打开时,我想保留前导零,
所以我在编写 csv 文件时使用了 UseExcelLeadingZerosFormatForNumerics= true 配置。

using (SqlDataReader dataReader = sqlHelper.ExecuteReader(sqlQuery, parameters))
                {
                    using (StreamWriter writer = new StreamWriter(csvfilepathTowrite))
                    {
                        CsvConfiguration config = new CsvConfiguration
                        {
                            UseExcelLeadingZerosFormatForNumerics = true
                        };

                        var csv = new CsvWriter(writer, config);

                        if (dataReader != null)
                        {
                            for (var i = 0; i < dataReader.FieldCount; i++)
                            {
                                csv.WriteField(dataReader.GetName(i));
                            }
                            csv.NextRecord();
                            while (dataReader.Read())
                            {
                                for (var i = 0; i < dataReader.FieldCount; i++)
                                {
                                    csv.WriteField(dataReader[i]);
                                }
                                csv.NextRecord();
                            }
                        }
                        else
                        {
                           //exception
                        }
                    }
                }

但它会引发以下异常

找不到方法:
'无效 CsvHelper.Configuration.CsvConfiguration.set_UseExcelLeadingZerosFormatForNumerics(Boolean)'。

这里可能有什么问题?

谢谢,
阿莫尔

最佳答案

MissingMethodException 几乎总是意味着您的应用程序正在使用与用于编译它的程序集不同的程序集版本运行。

在这种情况下,这是因为您的主应用程序引用的另一个项目使用了旧版本的 CsvHelper 库,其中该属性不存在,因此找不到它的 getter 方法。

确保解决方案中的所有项目都引用相同版本的库,这样它的程序集就不会在构建时被旧版本覆盖。

关于c# - 在 c# 中使用 Csvhelper UseExcelLeadingZerosFormatForNumerics =true 配置时出现 MissingMethodException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39657656/

相关文章:

Ruby - 在内存中创建文件

MYSQL 查询结果导出为.csv

c# - 获取 ASP :Menu to center in the middle of the page

c# - 如何裁剪巨大的图像

Java 从 URL 下载文件名未知的文件

php - 为什么我的 Content-Length header 错误?

csv - 在Python中合并三个具有相同标题的csv文件

c# - Environment.GetCommandLineArgs() 解析是否可以重用?

c# - 按钮的 Xamarin 自定义渲染器 (iOS)

excel - 在 Excel 中进行数据透视而不进行聚合,以显示文本而不是数字?