Nugetを介してプロジェクトにCsvHelperを追加しました。ここでCsvHelperwikiページを見る:https ://github.com/JoshClose/CsvHelper/wiki/Basics 、それはCsvHelperがWriteRecordsメソッドを公開していると言います。
どこに行ったの?アセンブリに見つかりません。
これが発生した理由は、NuGetが間違ったバージョンのCsvHelperを選択していた可能性が高いためです。他の人がコメントしているように、プロジェクトが4.5プロジェクトであっても、プロジェクトにはおそらくCsvHelperの.NET2.0ビルドが含まれています。
NuGetには、クライアントプロファイルのバージョンが上位バージョンであるか、場合によっては一致するバージョンであっても、クライアントプロファイルバージョンではなくライブラリの完全な.NETバージョンを選択するバグがありました(戻ってくるようです)。 。
CsvHelperでは、使用可能なクライアントプロファイルがないため、.NET2.0ビルドはフルバージョンです。他のすべてのバージョンは、クライアントプロファイルビルドです。
ここでの解決策は、NuGetをアップグレードして、修正されることを期待することです。NuGetが間違ったものを選択した場合は、手動で参照を削除し、代わりにNuGetパッケージの正しいフォルダーで正しいものを選択できます。
多くの人がこの問題を報告していますが、残念ながら私にできることは何もありません。私が理解する限りでは。NuGetにバグを報告して修正しましたが、NuGetの新しいバージョンで発生すると報告している人もいます。私はこれを自分自身で経験したことはありませんが。
これは修正されたNuGetのバグです。http://nuget.codeplex.com/workitem/2502
.NETターゲットランタイムを確認してください。ICSVWriter
公開しますWriteRecords
が、.NET2.0を対象としない場合に限ります
のソースをCsvWriter
見ると、メソッドがあることがわかりますWriteRecords
。どのバージョンのCsvHelperをインストールしましたか?