Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Memaksa Visual Studio untuk Menjana Perhimpunan Serialisasi XML secara Automatik dalam .NET?
.NET menggunakan himpunan bersiri XML untuk mengurus pensirilan objek dan penyahsirilan. Walaupun himpunan ini biasanya menjana secara automatik, anda mungkin menghadapi ralat FileNotFoundException
semasa membaca XML dengan XmlSerializer
jika ia tiada. Membuat pemasangan secara manual menggunakan sgen.exe
berfungsi, tetapi mengautomasikannya dalam Visual Studio adalah lebih baik.
Cabaran:
Tetapan "Generate Serialization Assembly" Visual Studio tidak selalu boleh dipercayai. Ia menggunakan suis /proxytypes
dengan sgen.exe
, menghalang penjanaan pemasangan jika tiada jenis proksi wujud.
Penyelesaian:
Untuk mengautomasikan penjanaan pemasangan bersiri dengan pasti, pintasan suis /proxytypes
. Ini dicapai dengan menambahkan SGenUseProxyTypes
sifat MSBuild pada fail projek anda dan menetapkannya kepada false
. Ini memaksa penjanaan pemasangan tanpa mengira kehadiran jenis proksi.
Langkah Pelaksanaan:
Edit fail .csproj
projek anda (atau yang setara) dan tambahkan yang berikut dalam bahagian <PropertyGroup>
untuk konfigurasi Nyahpepijat dan Keluaran anda:
<code class="language-xml"><PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'"> <GenerateSerializationAssemblies>On</GenerateSerializationAssemblies> <SGenUseProxyTypes>false</SGenUseProxyTypes> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'"> <GenerateSerializationAssemblies>On</GenerateSerializationAssemblies> <SGenUseProxyTypes>false</SGenUseProxyTypes> </PropertyGroup></code>
Ingat untuk melaraskan x86
keadaan platform jika perlu agar sepadan dengan platform sasaran projek anda (cth., AnyCPU
). Selepas pengubahsuaian ini, Visual Studio akan menjana pemasangan bersiri XML secara automatik, menghalang FileNotFoundException
ralat semasa pensirilan dan penyahsirilan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memaksa Visual Studio untuk Menjana Perhimpunan Serialisasi XML secara Automatik dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!