Menggunakan Generator Serializer Microsoft XML di .NET Core

Tutorial ini mengajarkan Anda cara menggunakan Microsoft XML Serializer Generator dalam aplikasi C# .NET Core. Selama tutorial ini, Anda belajar:

  • Cara membuat aplikasi .NET Core
  • Cara menambahkan referensi ke paket Microsoft.XmlSerializer.Generator
  • Cara mengedit MyApp.csproj Anda untuk menambahkan dependensi
  • Cara menambahkan kelas dan XmlSerializer
  • Cara membangun dan menjalankan aplikasi

Seperti Generator Serializer Xml (sgen.exe) untuk .NET Framework, paket Microsoft.XmlSerializer.Generator NuGet setara untuk proyek .NET Core dan .NET Standard. Ini membuat rakitan serialisasi XML untuk jenis yang terkandung dalam perakitan untuk meningkatkan performa startup serialisasi XML saat membuat serialisasi atau membatalkan serialisasi objek dari jenis tersebut menggunakan XmlSerializer.

Prasyarat

Untuk menyelesaikan tutorial ini:

Tip

Perlu memasang editor kode? Coba Visual Studio!

Menggunakan Generator Serializer Microsoft XML dalam aplikasi konsol .NET Core

Instruksi berikut menunjukkan cara menggunakan Generator Serializer XML dalam aplikasi konsol .NET Core.

Membuat aplikasi konsol .NET Core

Buka perintah dan buat folder bernama MyApp. Navigasi ke folder yang Anda buat dan ketik perintah berikut:

dotnet new console

Menambahkan referensi ke paket Microsoft.XmlSerializer.Generator di proyek MyApp

dotnet add package Gunakan perintah untuk menambahkan referensi dalam proyek Anda.

Jenis:

dotnet add package Microsoft.XmlSerializer.Generator -v 1.0.0

Verifikasi perubahan pada MyApp.csproj setelah menambahkan paket

Buka editor kode Anda dan mari kita mulai! Kami masih bekerja dari direktori MyApp tempat kami membangun aplikasi.

Buka MyApp.csproj di editor teks Anda.

Setelah menjalankan dotnet add package perintah, baris berikut ditambahkan ke file proyek MyApp.csproj Anda:

<ItemGroup>
   <PackageReference Include="Microsoft.XmlSerializer.Generator" Version="1.0.0" />
</ItemGroup>

Tambahkan bagian ItemGroup lain untuk dukungan Alat .NET CLI

Tambahkan baris berikut setelah bagian ItemGroup yang kami periksa:

<ItemGroup>
   <DotNetCliToolReference Include="Microsoft.XmlSerializer.Generator" Version="1.0.0" />
</ItemGroup>

Menambahkan kelas dalam aplikasi

Buka Program.cs di editor teks Anda. Tambahkan kelas bernama MyClass di Program.cs.

public class MyClass
{
   public int Value;
}

XmlSerializer Membuat untuk MyClass

Tambahkan baris berikut di dalam Main untuk membuat XmlSerializer untuk MyClass:

var serializer = new System.Xml.Serialization.XmlSerializer(typeof(MyClass));

Membangun dan menjalankan aplikasi

Masih dalam folder MyApp , jalankan aplikasi melalui dotnet run dan secara otomatis memuat dan menggunakan serializer yang telah dibuat sebelumnya pada durasi.

Ketik perintah berikut di jendela konsol Anda:

dotnet run

Catatan

dotnet rundotnet build panggilan untuk memastikan bahwa target build telah dibangun, lalu memanggil dotnet <assembly.dll> untuk menjalankan aplikasi target.

Penting

Perintah dan langkah-langkah yang ditunjukkan dalam tutorial ini untuk menjalankan aplikasi Anda hanya digunakan selama waktu pengembangan. Setelah Anda siap untuk menyebarkan aplikasi, lihat strategi penyebaran yang berbeda untuk aplikasi .NET Core dan dotnet publish perintah .

Jika semuanya berhasil, rakitan bernama MyApp.XmlSerializers.dll dihasilkan dalam folder output.

Selamat! Anda baru saja:

  • Membuat aplikasi .NET Core.
  • Menambahkan referensi ke paket Microsoft.XmlSerializer.Generator.
  • Mengedit MyApp.csproj Anda untuk menambahkan dependensi.
  • Menambahkan kelas dan XmlSerializer.
  • Membangun dan menjalankan aplikasi.

Kustomisasi rakitan serialisasi XML lebih lanjut (opsional)

Tambahkan XML berikut ke MyApp.csproj Anda untuk menyesuaikan pembuatan perakitan lebih lanjut:

<PropertyGroup>
    <SGenReferences>C:\myfolder\abc.dll;C:\myfolder\def.dll</SGenReferences>
    <SGenTypes>MyApp.MyClass;MyApp.MyClass1</SGenTypes>
    <SGenProxyTypes>false</SGenProxyTypes>
    <SGenVerbose>true</SGenVerbose>
    <SGenKeyFile>mykey.snk</SGenKeyFile>
    <SGenDelaySign>true</SGenDelaySign>
</PropertyGroup>