Compartir a través de


Herramienta Generador de serializador XML (Sgen.exe)

El generador de serializador XML crea un ensamblado de serialización XML para los tipos de un ensamblado especificado. El ensamblado de serialización mejora el rendimiento de inicio de cuando XmlSerializer serializa o deserializa objetos de los tipos especificados.

Nota:

Esta herramienta es específica de los ensamblados de .NET Framework. Para generar serializadores XML para ensamblados de .NET (Core), consulte Uso del generador de serializadorES XML de Microsoft en .NET Core.

Sintaxis

Ejecute la herramienta desde la línea de comandos.

sgen [options]

Sugerencia

Para que las herramientas de .NET Framework funcionen correctamente, debe usar el símbolo del sistema para desarrolladores de Visual Studio o Visual Studio Developer PowerShell o establecer correctamente las Pathvariables de entorno , Includey Lib . Para establecer estas variables de entorno, ejecute SDKVars.bat, que se encuentra en el <directorio SDK>\<version>\Bin .

Parámetros

Opción Descripción
/a[ssembly]:filename Genera código de serialización para todos los tipos contenidos en el ensamblado o archivo ejecutable especificado por nombre de archivo. Solo se puede proporcionar un nombre de archivo. Si se repite este argumento, se usa el apellido del archivo.
/c[ompiler]:options Especifica las opciones que se van a pasar al compilador de C#. Todas las opciones de csc.exe se admiten a medida que se pasan al compilador. Esto se puede usar para especificar que el ensamblado se debe firmar y especificar el archivo de clave.
/d[ebug] Genera una imagen que se puede usar con un depurador.
/f[orce] Fuerza la sobrescritura de un ensamblado existente con el mismo nombre. El valor predeterminado es false.
/help o /? Muestra las opciones y la sintaxis de los comandos para la herramienta.
/k[eep] Suprime la eliminación de los archivos de origen generados y otros archivos temporales después de que se hayan compilado en el ensamblado de serialización. Esto se puede usar para determinar si la herramienta está generando código de serialización para un tipo determinado.
/n[ologo] Suprime la presentación del banner de inicio de Microsoft.
/o[ut]:path Especifica el directorio en el que se va a guardar el ensamblado generado. Nota: El nombre del ensamblado generado se compone del nombre del ensamblado de entrada más "xmlSerializers.dll".
/p[roxytypes] Genera código de serialización solo para los tipos de proxy de servicio web XML.
/r[eference]:assemblyfiles Especifica los ensamblados a los que hacen referencia los tipos que requieren serialización XML. Acepta varios archivos de ensamblado separados por comas.
/s[lent] Suprime la presentación de mensajes de aprobación.
/t[ype]:type Genera código de serialización solo para el tipo especificado.
/v[erbose] Muestra la salida detallada para la depuración. Enumera los tipos del ensamblado de destino que no se pueden serializar con .XmlSerializer
/? Muestra las opciones y la sintaxis de los comandos para la herramienta.

Observaciones

Cuando no se usa el generador de serializador XML, XmlSerializer genera código de serialización y un ensamblado de serialización para cada tipo cada vez que se ejecuta una aplicación. Para mejorar el rendimiento del inicio de la serialización XML, use la herramienta Sgen.exe para generar esos ensamblados de antemano. Estos ensamblados se pueden implementar con la aplicación.

El generador de serializador XML también puede mejorar el rendimiento de los clientes que usan servidores proxy de servicio web XML para comunicarse con servidores, ya que el proceso de serialización no incurrirá en un impacto de rendimiento cuando el tipo se carga por primera vez.

Los ensamblados generados no se pueden usar en el lado servidor de un servicio web. Esta herramienta solo es para clientes de servicios web y escenarios de serialización manual.

Nota:

La sgen herramienta no es compatible con establecedores de solo inicialización . Se producirá un error en la herramienta si el ensamblado de destino contiene cualquier propiedad pública que use esta característica.

Nomenclatura

Si el ensamblado que contiene el tipo que se va a serializar se denomina MyType.dll, el ensamblado de serialización asociado se denominará MyType.XmlSerializers.dll.

Ejemplos

El comando siguiente crea un ensamblado denominado Data.XmlSerializers.dll para serializar todos los tipos contenidos en el ensamblado denominado Data.dll.

sgen Data.dll

Se puede hacer referencia al ensamblado Data.XmlSerializers.dll desde el código que debe serializar y deserializar los tipos de Data.dll.

Consulte también