我刚刚通过 Nuget 将 CsvHelper 添加到我的项目中。在这里查看 CsvHelper wiki 页面:https ://github.com/JoshClose/CsvHelper/wiki/Basics ,它说 CsvHelper 公开了 WriteRecords 方法。
它去哪儿了?我在程序集中找不到它。
发生这种情况的原因很可能是 NuGet 选择了错误的 CsvHelper 版本。就像其他人评论的那样,您的项目可能具有 CsvHelper 的 .NET 2.0 版本,即使您的项目是 4.5 项目。
NuGet 中存在/现在(似乎又回来了)一个错误,它会选择库的完整 .NET 版本而不是客户端配置文件版本,即使客户端配置文件版本是更高版本,或者在您的情况下匹配版本.
在 CsvHelper 中,.NET 2.0 构建是完整版本,因为没有可用的客户端配置文件。所有其他版本都是客户端配置文件构建。
这里的解决方案是升级你的 NuGet 并希望他们修复它。如果 NuGet 选择了错误的引用,您可以手动删除引用,并在 NuGet 包的正确文件夹中选择正确的引用。
很多人都报告了这个问题,不幸的是我无法改变它;据我所理解。我向 NuGet 提交了一个错误并已修复,但有人报告说它发生在更高版本的 NuGet 上;虽然我自己还没有经历过。
这是已修复的 NuGet 错误。http://nuget.codeplex.com/workitem/2502
If you look at the source of CsvWriter
, you see that there is a WriteRecords
method. What version of CsvHelper do you have installed?
检查 .NET 目标运行时。ICSVWriter
确实公开WriteRecords
,但前提是它不针对 .NET 2.0