Freigeben über


Verwenden des Microsoft XML Serializer Generators auf .NET Core

In diesem Tutorial erfahren Sie, wie Sie den Microsoft XML Serializer Generator in einer .NET Core-Anwendung für C# verwenden. Im Verlauf dieses Tutorials lernen Sie Folgendes:

  • Erstellen einer .NET Core-App
  • Hinzufügen eines Verweises zum Microsoft.XmlSerializer.Generator-Paket
  • Bearbeiten Ihrer MyApp.csproj-Datei zum Hinzufügen von Abhängigkeiten
  • Hinzufügen von „XmlSerializer“ und einer Klasse
  • Erstellen und Ausführen der Anwendung

Das NuGet-Paket „Microsoft.XmlSerializer.Generator“ gilt (wie der XML Serializer Generator (sgen.exe) für .NET Framework) für .NET Core- und .NET Standard-Projekte. Es erstellt eine XML-Serialisierungsassembly für Typen, die in einer Assembly vorhanden sind, um die Startleistung der XML-Serialisierung zu verbessern, wenn Objekte dieser Typen mithilfe von XmlSerializer serialisiert oder deserialisiert werden.

Voraussetzungen

Zum Abschließen dieses Tutorials benötigen Sie Folgendes:

Tipp

Benötigen Sie einen Code-Editor? Testen Sie Visual Studio.

Verwenden des Microsoft XML Serializer Generators in einer .NET Core-Konsolenanwendung

In den folgenden Anweisungen wird erläutert, wie Sie den XML Serializer Generator in einer .NET Core-Konsolenanwendung verwenden.

Erstellen einer .NET Core-Konsolenanwendung

Öffnen Sie eine Eingabeaufforderung, und erstellen Sie einen Ordner mit dem Namen MyApp. Navigieren Sie zum erstellten Ordner, und geben Sie den folgenden Befehl ein:

dotnet new console

Hinzufügen eines Verweises zum Microsoft.XmlSerializer.Generator-Paket im MyApp-Projekt

Verwenden Sie den dotnet add package-Befehl, um den Verweis Ihrem Projekt hinzuzufügen.

Typ:

dotnet add package Microsoft.XmlSerializer.Generator -v 1.0.0

Überprüfen der Änderungen an der MyApp.csproj-Datei nach dem Hinzufügen des Pakets

Öffnen Sie Ihren Code-Editor, um zu beginnen. Sie arbeiten weiterhin mit dem MyApp-Verzeichnis, in dem die App erstellt wurde.

Öffnen Sie MyApp.csproj in Ihrem Text-Editor.

Wenn Sie den Befehl dotnet add package ausführen, werden die folgenden Zeilen zu Ihrer MyApp.csproj-Projektdatei hinzugefügt:

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

Hinzufügen eines weiteren ItemGroup-Abschnitts zur Unterstützung des .NET-CLI-Tools

Fügen Sie nach dem zuvor betrachteten Abschnitt ItemGroup die folgenden Zeilen hinzu:

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

Hinzufügen einer Klasse zu der Anwendung

Öffnen Sie Program.cs in Ihrem Text-Editor. Fügen Sie die Klasse mit dem Namen MyClass unter Program.cs hinzu.

public class MyClass
{
   public int Value;
}

Erstellen eines XmlSerializer für MyClass

Fügen Sie die folgende Zeile unter Main hinzu, um einen XmlSerializer für MyClass zu erstellen:

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

Erstellen eines Builds und Ausführen der Anwendung

Führen Sie (immer noch im Ordner MyApp) die Anwendung über dotnet run aus. Dann werden die zuvor generierten Serializer zur Laufzeit automatisch geladen und verwendet.

Geben Sie den folgenden Befehl in Ihr Konsolenfenster ein:

dotnet run

Hinweis

dotnet run ruft dotnet build auf, um sicherzustellen, dass die Buildziele erstellt wurden, und ruft anschließend dotnet <assembly.dll> auf, um die Zielanwendung auszuführen.

Wichtig

Die Befehle und Schritte zum Ausführen der Anwendung, die in diesem Tutorial dargestellt werden, werden nur während zur Entwicklungszeit verwendet. Wenn Ihre Anwendung bereitgestellt werden kann, sollten Sie einen Blick auf die verschiedenen Bereitstellungsstrategien für .NET Core-Apps und den dotnet publish-Befehl werfen.

Wenn alle Vorgänge erfolgreich ausgeführt werden, wird eine Assembly mit dem Namen MyApp.XmlSerializers.dll im Ausgabeordner generiert.

Herzlichen Glückwunsch! Sie haben gerade:

  • eine lokale .NET Core-App erstellt
  • einen Verweis zum Microsoft.XmlSerializer.Generator-Paket hinzugefügt
  • Ihre MyApp.csproj-Datei bearbeitet, um Abhängigkeiten hinzuzufügen
  • „XmlSerializer“ und eine Klasse hinzugefügt
  • die Anwendung erstellt und ausgeführt

Weitere Anpassung der XML-Serialisierungsassembly (optional)

Fügen Sie Ihrer MyApp.csproj-Datei den folgenden XML-Code hinzu, um die Assemblygenerierung weiter anzupassen:

<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>