Dela via


Använda Microsoft XML Serializer Generator på .NET Core

I den här självstudien får du lära dig hur du använder Microsoft XML Serializer Generator i ett C#-program. Under den här självstudiekursen lär du dig:

  • Så här skapar du en .NET-konsolapp
  • Så här lägger du till en referens till paketet Microsoft.XmlSerializer.Generator
  • Så här redigerar du MyApp.csproj för att lägga till beroenden
  • Så här lägger du till en klass och en XmlSerializer
  • Så här skapar och kör du programmet

Precis som Xml Serializer Generator (sgen.exe) för .NET Framework är NuGet-paketet Microsoft.XmlSerializer.Generator motsvarigheten för .NET Core/.NET 5+ och .NET Standard-projekt. Den skapar en sammansättning för XML-serialisering av typer i en assembly för att förbättra startprestanda vid serialisering och avserialisering av objekt av dessa typer med hjälp av XmlSerializer.

Förutsättningar

För att slutföra den här handledningen:

Tips/Råd

Behöver du installera en kodredigerare? Prova Visual Studio!

Följande instruktioner visar hur du använder XML Serializer Generator i ett .NET Core-konsolprogram.

Skapa appen

  1. Öppna en kommandotolk och skapa en mapp med namnet MyApp. Gå till mappen du skapade och skriv följande kommando:

    dotnet new console
    
  2. dotnet package add Använd kommandot för att lägga till en referens till paketet Microsoft.XmlSerializer.Generator.

    dotnet package add Microsoft.XmlSerializer.Generator -v 8.0.0
    

    När du har kört dotnet package add kommandot läggs följande rader till i projektfilen MyApp.csproj :

    <ItemGroup>
       <PackageReference Include="Microsoft.XmlSerializer.Generator" Version="8.0.0" />
    </ItemGroup>
    
  3. Lägg till en verktygsreferens genom att lägga till följande ItemGroup avsnitt i projektfilen.

    <ItemGroup>
       <DotNetCliToolReference Include="Microsoft.XmlSerializer.Generator" Version="8.0.0" />
    </ItemGroup>
    
  4. Öppna Program.cs i textredigeraren. Lägg till en klass med namnet MyClass i Program.cs.

    public class MyClass
    {
       public int Value;
    }
    
  5. Skapa en XmlSerializer för MyClass. Lägg till följande rad i filen Program.cs :

    var serializer = new System.Xml.Serialization.XmlSerializer(typeof(MyClass));
    
  6. Skapa och kör programmet. Kör programmet via dotnet run:

    dotnet run
    

    Appen läser automatiskt in och använder de förgenererade serialiserarna vid körning.

    Tips/Råd

    dotnet run anropar dotnet build för att säkerställa att byggmålen har skapats och anropar dotnet <assembly.dll> sedan för att köra målprogrammet.

Viktigt!

Kommandona och stegen som visas i den här guiden för att köra din applikation används endast under utveckling. När du är redo att distribuera din app kan du ta en titt på de olika distributionsstrategierna för .NET-appar och dotnet publish kommandot.

Om allt lyckas genereras en sammansättning med namnet MyApp.XmlSerializers.dll i utdatamappen.

Grattis! Du har just:

  • Skapade en .NET-konsolapp.
  • Lade till en referens till paketet Microsoft.XmlSerializer.Generator.
  • Redigerade myApp.csproj för att lägga till beroenden.
  • En klass och en XmlSerializer har lagts till.
  • Skapat och kört programmet.

Anpassa XML-serialiseringssammansättningen ytterligare (valfritt)

Lägg till följande XML i MyApp.csproj för att ytterligare anpassa sammansättningsgenereringen:

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