Generator voor XML-serialisatie gebruiken in Microsoft op .NET

In deze zelfstudie leert u hoe u de Microsoft XML Serializer Generator gebruikt in een C#-toepassing. Tijdens deze zelfstudie leert u het volgende:

  • Een .NET-console-app maken
  • Een verwijzing toevoegen aan het Microsoft.XmlSerializer.Generator-pakket
  • Uw MyApp.csproj bewerken om afhankelijkheden toe te voegen
  • Een klasse en een XmlSerializer toevoegen
  • De toepassing bouwen en uitvoeren

Net als de XML Serializer Generator (sgen.exe) voor .NET Framework, de Microsoft. XmlSerializer.Generator NuGet-pakket is het equivalent voor moderne .NET. Er wordt een XML-serialisatieassembly gemaakt voor typen die in een assembly zijn opgenomen om de opstartprestaties van XML-serialisatie te verbeteren bij het serialiseren of deserialiseren van objecten van deze typen met behulp van XmlSerializer.

Vereiste voorwaarden

Om deze tutorial te voltooien:

Hint

Wilt u een code-editor installeren? Probeer Visual Studio.

De volgende instructies laten zien hoe u XML Serializer Generator gebruikt in een .NET-consoletoepassing.

De app maken

  1. Open een opdrachtprompt en maak een map met de naam MyApp. Navigeer naar de map die u hebt gemaakt en typ de volgende opdracht:

    dotnet new console
    
  2. Voeg een verwijzing toe naar het Microsoft.XmlSerializer.Generator-pakket.

    dotnet add package Microsoft.XmlSerializer.Generator -v 10.0.0
    

    Nadat u deze opdracht hebt uitgevoerd, worden de volgende regels toegevoegd aan het projectbestand MyApp.csproj :

    <ItemGroup>
       <PackageReference Include="Microsoft.XmlSerializer.Generator" Version="10.0.0" />
    </ItemGroup>
    
  3. Open Program.cs in de teksteditor. Voeg een klasse toe met de naam MyClass in Program.cs.

    public class MyClass
    {
       public int Value;
    }
    
  4. Maak een XmlSerializer voor MyClass. Voeg de volgende regel toe aan het bestand Program.cs :

    var serializer = new System.Xml.Serialization.XmlSerializer(typeof(MyClass));
    
  5. Bouw en voer de toepassing uit. Voer de toepassing uit via dotnet run:

    dotnet run
    

    De app wordt automatisch geladen en gebruikt de vooraf gegenereerde serializers tijdens runtime.

    Hint

    dotnet run roept dotnet build aan om ervoor te zorgen dat de builddoelen zijn gebouwd en roept daarna dotnet <assembly.dll> aan om de doeltoepassing uit te voeren.

Belangrijk

De opdrachten en stappen die in deze zelfstudie worden weergegeven om uw toepassing uit te voeren, worden alleen gebruikt tijdens de ontwikkeltijd. Zodra u klaar bent om uw app te implementeren, bekijkt u de verschillende implementatiestrategieƫn voor .NET-apps en de dotnet publish opdracht.

Als alles slaagt, wordt er een assembly met de naam MyApp.XmlSerializers.dll gegenereerd in de uitvoermap.

Gefeliciteerd! U hebt alleen het volgende:

  • Er is een .NET-console-app gemaakt.
  • Er is een verwijzing toegevoegd naar het pakket Microsoft.XmlSerializer.Generator.
  • Uw MyApp.csproj bewerkt om afhankelijkheden toe te voegen.
  • Er is een klasse en een XmlSerializer toegevoegd.
  • Bouw en voer de toepassing uit.

XML-serialisatie-assembly verder aanpassen (optioneel)

Voeg de volgende XML toe aan uw MyApp.csproj om de assemblygeneratie verder aan te passen:

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