在本教學課程中,您將瞭解如何在 C# 應用程式中使用 Microsoft XML 串行化程式產生器。 在這個教學過程中,你會學到:
- 如何建立 .NET 控制台應用程式
- 如何新增 Microsoft.XmlSerializer.Generator 套件的參考項
- 如何編輯 MyApp.csproj 以新增相依性
- 如何添加一個類別和一個XmlSerializer
- 如何建置和執行應用程式
如同 .NET Framework 的 Xml 串行化程序產生器 (sgen.exe),Microsoft.XmlSerializer.Generator NuGet 套件相當於 .NET Core/.NET 5+ 和 .NET Standard 專案。 它會為組件中所包含的型別建立 XML 序列化組件,以提升在使用 XmlSerializer 進行這些型別的物件序列化或反序列化時的啟動效能。
先決條件
若要完成本教學課程:
- .NET Core 2.1 SDK 或更新版本。
- 您慣用的程式代碼編輯器。
小提示
需要安裝程式代碼編輯器嗎? 請嘗試 Visual Studio!
下列指示說明如何在 .NET Core 控制台應用程式中使用 XML 串行化程式產生器。
建立應用程式
開啟命令提示字元,並建立名為 MyApp 的資料夾。 瀏覽至您建立的資料夾,然後輸入下列命令:
dotnet new console新增對 Microsoft.XmlSerializer.Generator 套件的參考。
dotnet add package Microsoft.XmlSerializer.Generator -v 8.0.0執行此指令後,以下行會加入您的 MyApp.csproj 專案檔案:
<ItemGroup> <PackageReference Include="Microsoft.XmlSerializer.Generator" Version="8.0.0" /> </ItemGroup>將下列
ItemGroup區段新增至項目檔,以新增工具參考。<ItemGroup> <DotNetCliToolReference Include="Microsoft.XmlSerializer.Generator" Version="8.0.0" /> </ItemGroup>在文本編輯器中開啟 Program.cs 。 在 Program.cs 中新增名為 MyClass 的類別。
public class MyClass { public int Value; }建立一個
XmlSerializer為MyClass。 將下列這一行新增至 Program.cs 檔案:var serializer = new System.Xml.Serialization.XmlSerializer(typeof(MyClass));建置並執行應用程式。 透過
dotnet run執行應用程式:dotnet run應用程式會在執行時自動載入並使用預生成的序列化器。
小提示
dotnet run呼叫dotnet build以確保建置目標已建置,然後呼叫dotnet <assembly.dll>以執行目標應用程式。
這很重要
本教學課程中用來執行應用程式的命令和步驟只會在開發期間使用。 準備好部署應用程式之後,請查看 .NET 應用程式和 命令的不同dotnet publish。
如果一切成功,則會在輸出資料夾中產生名為 MyApp.XmlSerializers.dll 的元件。
祝賀! 您只需要:
- 已建立 .NET 主控台應用程式。
- 新增了對 Microsoft.XmlSerializer.Generator 套件的參考。
- 編輯 MyApp.csproj 以新增相依性。
- 已新增 類別和 XmlSerializer。
- 建置並執行應用程式。
進一步自訂 XML 串行化元件 (選擇性)
將下列 XML 新增至 MyApp.csproj ,以進一步自訂元件產生:
<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>