次の方法で共有


.NET Core で Microsoft XML Serializer Generator を使用する

このチュートリアルでは、C# .NET Core アプリケーションで Microsoft XML Serializer Generator を使用する方法について説明します。 このチュートリアルを通して、以下のことを学びます。

  • .NET Core アプリの作成方法
  • Microsoft.XmlSerializer.Generator パッケージへの参照を追加する方法
  • MyApp.csproj を編集して依存関係を追加する方法
  • クラスと XmlSerializer を追加する方法
  • アプリケーションをビルドして実行する方法

.NET Framework の Xml シリアライザー ジェネレーター (sgen.exe) と同様に、Microsoft.XmlSerializer.Generator NuGet パッケージは .NET Core および .NET Standard プロジェクト用の同等のものです。 アセンブリに含まれる型の XML シリアル化アセンブリを作成することで、XmlSerializer を使用してその型のオブジェクトをシリアル化または逆シリアル化するときの XML シリアル化の起動パフォーマンスを改善します。

必須コンポーネント

このチュートリアルを完了するには、次のものが必要です。

ヒント

コード エディターをインストールする必要がありますか。 Visual Studio をお試しください。

.NET Core コンソール アプリケーションで Microsoft XML Serializer Generator を使用する

次の手順では、.NET Core コンソール アプリケーションで XML Serializer Generator を使用する方法について説明します。

.NET Core コンソール アプリケーションを作成する

コマンド プロンプトを開き、MyApp というフォルダーを作成します。 作成したフォルダーに移動し、次のコマンドを入力します。

dotnet new console

MyApp プロジェクトで Microsoft.XmlSerializer.Generator パッケージへの参照を追加する

dotnet add package コマンドを使用して、プロジェクトで参照を追加します。

型:

dotnet add package Microsoft.XmlSerializer.Generator -v 1.0.0

パッケージを追加した後に MyApp.csproj の変更を確認する

コード エディターを開き、始めましょう。 引き続き、アプリをビルドした MyApp ディレクトリから作業します。

テキスト エディターで MyApp.csproj を開きます。

dotnet add package コマンドを実行すると、以下の行が MyApp.csproj プロジェクト ファイルに追加されます。

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

.NET CLI Tool のサポートのために別の ItemGroup セクションを追加する

検査した ItemGroup セクションの後に以下の行を追加します。

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

アプリケーションにクラスを追加する

テキスト エディターで Program.cs を開きます。 MyClass というクラスを Program.cs に追加します。

public class MyClass
{
   public int Value;
}

MyClass 用の XmlSerializer を作成する

Main 内に次の行を追加して MyClass 用の XmlSerializer を作成します。

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

アプリケーションのビルドと実行

MyApp フォルダー内のままで、dotnet run を介してアプリケーションを実行すると、事前生成されたシリアライザーが実行時に自動的に読み込まれ、使用されます。

コンソール ウィンドウに次のコマンドを入力します。

dotnet run

注意

dotnet run は、dotnet build を呼び出してビルド ターゲットがビルドされていることを確認した後、dotnet <assembly.dll> を呼び出してターゲット アプリケーションを実行します。

重要

このチュートリアルで紹介した、アプリケーションを実行するコマンドと手順は、開発時にのみ利用されます。 アプリの展開に進むときは、.NET Core アプリの別の展開方法dotnet publish コマンドを利用した方が効果的な場合もあります。

すべて正常に終了すると、MyApp.XmlSerializers.dll というアセンブリが生成されます。

おめでとうございます! 今回の成果:

  • .NET Core アプリを作成しました。
  • 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>