人のコンテンツをCSVファイルに書き込んでからエクスポートしようとすると、ビルドエラーが発生して失敗します。エラーは:
cannot convert from 'System.IO.StreamWriter' to 'CsvHelper.ISerializer'
これが何度もこの方法で実行したことが確実でない限り、なぜこれが起こっているのかはわかりません。
private void ExportAsCSV()
{
using (var memoryStream = new MemoryStream())
{
using (var writer = new StreamWriter(memoryStream))
{
using (var csv = new CsvHelper.CsvWriter(writer))
{
csv.WriteRecords(people);
}
var arr = memoryStream.ToArray();
js.SaveAs("people.csv",arr);
}
}
}
これは
—
Jeroen Mostert
CsvHelper.CsvWriter(TextWriter)
範囲外であることを示唆しています。パッケージの正しいバージョンを取得していること、およびそれStreamWriter
が通常のクラス(System.IO.StreamWriter
)であることを再確認してください。「定義に移動」を使用しCsvWriter
て再確認します。
@JeroenMostert csvWriterをチェックするつもりでしたか?私はそうしました、それはCsvHelper.Configurationを使用するCSVhelperクラスに属しています。CsvHelper.TypeConversionを使用します。システムの使用; System.Collectionsを使用します。System.Collections.Generic;を使用します。System.Dynamicを使用します。System.Globalizationを使用します。System.IOを使用します。System.Threading.Tasksを使用します。
—
Andy Stav
はい、しかしコンパイラがあなたに言っていることは、それがを
—
Jeroen Mostert
CsvWriter
とるコンストラクタを呼び出していることでありISerializer
、変換がないので失敗しています。それを拾っているはずCsvWriter
取るコンストラクタTextWriter
いるので、StreamWriter
(何らかの理由で)ので、いずれかのコンストラクタが欠落していること、それから、継承やコンパイラのオーバーロードの解決が壊れている(少しは劣勢を、しかし奇妙事が起きています)。
StreamWriter
にISerializer
?StreamWriter
.NET自体の一部です。特定のサードパーティパッケージのインターフェイスを実装することはできません。