c# - CsvHelper 不公开 WriteRecords

标签 c# nuget csvhelper

我刚刚通过 Nuget 将 CsvHelper 添加到我的项目中。 在此处查看 CsvHelper wiki 页面:https://github.com/JoshClose/CsvHelper/wiki/Basics ,它说 CsvHelper 公开了一个 WriteRecords 方法。

它去哪儿了?我在程序集中找不到它。

Where did WriteRecords Method go?

最佳答案

发生这种情况的原因很可能是 NuGet 选择了错误版本的 CsvHelper。就像其他人评论的那样,您的项目可能具有 CsvHelper 的 .NET 2.0 版本,即使您的项目是 4.5 项目。

NuGet 中曾经/现在(似乎又回来了)一个错误,它将选择库的完整 .NET 版本而不是客户端配置文件版本,即使客户端配置文件版本是更高版本或匹配版本在你的情况下。

在 CsvHelper 中,.NET 2.0 构建是完整版本,因为没有可用的客户端配置文件。所有其他版本都是客户端配置文件构建。

此处的解决方案是升级您的 NuGet 并希望他们已将其修复。如果 NuGet 选择错误,您可以手动删除引用,然后在 NuGet 包的正确文件夹中选择正确的。

很多人都反射(reflect)了这个问题,很遗憾,我无能为力;据我所理解。我用 NuGet 提交了一个错误并已修复,但有些人报告说它发生在更高版本的 NuGet 上;虽然我自己还没有经历过。

这是修复的 NuGet 错误。 http://nuget.codeplex.com/workitem/2502

关于c# - CsvHelper 不公开 WriteRecords,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14131700/

相关文章:

c# - 将字符串列表作为参数传递给控制台应用程序

powershell - 如何从 powershell 设置 csproj 文件使用的启动操作(外部程序)

c# - 忽略引号内的分隔符 CsvHelper

c# - CsvHelper 在糟糕的日期上呕吐(关于使用 Configuration.Seed() 进行的 EF 迁移)

c# - 删除字符串的最后一个字符

c# - 如何将路由参数注入(inject)_Layout.cshtml

c# - 用户凭据在 asp.net 网站中以明文形式发送

c# - 包 X 与 netcoreapp3.1 不兼容

.net - 在 Visual Studio 2012 express 上通过 Nuget 的 NUnit.Runners 不起作用

csvhelper - CSVHelper v23 中的PrepareHeaderForMatch 更改