Mencoba menulis konten orang ke CSVfile dan kemudian mengekspornya, namun saya mendapatkan galat build dan kegagalannya. kesalahannya adalah:
cannot convert from 'System.IO.StreamWriter' to 'CsvHelper.ISerializer'
Tidak yakin mengapa ini terjadi kecuali karena saya yakin saya telah melakukannya dengan cara ini berkali-kali.
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);
}
}
}
Ini menunjukkan
—
Jeroen Mostert
CsvHelper.CsvWriter(TextWriter)tidak dalam ruang lingkup. Periksa kembali apakah Anda mendapatkan versi paket yang benar, dan itu StreamWriteradalah kelas biasa ( System.IO.StreamWriter). Gunakan "Pergi ke Definisi" CsvWriteruntuk mengecek.
@ JoeroenMostert maksud Anda untuk memeriksa csvWriter? saya lakukan dan itu milik kelas CSVhelper yang menggunakan menggunakan CsvHelper.Configuration; menggunakan CsvHelper.TypeConversion; menggunakan Sistem; menggunakan System.Collections; menggunakan System.Collections.Generic; menggunakan System.Dynamic; menggunakan System.Globalisasi; menggunakan System.IO; menggunakan System.Threading.Tasks;
—
Andy Stav
Ya, tetapi apa yang dikatakan kompiler adalah Anda memanggil
—
Jeroen Mostert
CsvWriterkonstruktor yang membutuhkan ISerializer, dan gagal karena tidak ada konversi. Seharusnya memilih CsvWriterkonstruktor yang mengambil a TextWriter, karena StreamWritermewarisi dari itu, sehingga konstruktor itu hilang (untuk alasan apa pun) atau resolusi kelebihan kompiler rusak (sedikit kurang mungkin, tetapi hal-hal aneh telah terjadi).
StreamWriterkeISerializer?StreamWriteradalah bagian dari .NET itu sendiri - tidak dapat mengimplementasikan antarmuka dari paket pihak ketiga tertentu.