Project Description

Xml Typed Serializer Generator (XGenPlus) is a flexible Xml Typed Serializer Generator. It is very flexible to use.

Last Modified - Nov 07, 2007 - Sivakumar Gopalakrishnan, Anoop Madhusudanan

-- - -

-> Provides a set of command line options for createing typed serializer libraries for all types or selected types in an assembly.
-> Allows programmers to create a typed serializer with out actually referreing the typed serializer library directly. For this, XGenPlus.SerializerLib can be used.
-> An MSBuild task is available to integrate XGenPlus in your Build script
-> XGenPlus is also configuration file driven.

It is a better practice to generate your serializers at compile time, instead of using XmlSerializer which effects in run time generation of typed serializers. This will definitely improve your application performance during startup.

Of course, some typed serializer generators already exists - like Microsoft SGen or Mvp.Xml.XGen to generate typed serializers.

Microsoft SGen is not very mature, because it can't generate serializers for a selected set of types. Also it fails to handle a couple of scenarios, and may skip some types with out any warning. Another issue is that, you have to create a strong reference to the typed serializer assembly.

Mvp.Xml.XGen lacks a good command line interface, and expects you to compile your serializer classes along with the assembly itself. XGenPlus combines the advantages of both, and provides you a flexible way to create and use typed serializers.

The MsBuild task will help you to automate XGenPlus in your build, so that typed serializers are generated automatically for the specified assemblies.

---

Usage: XGenPlus /assembly: assemblyname [/exclude:namespace1,namespace2] [/include:namespace1,namespace2] [/reference:assembly1,assembly2] [/copyto:path] [/nocompile] [/nogenerate] [/getconfig:filename] [/putconfig:filename] [/serializeall]

See the readme file for more explanation on these switches.


Last edited Nov 6, 2007 at 6:38 AM by amazedsaint, version 2