.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 シリアル化の起動パフォーマンスを改善します。
必須コンポーネント
このチュートリアルを完了するには、次のものが必要です。
- .NET Core 2.1 SDK 以降。
- 任意のコード エディター。
ヒント
コード エディターをインストールする必要がありますか。 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>
関連資料
.NET