Menyelesaikan masalah FileNotFoundException
dengan XmlSerializer
Apabila menggunakan XmlSerializer
untuk mensirikan jenis, anda mungkin menghadapi FileNotFoundException
. Ini berlaku walaupun anda belum mentakrifkan penyeri tersuai secara eksplisit.
<code class="language-csharp">XmlSerializer serializer = new XmlSerializer(typeof(MyType));</code>
Mesej ralat menunjukkan penyeri tidak dapat memuatkan pemasangan yang dijangka mengandungi penyeri tersuai untuk MyType
.
Punca Punca:
XmlSerializer
mencari penyeri bersiri ini dalam perhimpunan bernama [Containing Assembly of MyType].XmlSerializers
. Ini adalah tingkah laku standard dan proses biasanya berterusan tanpa masalah.
Menyelesaikan Pengecualian:
Dalam kebanyakan kes, pengecualian ini tidak berbahaya dan boleh diabaikan dengan selamat. Penyiaran akan selesai dengan jayanya. Untuk menyekat mesej pengecualian semasa penyahpepijatan, bagaimanapun, anda boleh melumpuhkan pengecualian peluang pertama untuk System.IO.FileNotFoundException
:
Common Language Runtime Exceptions -> System.IO -> System.IO.FileNotFoundException
.Pendekatan Proaktif:
Untuk penyelesaian yang lebih kekal, pertimbangkan untuk menggunakan alat XmlSerializerPreCompiler
Chris Sells. Alat ini pra-menjana penyeri bersiri tersuai, menghapuskan keperluan XmlSerializer
mencari pada masa jalan dan menghalang FileNotFoundException
sama sekali. Butiran lanjut boleh didapati dalam catatan blog "C# XmlSerializer FileNotFound exception."
Atas ialah kandungan terperinci Mengapa XmlSerializer Membuang FileNotFoundException, dan Bagaimana Saya Boleh Menghalangnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!