Partilhar via


Ferramenta XML Serializer Generator (Sgen.exe)

O XML Serializer Generator cria um assembly de serialização XML para tipos em um assembly especificado. O assembly de serialização melhora o desempenho de inicialização de um XmlSerializer quando serializa ou desserializa objetos dos tipos especificados.

Nota

Essa ferramenta é específica para assemblies do .NET Framework. Para gerar serializadores XML para assemblies .NET (Core), consulte Usar o Microsoft XML Serializer Generator no .NET Core.

Sintaxe

Execute a ferramenta a partir da linha de comando.

sgen [options]

Gorjeta

Para que as ferramentas do .NET Framework funcionem corretamente, você deve usar o Visual Studio Developer Command Prompt ou o Visual Studio Developer PowerShell ou definir as Pathvariáveis , Includee Lib de ambiente corretamente. Para definir essas variáveis de ambiente, execute SDKVars.bat, que está localizado no< diretório SDK>\<version>\Bin.

Parâmetros

Opção Description
/a[ssembly]:nome do arquivo Gera código de serialização para todos os tipos contidos no assembly ou executável especificado pelo nome do arquivo. Apenas um nome de arquivo pode ser fornecido. Se esse argumento for repetido, o último nome de arquivo será usado.
/c[ompiler]:opções Especifica as opções a serem passadas para o compilador C#. Todas as opções csc.exe são suportadas à medida que são passadas para o compilador. Isso pode ser usado para especificar que o assembly deve ser assinado e para especificar o arquivo de chave.
/d[ebug] Gera uma imagem que pode ser usada com um depurador.
/f[orce] Força a substituição de um assembly existente com o mesmo nome. O padrão é false.
/help ou /? Exibe a sintaxe do comando e as opções da ferramenta.
/k[eep] Suprime a exclusão dos arquivos de origem gerados e outros arquivos temporários depois que eles foram compilados no assembly de serialização. Isso pode ser usado para determinar se a ferramenta está gerando código de serialização para um tipo específico.
/n[ologo] Suprime a exibição do banner de inicialização da Microsoft.
/o[ut]:caminho Especifica o diretório no qual salvar o assembly gerado. Nota: O nome do assembly gerado é composto pelo nome do assembly de entrada mais "xmlSerializers.dll".
/p[roxitipos] Gera código de serialização somente para os tipos de proxy XML Web Service.
/r[eference]:assemblyfiles Especifica os assemblies que são referenciados pelos tipos que exigem serialização XML. Aceita vários arquivos de montagem separados por vírgulas.
/s[ilent] Suprime a exibição de mensagens de sucesso.
/t[ype]:tipo Gera código de serialização somente para o tipo especificado.
/v[erbose] Exibe a saída detalhada para depuração. Lista os tipos do assembly de destino que não podem ser serializados com o XmlSerializer.
/? Exibe a sintaxe do comando e as opções da ferramenta.

Observações

Quando o XML Serializer Generator não é usado, XmlSerializer gera código de serialização e um assembly de serialização para cada tipo sempre que um aplicativo é executado. Para melhorar o desempenho da inicialização da serialização XML, use a ferramenta Sgen.exe para gerar esses assemblies antecipadamente. Esses assemblies podem ser implantados com o aplicativo.

O XML Serializer Generator também pode melhorar o desempenho de clientes que usam proxies de serviço Web XML para se comunicar com servidores, porque o processo de serialização não incorrerá em um impacto de desempenho quando o tipo for carregado pela primeira vez.

Os assemblies gerados não podem ser usados no lado do servidor de um serviço Web. Esta ferramenta é apenas para clientes de serviço Web e cenários de serialização manual.

Nota

A sgen ferramenta não é compatível com setters somente init. A ferramenta falhará se o assembly de destino contiver quaisquer propriedades públicas que usem esse recurso.

Atribuição de nomes

Se o assembly que contém o tipo a serializar for nomeado MyType.dll, o assembly de serialização associado será nomeado MyType.XmlSerializers.dll.

Exemplos

O comando a seguir cria um assembly chamado Data.XmlSerializers.dll para serializar todos os tipos contidos no assembly chamado Data.dll.

sgen Data.dll

O assembly Data.XmlSerializers.dll pode ser referenciado a partir do código que precisa serializar e desserializar os tipos em Data.dll.

Consulte também